solo-setup
Original:🇺🇸 English
Translated
Auto-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 /scaffold).
3installs
Sourcefortunto2/solo-factory
Added on
NPX Install
npx skill4agent add fortunto2/solo-factory solo-setupTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →/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 .
/scaffoldWhen to use
After creates a project, before . Creates so and can work.
/scaffold/plandocs/workflow.md/plan/buildMCP Tools (use if available)
- — get project details, detected stack
project_info(name) - — search for dev principles, manifest, stack templates
kb_search(query) - — check project dependencies in code graph
codegraph_query(query)
If MCP tools are not available, fall back to reading local files only.
Steps
-
Detect project root:
- If is provided, look for a project with that name in the current directory or
$ARGUMENTSfromprojects_dir.~/.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 exists, warn and ask whether to regenerate.
docs/workflow.md
- If
-
Read project data (parallel — all reads at once):
- — tech stack, architecture, commands, Do/Don't
CLAUDE.md - — problem, users, solution, features, metrics, pricing
docs/prd.md - or
package.json— exact dependency versionspyproject.toml - — available commands
Makefile - 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 available: search for stack template and dev-principles.
kb_search - Otherwise: look for and
stacks/<stack>.yamlindev-principles.mdor plugin templates directory (if accessible)..solo/ - If neither available: derive all info from CLAUDE.md + package manifest (sufficient).
-
Detect languages from package manifest:
- → TypeScript
package.json - → Python
pyproject.toml - or
*.xcodeproj→ SwiftPackage.swift - → Kotlin
build.gradle.kts
-
Create docs directory if needed:bash
mkdir -p docs -
Generate: Based on dev-principles (from MCP/KB or built-in defaults):
docs/workflow.mdmarkdown# 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— add workflow reference to Key Documents section if not present.
CLAUDE.md -
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 first, or ensure you're in the project root with CLAUDE.md.
/scaffoldworkflow.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 manually to specify the correct framework.
docs/workflow.md