/setup
Auto-generate project workflow config from existing PRD and CLAUDE.md. Zero interactive questions — all answers extracted from project data that already exists after /scaffold.
When to use
After /scaffold creates a project, before /plan. Creates docs/workflow.md so /plan and /build can work.
MCP Tools (use if available)
project_info(name)— get project details, detected stackkb_search(query)— search for dev principles, manifest, stack templatescodegraph_query(query)— check project dependencies in code graph
If MCP tools are not available, fall back to reading local files only.
Steps
- Detect project root:
- If $ARGUMENTS is provided, look for a project with that name in the current directory or projects_dir from ~/.solo-factory/defaults.yaml. - Otherwise use current working directory. - Verify the directory exists and has CLAUDE.md. - If not found, ask via AskUserQuestion.
- Check if already initialized:
- If docs/workflow.md exists, warn and ask whether to regenerate.
- Read project data (parallel — all reads at once):
- CLAUDE.md — tech stack, architecture, commands, Do/Don't - docs/prd.md — problem, users, solution, features, metrics, pricing - package.json or pyproject.toml — exact dependency versions - Makefile — available commands - Linter configs (.eslintrc*, eslint.config.*, .swiftlint.yml, ruff.toml, detekt.yml)
- Read ecosystem sources (optional — enhances quality):
- Detect stack name from CLAUDE.md (look for "Stack:" or the stack name in tech section). - If MCP kb_search available: search for stack template and dev-principles. - Otherwise: look for stacks/<stack>.yaml and dev-principles.md + dev-principles-my.md (personal extensions) in .solo/ or plugin templates directory (if accessible). - If neither available: derive all info from CLAUDE.md + package manifest (sufficient).
- Detect languages from package manifest:
- package.json → TypeScript - pyproject.toml → Python - *.xcodeproj or Package.swift → Swift - build.gradle.kts → Kotlin
- Create docs directory if needed:
mkdir -p docs - Generate
docs/workflow.md: Based on dev-principles (from MCP/KB or built-in defaults): `# Workflow — {ProjectName} ## TDD Policy **Moderate** — Tests encouraged but not blocking. Write tests for: - Business logic and validation - API route handlers - Complex algorithms Tests optional for: UI components, one-off scripts, prototypes. ## Test Framework {from package manifest devDeps: vitest/jest/pytest/xctest} ## Commit Strategy **Conventional Commits** Format:<type>(<scope>): <description>Types: feat, fix, refactor, test, docs, chore, perf, style ## Verification Checkpoints **After each phase completion:** 1. Run tests — all pass 2. Run linter — no errors 3. Run build — successful (if applicable) 4. Manual smoke test ## Branch Strategy -main— production-ready -feat/<track-id>— feature branches -fix/<description>— hotfixes` - Update
CLAUDE.md— add workflow reference to Key Documents section if not present. - Show summary and suggest next step:
Setup complete for {ProjectName}! Created: docs/workflow.md — TDD moderate, conventional commits Next: /plan "Your first feature"
Common Issues
CLAUDE.md not found
Cause: Project not scaffolded or running from wrong directory. Fix: Run /scaffold first, or ensure you're in the project root with CLAUDE.md.
workflow.md already exists
Cause: Previously set up. Fix: Skill warns and asks whether to regenerate. Existing file is preserved unless you confirm overwrite.
Wrong test framework detected
Cause: Multiple test frameworks in devDependencies. Fix: Skill picks the first found. Edit docs/workflow.md manually to specify the correct framework.