Skip to content
dhanu docs
Browse pages

Tasks

GitHub and exporting code

The code is yours — download the whole app as a runnable project, or connect a GitHub repository and push and pull changes between it and Dhanu.

Nothing about an app locks it inside Dhanu. There are two ways to take the code out, and one of them is a two-way street.

Download the project

Settings → General → Export gives you a ZIP of the whole app as a real, runnable project:

In the ZIPWhat it is
README.mdHow to run it, and what it was configured with
client/A Vite + React project — package.json, TypeScript and Tailwind config, index.html
client/src/Every file of your app, plus the component kit its theme uses
client/public/Any images or sound the app uses
functions/Your backend functions, if the app has any
.env.exampleThe settings a self-hosted copy would need

Install and run it and you have your app, off Dhanu, on your own machine.

You can also grab a single file from the Code view, or all of them as an archive, without going through settings.

Connect GitHub

The GitHub tab links an app to a repository.

  1. Connect your GitHub account. A standard authorisation window; you stay in control of what Dhanu may access.
  2. Choose an owner and a repository name. Dhanu creates the repository, or adopts an existing empty one.
  3. Push. The app’s current files are committed to the repository.

Once linked, the tab shows which version was last pushed and when.

Push and pull

Push sends what is in Dhanu to GitHub.

Pull brings what is in GitHub back into the app — the repository becomes the app’s files. That is how a developer on your team can edit the code properly in an editor, commit, and have you pull their work back into the app you keep building by conversation.

A pull is recorded as a normal version authored by you, so it appears in version history like any other change and can be restored away from if it goes wrong.

Disconnect unlinks the repository. Nothing is deleted on either side.

Working with it well

Pull before you ask for more changes. If someone has been editing in GitHub, pull first — otherwise your next request builds on the older code and the two diverge.

Keep one direction per session. Push after a conversation, pull after editing in GitHub. Alternating mid-change is how you lose work.

Exporting is not leaving. A download is a snapshot; the app in Dhanu keeps working, publishing and collecting traffic exactly as before.