Skip to content

Unify project setup flow and simplify dev init routing#36

Merged
jonathonbyrdziak merged 1 commit intomasterfrom
fix/unified-setup-flow
Mar 20, 2026
Merged

Unify project setup flow and simplify dev init routing#36
jonathonbyrdziak merged 1 commit intomasterfrom
fix/unified-setup-flow

Conversation

@jonathonbyrdziak
Copy link
Copy Markdown
Contributor

Summary

Replaces the separate flowNewProject and flowExistingProject with a single flowSetupProject. The full development init path is now deterministic based on project state:

protocol init → Development

No .git:
  → "Repository URL: ___"
  → inits git, sets remote, runs setup

Has .git, no protocol.json:
  → "New Project"
  → "Install Protocol in /path/to/project ? [Y/n]"
  → checks docker-compose.yml, sets up container if missing
  → creates protocol.json

Has protocol.json, old schema:
  → "Migration Required — v0 → v1"
  → "Migrate to the latest version? [Y/n]"

Has protocol.json, current, no config repo:
  → "Protocol is installed and up to date"
  → "Set up a configuration repository? [y/N]"

Has protocol.json, current, has config:
  → "All set!"

Removes deployment strategy, secrets, and config repo questions from dev setup — those are production/staging concerns handled by the slave node flow.

Test plan

  • protocol init → dev → in dir without .git → prompts for repo URL
  • protocol init → dev → in git repo, no protocol.json → confirms install, checks Docker
  • protocol init → dev → has protocol.json v0 → migration prompt
  • protocol init → dev → has current protocol.json, no config → offers config setup
  • protocol init → dev → fully configured → shows "All set!"

🤖 Generated with Claude Code

Replaces separate flowNewProject and flowExistingProject with a
single flowSetupProject. The development init path now:

- No .git: asks for repository URL, inits git, runs setup
- Has .git, no protocol.json: confirms install, runs setup
- Has protocol.json, old schema: offers migration
- Has protocol.json, current, no config repo: offers config setup
- Has protocol.json, current, has config: "All set!"

The unified setup flow checks for docker-compose.yml and only
asks about Docker containers when one is missing. Removes
deployment strategy, secrets, and config repo questions from the
dev setup since those are production concerns.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jonathonbyrdziak jonathonbyrdziak merged commit 5dcedfc into master Mar 20, 2026
6 of 8 checks passed
@jonathonbyrdziak jonathonbyrdziak deleted the fix/unified-setup-flow branch March 20, 2026 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant