07. Starting a new Project
Use this when there is no Git repository yet, or when the repository exists but is essentially a blank slate with little code.
07. Starting a new Project
When to use this flow
Use this when there is no Git repository yet, or when the repository exists but is essentially a blank slate with little code. If you are trying to understand an unfamiliar repo that already has code, go to 08. Entering an existing Repo for the first time instead. These flows move in opposite directions and should not be used together in the same session.
Before you start: if you would rather not pass
--langon every call, pin the output language once withywc-setup-language. The skills below then follow that setting.
Overall flow
This flow is a funnel: diverge → decide → converge → readiness gate. Spread the idea out wide (1), pin down the why and the what (2–3), narrow it into structure and specification (4–9), pass the gate that says you are ready to build (10), then move into implementation. Steps marked (optional) can be skipped when they are already settled.
| Step | Skill | Role |
|---|---|---|
| 1 | ywc-brainstorm (optional) | When the idea is still fuzzy, pin down purpose, constraints, success criteria, and 2–3 alternative approaches through one-question-at-a-time Socratic dialogue. Skip if intent is already firm |
| 2 | ywc-mission | Record the project's why, success criteria, and rejected-approach log in docs/mission.md. Pin down the why before designing any structure |
| 3 | ywc-tech-research (optional) | Compare tech stack / library candidates in parallel and record the rationale for the choice. Skip if the stack is already decided |
| 4 | ywc-project-scaffold | With the decided stack, design the directory structure (outputs a Markdown plan) |
| 5 | ywc-ubiquitous-language (recommended for domain-rich projects) | Define the shared vocabulary for developers, domain experts, and the LLM in docs/ubiquitous-language.md → the spec and ywc-code-gen then use canonical terms |
| 6 | ywc-spec-writer --full | Write the full specification under docs/specification/ (goal / feature / data model / user flow) |
| 7 | ywc-spec-validate | Validate specification completeness / consistency / feasibility / code-compatibility. Loop 6↔7 until DONE |
| 8 | ywc-project-docs | Additional docs such as Architecture / Product / Operations, when needed |
| 9 | ywc-task-generator | Decompose the DONE spec into dependency-safe Tasks |
| 10 | ywc-confidence-gate | Score readiness across five dimensions before implementation (PROCEED ≥90 / REVIEW 70–89 / STOP <70) |
| 11 | Enter 05. general cycle (medium/large) | Start actual implementation |
Example run
1. Shape the idea (optional)
ywc-brainstorm I want a small construction company to record check-in/check-out without a separate app, but I don't know where to startywc-brainstorm I want a small construction company to record check-in/check-out without a separate app, but I don't know where to startIt narrows purpose, constraints, and alternatives through one-question-at-a-time Socratic dialogue. If you already know clearly what to build, skip this and start from step 2.
2. Record the project's why
ywc-mission This project's goal is to let a small construction company record employee check-in/check-out without a separate app. Success criterion: can one manager close out attendance for 10 or fewer workers within 5 minutesywc-mission This project's goal is to let a small construction company record employee check-in/check-out without a separate app. Success criterion: can one manager close out attendance for 10 or fewer workers within 5 minutesPin down the why and success criteria before the directory structure or the spec — every later step is judged against this mission.
3. Decide the tech stack (optional)
ywc-tech-research --compare 'PostgreSQL,SQLite' --depth 50ywc-tech-research --compare 'PostgreSQL,SQLite' --depth 50Step 4 (scaffold) draws the structure after the stack is decided, so if the stack is not settled yet, compare the candidates here and leave the rationale behind before moving on. Skip it if it's already decided.
4. Design the directory structure
ywc-project-scaffold FastAPI + GraphQL + Clean Architecture, medium scaleywc-project-scaffold FastAPI + GraphQL + Clean Architecture, medium scaleLanguage is required. If the other details are missing, the Skill asks follow-up questions, so specify Framework / Architecture / Scale together when possible. This skill outputs only a Markdown plan. Actual file creation is handled by ywc-code-gen.
5. Domain glossary (recommended for domain-rich projects)
ywc-ubiquitous-language --ddd --output docs/ubiquitous-language.mdywc-ubiquitous-language --ddd --output docs/ubiquitous-language.mdDefining canonical terms up front makes the following spec and ywc-code-gen use the same names, preventing synonyms from creeping into the code. Skip it for projects with simple vocabulary.
6. Write the full specification
ywc-spec-writer --full --lang koywc-spec-writer --full --lang ko7. Validate the specification
ywc-spec-validate --spec docs/specification/01-overview.mdywc-spec-validate --spec docs/specification/01-overview.mdIf it returns DONE_WITH_CONCERNS, go back to step 6 ywc-spec-writer, refine the spec, and validate again. Repeat until it returns DONE. (ywc-spec-ready is an automatic convergence loop only for specs created by ywc-plan, so do not use it here.)
8. Additional docs (when needed)
ywc-project-docs --lang krywc-project-docs --lang kr9. Decompose into Tasks
ywc-task-generator --lang koywc-task-generator --lang ko10. Readiness gate
ywc-confidence-gate check whether it's safe to start implementing with this spec and tasksywc-confidence-gate check whether it's safe to start implementing with this spec and tasksIt scores five dimensions: scope clarity / architecture compliance / evidence quality / reuse verified / root cause. On PROCEED (≥90) move into 05. general cycle; on STOP (<70), shore up the flagged dimension first.
Notes
ywc-brainstorm,ywc-tech-research, andywc-ubiquitous-languageare auxiliary steps you can skip depending on the situation. If intent, stack, and domain vocabulary are already clear, following just the core spine 2 → 4 → 6 → 7 → 9 → 10 is enough.- If
ywc-confidence-gatereturnsSTOP(<70), do not move into implementation — fill in the flagged dimension first, then pass the gate again. - If the scope is small enough to implement directly without spec decomposition,
ywc-plancan route to the Small path and skip this whole flow. ywc-onboard-repomoves in the opposite direction from this flow (investigating an existing repo), so do not use it when creating a new project.
Previous: 06. Finish automatically from one goal - Next: 08. Entering an existing Repo for the first time