solo-setup
v2.1.1Auto-generate project workflow config (docs/workflow.md) from existing PRD and CLAUDE.md with zero questions. Use when user says "set up workflow", "configure TDD", "wire up dev workflow", or after running /scaffold before /plan. Do NOT use for founder setup (use /init) or project scaffolding (use /...
Installation
/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
$ARGUMENTSis provided, look for a project with that name in the current directory orprojects_dirfrom~/.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.mdexists, warn and ask whether to regenerate. -
Read project data (parallel — all reads at once):
CLAUDE.md— tech stack, architecture, commands, Do/Don'tdocs/prd.md— problem, users, solution, features, metrics, pricingpackage.jsonorpyproject.toml— exact dependency versionsMakefile— 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_searchavailable: search for stack template and dev-principles. - Otherwise: look for
stacks/<stack>.yamlanddev-principles.mdin.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→ TypeScriptpyproject.toml→ Python*.xcodeprojorPackage.swift→ Swift-
build.gradle.kts→ Kotlin -
Create docs directory if needed:
bash mkdir -p docs -
Generate
docs/workflow.md: Based on dev-principles (from MCP/KB or built-in defaults): ```markdown # 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
## 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.