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 stash before git pull, then git stash pop after 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 tdd pauses and prompts you to accept changes, press Super + X (the Accept keyboard shortcut) to confirm, then re-run tdd. The tdd command 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.mod modifications must be preserved — for example, a pinned KitCla version tag or other custom dependencies — run the Depicter without the go.mod restore, 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