Daily Workflow
The Gen-X contributor workflow involves keeping three processes in sync at all times: the generator itself (gen-x), the Depicter that produces your target app, and the target app running locally. This page describes the sequence to follow at the start of each working session — and after every reboot — so all three remain consistent.
1. Sync with Remote
Open the Devt GUI at localhost:8077 and click Git sync project in the top-right corner to check the remote status of all registered projects. Then pull the latest changes in your gen-x directory.
📝 Note: Stash any local modifications before pulling to avoid merge conflicts. Use
git stashbeforegit pull, thengit stash popafter the pull completes if your changes are still relevant.
cd ~/go/src/gen-x
git stash # if you have local changes, -u flag for untracked files
git pull
git stash pop # if you stashed changes
2. Open Terminal Tabs
Before running any commands, open three terminal tabs and position each one in the correct directory. Having them ready in advance avoids context-switching mid-workflow.
| Tab | Directory | Purpose |
|---|---|---|
| First | gen-x |
Running tdd |
| Second | gen-x |
Running the Depicter |
| Third | Current project | Running bird to start the app |
3. Run TDD
From the first terminal tab (inside gen-x), start the TDD script. This runs the test suite and watches for changes that require acceptance.
tdd
📝 Note: If
tddpauses and prompts you to accept changes, press Super + X (the Accept keyboard shortcut) to confirm, then re-runtdd. Thetddcommand must also be run after every computer reboot before you begin working.
4. Run the Depicter
From the second terminal tab (inside gen-x), run the Depicter for your target project. The git checkout go.mod at the end restores the project’s go.mod to its committed state, preventing the generator from accidentally overwriting custom dependency pins.
ENV=dev go run main.go depict PROJECT_NAME && git -C ~/go/src/PROJECT_NAME checkout go.mod
📝 Note: If
go.modmodifications must be preserved — for example, a pinned KitCla version tag or other custom dependencies — run the Depicter without thego.modrestore, then manually install the new dependencies:ENV=dev go run main.go depict PROJECT_NAME cd ~/go/src/PROJECT_NAME && go mod vendor💡 Tip: If you encounter errors during the Depicter run, try creating the target directory manually first:
mkdir ~/go/src/PROJECT_NAME-next, then re-run the Depicter.
5. Start the App
From the third terminal tab, navigate to your current project directory and start it with the bird alias. The alias chains the build, init, and run scripts in the correct order.
cd ~/go/src/PROJECT_NAME
bird
The app will be available at localhost:8086.
Next Steps
- Creating a New Application — register a new project in ATC and run the Depicter for the first time
- Modifying an Existing Application — how to make lasting changes to a generated app without losing them on the next Depicter run