/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.
- If
-
Check if already initialized:
- If
docs/workflow.mdexists, warn and ask whether to regenerate.
- If
-
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→ Swiftbuild.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.