@davidbalzan/groundwork 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +323 -0
- package/docs/DECISIONS.md +170 -0
- package/package.json +38 -0
- package/payload/doc-templates/COMMANDS.md +419 -0
- package/payload/doc-templates/DECISIONS.md +168 -0
- package/payload/doc-templates/FACTS.md +43 -0
- package/payload/doc-templates/GROUNDWORK_METHODOLOGY.md +1300 -0
- package/payload/doc-templates/STACK_MAP.md +90 -0
- package/payload/doc-templates/WORKSTREAMS.md +79 -0
- package/payload/doc-templates/_INDEX.md +54 -0
- package/payload/doc-templates/phases/README.md +36 -0
- package/payload/doc-templates/phases/templates/README.md +63 -0
- package/payload/doc-templates/phases/templates/TASK_TEMPLATE.md +302 -0
- package/payload/doc-templates/phases/templates/task_template_prompt.md +229 -0
- package/payload/doc-templates/templates/ARCHITECTURE_GUIDE_TEMPLATE.md +250 -0
- package/payload/doc-templates/templates/DESIGN_SYSTEM_TEMPLATE.md +336 -0
- package/payload/doc-templates/templates/DONE_TEMPLATE.md +21 -0
- package/payload/doc-templates/templates/PHASES_README_TEMPLATE.md +144 -0
- package/payload/doc-templates/templates/PHASE_README_TEMPLATE.md +142 -0
- package/payload/doc-templates/templates/PRD_TEMPLATE.md +348 -0
- package/payload/doc-templates/templates/PRODUCTION_ROADMAP_TEMPLATE.md +168 -0
- package/payload/doc-templates/templates/QUEUE_TEMPLATE.md +17 -0
- package/payload/doc-templates/templates/TECH_STACK_TEMPLATE.md +199 -0
- package/payload/scripts/check-task.mjs +98 -0
- package/payload/scripts/check-versions.mjs +113 -0
- package/payload/scripts/phase-status.mjs +69 -0
- package/payload/scripts/set-fact.mjs +86 -0
- package/payload/skills/add-data-layer/SKILL.md +129 -0
- package/payload/skills/check-task/SKILL.md +35 -0
- package/payload/skills/check-versions/SKILL.md +47 -0
- package/payload/skills/create-prd/SKILL.md +90 -0
- package/payload/skills/domain-model/SKILL.md +90 -0
- package/payload/skills/kickstart/SKILL.md +157 -0
- package/payload/skills/log-decision/SKILL.md +65 -0
- package/payload/skills/next/SKILL.md +65 -0
- package/payload/skills/plan-phase/SKILL.md +108 -0
- package/payload/skills/remember/SKILL.md +77 -0
- package/payload/skills/start-session/SKILL.md +52 -0
- package/payload/skills/update-workstreams/SKILL.md +60 -0
- package/src/cli.mjs +115 -0
- package/src/commands/add.mjs +39 -0
- package/src/commands/artifacts.mjs +24 -0
- package/src/commands/doctor.mjs +292 -0
- package/src/commands/init.mjs +147 -0
- package/src/commands/knowledge.mjs +148 -0
- package/src/commands/list.mjs +61 -0
- package/src/commands/status.mjs +96 -0
- package/src/commands/update.mjs +128 -0
- package/src/lib/adr-tripwire.mjs +171 -0
- package/src/lib/artifacts.mjs +124 -0
- package/src/lib/config.mjs +43 -0
- package/src/lib/fs.mjs +46 -0
- package/src/lib/log.mjs +22 -0
- package/src/lib/paths.mjs +36 -0
- package/src/lib/progress.mjs +26 -0
- package/src/lib/skills.mjs +42 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Stack Map"
|
|
3
|
+
tags: [groundwork/core]
|
|
4
|
+
aliases: ["Stack"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Stack Map
|
|
8
|
+
|
|
9
|
+
> **Single source of truth for versions.** Every technology → the version the starter
|
|
10
|
+
> pins, the latest stable at last audit, and the files you touch to swap it.
|
|
11
|
+
> For the "why" behind each choice, see [[DECISIONS]].
|
|
12
|
+
|
|
13
|
+
> **Rule:** no other doc restates version numbers — they link here. When you bump a
|
|
14
|
+
> dependency, update the `Pinned` column here and nowhere else.
|
|
15
|
+
|
|
16
|
+
> ⚠️ **Versions drift.** The "Latest stable" column is a snapshot from the date below.
|
|
17
|
+
> Refresh it with `/check-versions` (or `node docs/.groundwork/scripts/check-versions.mjs`),
|
|
18
|
+
> which queries the registry and flags anything a major behind. Update this column and
|
|
19
|
+
> the audit date whenever you run it.
|
|
20
|
+
> Last audited: **2026-06-29**.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Core
|
|
25
|
+
|
|
26
|
+
| Technology | Pinned (starter) | Latest stable | Files to Change |
|
|
27
|
+
| ---------- | ---------------- | ------------- | --------------------------------------------------------------------- |
|
|
28
|
+
| Node.js | >=22 | 22 LTS / 24 | `package.json` (`engines`), `.github/workflows/ci.yml`, `Dockerfile` |
|
|
29
|
+
| TypeScript | 5.7.x | **6.0.x** ⬆ | `tsconfig.base.json`, all `tsconfig.json`, `package.json` (dep) |
|
|
30
|
+
| pnpm | 10.4.x | 10.x | `package.json` (`packageManager`), `pnpm-workspace.yaml` |
|
|
31
|
+
| Turborepo | 2.4.x | 2.10.x | `turbo.json`, `package.json` (dep) |
|
|
32
|
+
|
|
33
|
+
## Frontend (`apps/web/`)
|
|
34
|
+
|
|
35
|
+
| Technology | Pinned (starter) | Latest stable | Files to Change |
|
|
36
|
+
| ------------ | ---------------- | ------------- | ----------------------------------------------------------------------------- |
|
|
37
|
+
| React | 19.0.x | 19.2.x | `apps/web/package.json`, `apps/web/tsconfig.json` (`jsx`), `eslint.config.js` |
|
|
38
|
+
| Vite | 6.1.x | **8.x** ⬆ | `apps/web/vite.config.ts`, `apps/web/package.json` |
|
|
39
|
+
| Tailwind CSS | 4.0.x | 4.3.x | `apps/web/src/index.css`, `apps/web/package.json` |
|
|
40
|
+
|
|
41
|
+
## Backend (`apps/api/`)
|
|
42
|
+
|
|
43
|
+
| Technology | Pinned (starter) | Latest stable | Files to Change |
|
|
44
|
+
| ---------- | ---------------- | ------------- | ------------------------------------------------------------------------ |
|
|
45
|
+
| Hono | 4.7.x | 4.12.x | `apps/api/package.json`, `apps/api/src/index.ts`, `apps/api/src/routes/` |
|
|
46
|
+
| Zod | 3.x | 4.x | `apps/api/package.json`, `apps/api/src/env.ts` |
|
|
47
|
+
|
|
48
|
+
## Shared Packages
|
|
49
|
+
|
|
50
|
+
| Package | Path | Files to Change |
|
|
51
|
+
| -------------------- | ------------------ | ------------------------------------------------------ |
|
|
52
|
+
| `@<scope>/shared` | `packages/shared/` | `packages/shared/package.json`, `packages/shared/src/` |
|
|
53
|
+
| `@<scope>/ui` | `packages/ui/` | `packages/ui/package.json`, `packages/ui/src/` |
|
|
54
|
+
|
|
55
|
+
## Developer Tooling
|
|
56
|
+
|
|
57
|
+
| Tool | Purpose | Files to Change |
|
|
58
|
+
| -------------- | ------------------- | ------------------------------------------------------------ |
|
|
59
|
+
| ESLint | Linting | `eslint.config.js`, `package.json` (dep) |
|
|
60
|
+
| Prettier | Formatting | `.prettierrc` (if exists), `package.json` (dep) |
|
|
61
|
+
| Vitest | Testing | `vitest.config.ts`, `package.json` (dep) |
|
|
62
|
+
| Husky | Git hooks | `.husky/pre-commit`, `package.json` (dep + `prepare` script) |
|
|
63
|
+
| lint-staged | Staged file linting | `package.json` (`lint-staged` config) |
|
|
64
|
+
| GitHub Actions | CI | `.github/workflows/ci.yml` |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Optional modules
|
|
69
|
+
|
|
70
|
+
Not in the base starter — added on demand. The data layer is wired by the
|
|
71
|
+
`/add-data-layer` skill, which pins these to latest stable at install time.
|
|
72
|
+
|
|
73
|
+
| Technology | Typical version | Added by | Notes |
|
|
74
|
+
| ----------- | --------------- | --------------------- | -------------------------------------- |
|
|
75
|
+
| Drizzle ORM | 0.45.x | `/add-data-layer` | Type-safe SQL; `drizzle-kit` for migrations |
|
|
76
|
+
| PostgreSQL | 17 | `/add-data-layer` | Default engine (MySQL/SQLite also supported) |
|
|
77
|
+
| Zustand | 5.x | manual | Client state — add only if local state outgrows React |
|
|
78
|
+
|
|
79
|
+
When you adopt one, move its row up into the active stack above with a pinned version.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Pending upgrades
|
|
84
|
+
|
|
85
|
+
Tracked gaps between `Pinned` and `Latest stable` (⬆ above):
|
|
86
|
+
|
|
87
|
+
- **Vite 6 → 8** — two majors; review `vite.config.ts` + plugin compatibility before bumping.
|
|
88
|
+
- **TypeScript 5.7 → 6.0** — one major; run a typecheck pass across all packages.
|
|
89
|
+
|
|
90
|
+
Do bumps as a dedicated stream (own branch, build + test verify), not inline with feature work.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Workstreams"
|
|
3
|
+
tags: [groundwork/core]
|
|
4
|
+
aliases: ["Workstreams", "Active Work", "Streams"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Workstreams
|
|
8
|
+
|
|
9
|
+
> **Live state of every parallel stream of work.** The swarm-native replacement for a
|
|
10
|
+
> single "current focus" — one row per stream, scales from solo to a coordinated fleet.
|
|
11
|
+
|
|
12
|
+
This is the live counterpart to `[[QUEUE]]`:
|
|
13
|
+
|
|
14
|
+
- **`[[QUEUE]]`** = the *inbound* queue — what to pick up next (human + `/plan-phase` own it).
|
|
15
|
+
- **`WORKSTREAMS.md`** = the *live* state — what is in flight right now (whoever is working writes it, including a multi-agent coordinator).
|
|
16
|
+
- **`[[DONE]]`** = the *completion log* — append-only, written by whoever executes.
|
|
17
|
+
|
|
18
|
+
Update with `/update-workstreams`.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Active Streams
|
|
23
|
+
|
|
24
|
+
| Stream | Owner / Agent | Branch · Worktree | Status | Blocker | Last note |
|
|
25
|
+
| ------ | ------------- | ----------------- | ------ | ------- | --------- |
|
|
26
|
+
| — | — | — | ⏳ Queued | — | Run `/kickstart`, then `/plan-phase` to populate the backlog |
|
|
27
|
+
|
|
28
|
+
Status: 🚧 In Progress · 🔍 In Review · ⏳ Queued · ⛔ Blocked · ✅ Done
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Recently Closed
|
|
33
|
+
|
|
34
|
+
_Closed streams move here with an outcome and date (YYYY-MM-DD)._
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Last Updated
|
|
39
|
+
|
|
40
|
+
**Date**: (set on first update)
|
|
41
|
+
**Status**: Template ready
|
|
42
|
+
|
|
43
|
+
<!-- ─────────────────────── coordinator extensions ───────────────────────
|
|
44
|
+
Present ONLY when a multi-agent coordinator runs this project (a solo
|
|
45
|
+
/update-workstreams user never adds these). Under a coordinator, WORKSTREAMS.md
|
|
46
|
+
is the single board — these sections replace the retired LIVE_STATE board.
|
|
47
|
+
|
|
48
|
+
`/update-workstreams` and `groundwork status` parse only the core above
|
|
49
|
+
(## Active Streams + ## Recently Closed) and MUST preserve everything below this
|
|
50
|
+
fence verbatim. Write-regions:
|
|
51
|
+
· Active Streams / Recently Closed — shared; one row per owner; read-before-write CAS
|
|
52
|
+
· all sections below — coordinator-only, single-writer
|
|
53
|
+
· Needs David — coordinator writes; David clears
|
|
54
|
+
|
|
55
|
+
When adopted, the coordinator materialises these sections (drop the comment):
|
|
56
|
+
|
|
57
|
+
## Open PRs
|
|
58
|
+
| Repo | PR | Owner | Status | Merge Gate |
|
|
59
|
+
| ---- | -- | ----- | ------ | ---------- |
|
|
60
|
+
|
|
61
|
+
## Cutover Gates (State distinguishes merged≠deployed, code-complete≠ops-ready)
|
|
62
|
+
| Gate | Owner | State | Notes |
|
|
63
|
+
| ---- | ----- | ----- | ----- |
|
|
64
|
+
|
|
65
|
+
## Needs David
|
|
66
|
+
| Decision | Context | Recommendation |
|
|
67
|
+
| -------- | ------- | -------------- |
|
|
68
|
+
|
|
69
|
+
## Risks
|
|
70
|
+
| Risk | Impact | Mitigation |
|
|
71
|
+
| ---- | ------ | ---------- |
|
|
72
|
+
|
|
73
|
+
## Rooms
|
|
74
|
+
| Room | Purpose | Owner | State |
|
|
75
|
+
| ---- | ------- | ----- | ----- |
|
|
76
|
+
|
|
77
|
+
## Decisions Recorded
|
|
78
|
+
- <ADR / decision ref>
|
|
79
|
+
──────────────────────────────────────────────────────────────────────── -->
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Groundwork Vault"
|
|
3
|
+
tags: [groundwork/core]
|
|
4
|
+
aliases: ["MOC", "Map of Content", "Index"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Project Docs
|
|
8
|
+
|
|
9
|
+
Map of Content for this project's documentation (scaffolded by Groundwork).
|
|
10
|
+
|
|
11
|
+
## Core
|
|
12
|
+
|
|
13
|
+
- [[GROUNDWORK_METHODOLOGY]] — Full methodology, philosophy, workflow
|
|
14
|
+
- [[CONTEXT]] — Ubiquitous-language glossary / domain model (via `/domain-model`)
|
|
15
|
+
- [[WORKSTREAMS]] — Live state of parallel work streams
|
|
16
|
+
- [[FACTS]] — Verified project facts (settled world-model)
|
|
17
|
+
- [[STACK_MAP]] — Single source of truth for versions
|
|
18
|
+
|
|
19
|
+
## Reference
|
|
20
|
+
|
|
21
|
+
- [[ARTIFACTS]] — Artifact map: where each doc lives, who writes/reads it (agent reference)
|
|
22
|
+
- [[COMMANDS]] — AI skill commands across Claude Code, Cursor, VS Code
|
|
23
|
+
- [[DECISIONS]] — Architectural Decision Records (ADRs)
|
|
24
|
+
|
|
25
|
+
## Project Artifacts
|
|
26
|
+
|
|
27
|
+
These are generated by `/kickstart` for each new project:
|
|
28
|
+
|
|
29
|
+
- `[[TECH_STACK]]` — Technology choices (generated)
|
|
30
|
+
- `[[ARCHITECTURE_GUIDE]]` — System design (generated)
|
|
31
|
+
- `[[PRODUCTION_ROADMAP]]` — Phase roadmap (generated)
|
|
32
|
+
- `[[DESIGN_SYSTEM]]` — Visual language (generated, optional)
|
|
33
|
+
- `[[PRD]]` — Product requirements (generated by `/create-prd`)
|
|
34
|
+
- `[[QUEUE]]` — Inbound task queue (generated by `/kickstart`, updated by `/plan-phase`)
|
|
35
|
+
- `[[DONE]]` — Completion log (append-only, written by whoever executes)
|
|
36
|
+
|
|
37
|
+
## Templates
|
|
38
|
+
|
|
39
|
+
Used by `/kickstart` and `/plan-phase` to scaffold project docs:
|
|
40
|
+
|
|
41
|
+
- [[TECH_STACK_TEMPLATE]]
|
|
42
|
+
- [[ARCHITECTURE_GUIDE_TEMPLATE]]
|
|
43
|
+
- [[PRODUCTION_ROADMAP_TEMPLATE]]
|
|
44
|
+
- [[DESIGN_SYSTEM_TEMPLATE]]
|
|
45
|
+
- [[PRD_TEMPLATE]]
|
|
46
|
+
- [[QUEUE_TEMPLATE]]
|
|
47
|
+
- [[DONE_TEMPLATE]]
|
|
48
|
+
- [[PHASES_README_TEMPLATE]]
|
|
49
|
+
- [[PHASE_README_TEMPLATE]]
|
|
50
|
+
- [[TASK_TEMPLATE]]
|
|
51
|
+
|
|
52
|
+
## Phases
|
|
53
|
+
|
|
54
|
+
- [[phases/README|Phases Overview]]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Phases Overview"
|
|
3
|
+
tags: [groundwork/phase]
|
|
4
|
+
aliases: ["Phases"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Development Phases
|
|
8
|
+
|
|
9
|
+
## Phase Organization
|
|
10
|
+
|
|
11
|
+
Each phase has its own folder with:
|
|
12
|
+
|
|
13
|
+
- [[README]] — Phase overview and quick reference
|
|
14
|
+
- `PHASEN_TASKS.md` — Detailed task breakdown with checklists
|
|
15
|
+
|
|
16
|
+
Use `/plan-phase` to generate a new phase.
|
|
17
|
+
|
|
18
|
+
## Templates
|
|
19
|
+
|
|
20
|
+
See `templates/` for phase document templates.
|
|
21
|
+
|
|
22
|
+
## Progress Tracking
|
|
23
|
+
|
|
24
|
+
- **Completed Phases**: 0
|
|
25
|
+
- **Current Phase**: None (run `/kickstart` then `/plan-phase`)
|
|
26
|
+
- **Overall Progress**: 0%
|
|
27
|
+
|
|
28
|
+
## Documentation Standards
|
|
29
|
+
|
|
30
|
+
Each phase follows the same structure:
|
|
31
|
+
|
|
32
|
+
- Clear overview with goals and deliverables
|
|
33
|
+
- Detailed task breakdown with checkboxes
|
|
34
|
+
- Code examples and implementation patterns
|
|
35
|
+
- Testing requirements
|
|
36
|
+
- Success criteria
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Phase Templates"
|
|
3
|
+
tags: [groundwork/template]
|
|
4
|
+
aliases: ["Task Templates"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Planning Templates
|
|
8
|
+
|
|
9
|
+
This directory contains reusable templates for planning documents, tasks, and specifications.
|
|
10
|
+
|
|
11
|
+
## Available Templates
|
|
12
|
+
|
|
13
|
+
### Task Template
|
|
14
|
+
|
|
15
|
+
**File**: [[TASK_TEMPLATE]]
|
|
16
|
+
**Purpose**: Standard template for task planning and tracking
|
|
17
|
+
|
|
18
|
+
Use this template when:
|
|
19
|
+
|
|
20
|
+
- Breaking down a feature into tasks
|
|
21
|
+
- Planning a new implementation
|
|
22
|
+
- Creating a work breakdown structure
|
|
23
|
+
|
|
24
|
+
Sections included:
|
|
25
|
+
|
|
26
|
+
- Task overview and objectives
|
|
27
|
+
- Scope and deliverables
|
|
28
|
+
- Implementation steps
|
|
29
|
+
- Rollback plans for risky tasks
|
|
30
|
+
- Testing requirements
|
|
31
|
+
- Definition of done
|
|
32
|
+
|
|
33
|
+
### Task Template Prompt
|
|
34
|
+
|
|
35
|
+
**File**: [[task_template_prompt]]
|
|
36
|
+
**Purpose**: AI assistant prompt for generating task documents
|
|
37
|
+
|
|
38
|
+
Use this when:
|
|
39
|
+
|
|
40
|
+
- Working with AI assistants to plan tasks
|
|
41
|
+
- Generating consistent task documentation
|
|
42
|
+
- Ensuring comprehensive task breakdowns
|
|
43
|
+
|
|
44
|
+
## Usage
|
|
45
|
+
|
|
46
|
+
1. Copy the appropriate template
|
|
47
|
+
2. Fill in the sections with your specific details
|
|
48
|
+
3. Adjust sections as needed for your use case
|
|
49
|
+
4. Save in the appropriate planning directory
|
|
50
|
+
|
|
51
|
+
## Creating New Templates
|
|
52
|
+
|
|
53
|
+
When creating new templates:
|
|
54
|
+
|
|
55
|
+
1. Use clear section headings
|
|
56
|
+
2. Include placeholder text with examples
|
|
57
|
+
3. Document the template's purpose
|
|
58
|
+
4. Add it to this README
|
|
59
|
+
|
|
60
|
+
## Navigation
|
|
61
|
+
|
|
62
|
+
- [[README|Back to Phases]]
|
|
63
|
+
- Task Examples - See completed tasks using these templates (create a `completed/` directory as needed)
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Task Template"
|
|
3
|
+
tags: [groundwork/template]
|
|
4
|
+
aliases: []
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# [PROJECT NAME] [TASK TYPE] Tasks
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
[Brief description of the project/task. Explain what is being migrated/refactored/implemented and why it's necessary.]
|
|
12
|
+
|
|
13
|
+
## 🔍 [TASK TYPE] Audit Summary
|
|
14
|
+
|
|
15
|
+
**CRITICAL FINDINGS**: [Summary of key discoveries during initial analysis]
|
|
16
|
+
|
|
17
|
+
### 📊 **Components [TO BE MIGRATED/IMPLEMENTED]**:
|
|
18
|
+
|
|
19
|
+
- **[Category 1]**: [Number] [Component Type] ([specific examples])
|
|
20
|
+
- **[Category 2]**: [Number] [Component Type] ([specific examples])
|
|
21
|
+
- **[Category 3]**: [Number] [Component Type] ([specific examples])
|
|
22
|
+
- **[Supporting Infrastructure]**: [Details about supporting files, configs, etc.]
|
|
23
|
+
|
|
24
|
+
### ⚠️ **Impact Assessment**:
|
|
25
|
+
|
|
26
|
+
- **[Risk Type 1]**: [Description of risk and potential impact]
|
|
27
|
+
- **[Risk Type 2]**: [Description of risk and potential impact]
|
|
28
|
+
- **[Risk Type 3]**: [Description of risk and potential impact]
|
|
29
|
+
- **[Architecture Impact]**: [How this affects system architecture]
|
|
30
|
+
|
|
31
|
+
### 📈 **Scale of [TASK TYPE]**:
|
|
32
|
+
|
|
33
|
+
- **[X] Major Tasks** ([Task IDs]) → ✅ **[Y] COMPLETE**, **[Z] REMAINING**
|
|
34
|
+
- **[X]+ Sub-Steps** → ✅ **[Y] COMPLETED**, **[Z]+ REMAINING**
|
|
35
|
+
- **[X-Y] Days** estimated completion time → **~[Z] Days REMAINING**
|
|
36
|
+
- **[X] [Task Type] Phases** from [priority level] to [priority level]
|
|
37
|
+
|
|
38
|
+
### 🎉 **COMPLETED [TASKS]**:
|
|
39
|
+
|
|
40
|
+
- ✅ **[Task ID]: [Task Name]** - [Brief description of what was accomplished] ([metrics, lines of code, endpoints, etc.])
|
|
41
|
+
- ✅ **[Task ID]: [Task Name]** - [Brief description of what was accomplished] ([metrics])
|
|
42
|
+
|
|
43
|
+
## 🚨 Components Not Yet [MIGRATED/IMPLEMENTED]
|
|
44
|
+
|
|
45
|
+
### [Category 1] ([source location/])
|
|
46
|
+
|
|
47
|
+
- **[Component Name]** - [Description and importance] ([line count/size if relevant])
|
|
48
|
+
- **[Component Name]** - [Description and importance] ([line count/size if relevant])
|
|
49
|
+
|
|
50
|
+
### [Category 2] ([source location/])
|
|
51
|
+
|
|
52
|
+
- **[Component Name]** - [Description and purpose]
|
|
53
|
+
- **[Component Name]** - [Description and purpose]
|
|
54
|
+
|
|
55
|
+
### [Additional Categories as needed]
|
|
56
|
+
|
|
57
|
+
[Continue pattern for all major categories of components]
|
|
58
|
+
|
|
59
|
+
## 🎯 Target Architecture
|
|
60
|
+
|
|
61
|
+
### [System] Structure
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
[target structure]/
|
|
65
|
+
├── [package1]/ # [Purpose and contents]
|
|
66
|
+
│ ├── [subdir]/ # [Purpose]
|
|
67
|
+
│ └── [subdir]/ # [Purpose]
|
|
68
|
+
├── [package2]/ # [Purpose and contents]
|
|
69
|
+
├── [package3]/ # [Purpose and contents]
|
|
70
|
+
└── [package4]/ # [Purpose and contents]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### [Integration] Pattern
|
|
74
|
+
|
|
75
|
+
- **[Pattern 1]**: [Description of how components will work together]
|
|
76
|
+
- **[Pattern 2]**: [Description of architectural decision]
|
|
77
|
+
- **[Pattern 3]**: [Description of key principle]
|
|
78
|
+
- **[Pattern 4]**: [Description of important constraint]
|
|
79
|
+
|
|
80
|
+
### Architecture Principles
|
|
81
|
+
|
|
82
|
+
1. **[Principle 1]**: [Description]
|
|
83
|
+
2. **[Principle 2]**: [Description]
|
|
84
|
+
3. **[Principle 3]**: [Description]
|
|
85
|
+
4. **[Principle 4]**: [Description]
|
|
86
|
+
5. **[Principle 5]**: [Description]
|
|
87
|
+
|
|
88
|
+
## 📋 [Task Type] Tasks
|
|
89
|
+
|
|
90
|
+
### Phase 1: [Phase Name - Priority Level]
|
|
91
|
+
|
|
92
|
+
#### [x] Task [ID]: [Task Name]
|
|
93
|
+
|
|
94
|
+
**Priority**: [CRITICAL/HIGH/MEDIUM/LOW] ✅ **[STATUS]**
|
|
95
|
+
**Package**: `[target location]`
|
|
96
|
+
**Dependencies**:
|
|
97
|
+
|
|
98
|
+
- [Dependency 1 description]
|
|
99
|
+
- [Dependency 2 description]
|
|
100
|
+
- [Dependency 3 description]
|
|
101
|
+
|
|
102
|
+
**Sub-Steps**:
|
|
103
|
+
|
|
104
|
+
- [x] [Task ID].[Sub-ID]: [Detailed sub-task description]
|
|
105
|
+
- [x] [Task ID].[Sub-ID]: [Detailed sub-task description]
|
|
106
|
+
- [ ] [Task ID].[Sub-ID]: [Detailed sub-task description]
|
|
107
|
+
- [ ] [Task ID].[Sub-ID]: [Detailed sub-task description]
|
|
108
|
+
- [ ] [Task ID].[Sub-ID]: **[Special task category if needed]**
|
|
109
|
+
- [ ] [Task ID].[Sub-ID]: **Add OpenAPI annotations for [task] endpoints**
|
|
110
|
+
- [ ] [Task ID].[Sub-ID]: **Create OpenAPI schemas for [component] requests/responses**
|
|
111
|
+
- [ ] [Task ID].[Sub-ID]: **Document [service endpoints] endpoints with OpenAPI**
|
|
112
|
+
- [ ] [Task ID].[Sub-ID]: **Update main OpenAPI spec to include [service]**
|
|
113
|
+
- [ ] [Task ID].[Sub-ID]: **Make sure everything builds**
|
|
114
|
+
- [ ] [Task ID].[Sub-ID]: **Make sure everything is in running condition**
|
|
115
|
+
|
|
116
|
+
**[✅ COMPLETION STATUS]**: [Detailed summary of what was accomplished, metrics, and current status]
|
|
117
|
+
|
|
118
|
+
#### [ ] Task [ID]: [Task Name]
|
|
119
|
+
|
|
120
|
+
**Priority**: [PRIORITY LEVEL]
|
|
121
|
+
**Package**: `[target location]`
|
|
122
|
+
**Dependencies**:
|
|
123
|
+
|
|
124
|
+
- [Dependencies listed]
|
|
125
|
+
|
|
126
|
+
**Sub-Steps**:
|
|
127
|
+
|
|
128
|
+
- [ ] [Task ID].[Sub-ID]: [Sub-task description]
|
|
129
|
+
- [ ] [Task ID].[Sub-ID]: [Sub-task description]
|
|
130
|
+
|
|
131
|
+
**Expected Deliverables**:
|
|
132
|
+
|
|
133
|
+
- **[Deliverable 1]**: [Description of what will be created]
|
|
134
|
+
- **[Deliverable 2]**: [Description of what will be created]
|
|
135
|
+
- **[Integration/API Component]**: [Description of interfaces/endpoints]
|
|
136
|
+
- **[Documentation]**: [Description of docs to be created]
|
|
137
|
+
|
|
138
|
+
**Interfaces / contracts** _(if the task introduces or changes any — signatures only, no bodies)_:
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
// types, function/method signatures, endpoint shapes, table columns
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**🔄 Rollback Plan** _(for risky tasks)_:
|
|
145
|
+
|
|
146
|
+
- **Revert trigger**: [Condition that triggers rollback - e.g., "Tests fail after migration"]
|
|
147
|
+
- **Rollback steps**: [How to undo - e.g., "git revert to commit X, restore DB backup"]
|
|
148
|
+
- **Data recovery**: [If applicable - backup locations, restore procedures]
|
|
149
|
+
- **Notification**: [Who to inform if rollback occurs]
|
|
150
|
+
|
|
151
|
+
### Phase 2: [Phase Name - Priority Level]
|
|
152
|
+
|
|
153
|
+
[Continue pattern for remaining phases...]
|
|
154
|
+
|
|
155
|
+
### Phase [N]: [Final Phase Name]
|
|
156
|
+
|
|
157
|
+
#### [ ] Task [ID]: [Final Task Name]
|
|
158
|
+
|
|
159
|
+
**Priority**: [PRIORITY]
|
|
160
|
+
**Package**: [Location]
|
|
161
|
+
**Dependencies**:
|
|
162
|
+
|
|
163
|
+
- [All previous tasks must be complete]
|
|
164
|
+
- [Any specific dependencies]
|
|
165
|
+
|
|
166
|
+
**Sub-Steps**:
|
|
167
|
+
|
|
168
|
+
- [ ] [Task ID].1: **[Audit/Review step]**
|
|
169
|
+
- [ ] [Task ID].2: **[Validation step]**
|
|
170
|
+
- [ ] [Task ID].3: **[Documentation step]**
|
|
171
|
+
- [ ] [Task ID].[N]: **[Final verification step]**
|
|
172
|
+
|
|
173
|
+
**🎯 SUCCESS CRITERIA**: [Detailed description of how to know this phase is complete]
|
|
174
|
+
|
|
175
|
+
## 🎯 Success Criteria
|
|
176
|
+
|
|
177
|
+
### Functional Requirements
|
|
178
|
+
|
|
179
|
+
- [ ] [Functional requirement 1]
|
|
180
|
+
- [ ] [Functional requirement 2]
|
|
181
|
+
- [ ] [Functional requirement 3]
|
|
182
|
+
- [ ] [Performance/metrics requirement]
|
|
183
|
+
- [ ] [Quality requirement]
|
|
184
|
+
|
|
185
|
+
### Quality Requirements
|
|
186
|
+
|
|
187
|
+
- [ ] [Quality gate 1]
|
|
188
|
+
- [ ] [Quality gate 2]
|
|
189
|
+
- [ ] [Documentation requirement]
|
|
190
|
+
- [ ] [Security requirement]
|
|
191
|
+
- [ ] [Performance requirement]
|
|
192
|
+
|
|
193
|
+
### Architecture Requirements
|
|
194
|
+
|
|
195
|
+
- [ ] [Architecture validation 1]
|
|
196
|
+
- [ ] [Architecture validation 2]
|
|
197
|
+
- [ ] [Build/deployment requirement]
|
|
198
|
+
- [ ] [Development workflow requirement]
|
|
199
|
+
- [ ] [Production readiness requirement]
|
|
200
|
+
|
|
201
|
+
## 🤔 Low-confidence decisions
|
|
202
|
+
|
|
203
|
+
_The choices in this plan the author is least sure about — naming, boundaries, library picks,
|
|
204
|
+
task ordering — and why. Review these first; they are cheap to change before code exists._
|
|
205
|
+
|
|
206
|
+
- **[Decision]**: [Why uncertain] — [alternative considered]
|
|
207
|
+
- **[Decision]**: [Why uncertain] — [alternative considered]
|
|
208
|
+
|
|
209
|
+
## 📅 Estimated Timeline
|
|
210
|
+
|
|
211
|
+
**Phase 1 ([Phase Name])**: [X-Y] days
|
|
212
|
+
|
|
213
|
+
- [Brief description of what's included]
|
|
214
|
+
- [Number]+ sub-steps across [X] major [components/services]
|
|
215
|
+
|
|
216
|
+
**Phase 2 ([Phase Name])**: [X-Y] days
|
|
217
|
+
|
|
218
|
+
- [Brief description of what's included]
|
|
219
|
+
- [Number]+ sub-steps for [category description]
|
|
220
|
+
|
|
221
|
+
**Phase [N] ([Final Phase])**: [X-Y] days
|
|
222
|
+
|
|
223
|
+
- [Brief description of what's included]
|
|
224
|
+
- [Number]+ sub-steps for [category description]
|
|
225
|
+
|
|
226
|
+
**Total Estimated Time**: [X-Y] days → **~[Z] Days REMAINING** ✅ **[A] Days COMPLETED**
|
|
227
|
+
**Total Sub-Steps**: [X]+ detailed checkboxes → ✅ **[Y] COMPLETED**, **[Z]+ REMAINING**
|
|
228
|
+
**[Special Category] Tasks**: [X]+ dedicated sub-steps → ✅ **[Y] COMPLETED**, **[Z]+ REMAINING**
|
|
229
|
+
|
|
230
|
+
## 🚀 [Task Type] Progress
|
|
231
|
+
|
|
232
|
+
1. ✅ **Task [ID] ([Name])** - [STATUS] with [metrics/deliverables]
|
|
233
|
+
2. ✅ **Task [ID] ([Name])** - [STATUS] with [metrics/deliverables]
|
|
234
|
+
3. 🚧 **Task [ID] ([Name])** - [IN PROGRESS] with [current status]
|
|
235
|
+
4. Continue with remaining tasks by priority
|
|
236
|
+
5. Validate each phase before proceeding to the next
|
|
237
|
+
|
|
238
|
+
## 🎯 **CURRENT STATUS**: [X]/[Y] Major Tasks [Status] ([Z]% Progress)
|
|
239
|
+
|
|
240
|
+
**✅ PREVIOUS COMPLETION**: [Description of most recently completed major task with detailed summary]
|
|
241
|
+
|
|
242
|
+
**🚧 CURRENT WORK**: [Description of current task in progress with detailed progress summary]
|
|
243
|
+
|
|
244
|
+
**🎯 NEXT**: [Description of next steps and upcoming tasks]
|
|
245
|
+
|
|
246
|
+
## 🔄 Rollback & Contingency Plans
|
|
247
|
+
|
|
248
|
+
> _For phases with significant risk, document how to safely undo changes._
|
|
249
|
+
|
|
250
|
+
### High-Risk Tasks Identified
|
|
251
|
+
|
|
252
|
+
| Task | Risk Level | Rollback Complexity | Backup Required |
|
|
253
|
+
| -------- | ---------- | ------------------- | -------------------- |
|
|
254
|
+
| Task X.X | 🔴 High | Medium | ✅ Yes - DB snapshot |
|
|
255
|
+
| Task Y.Y | 🟡 Medium | Low | ❌ No - code only |
|
|
256
|
+
|
|
257
|
+
### Pre-Phase Checklist
|
|
258
|
+
|
|
259
|
+
- [ ] Database backup created: `[backup location/timestamp]`
|
|
260
|
+
- [ ] Current branch tagged: `git tag pre-phase-N-backup`
|
|
261
|
+
- [ ] Dependent services notified of potential rollback window
|
|
262
|
+
- [ ] Rollback runbook reviewed by team
|
|
263
|
+
|
|
264
|
+
### Emergency Rollback Procedure
|
|
265
|
+
|
|
266
|
+
**If critical failure occurs:**
|
|
267
|
+
|
|
268
|
+
1. **Stop** - Don't make additional changes
|
|
269
|
+
2. **Assess** - Identify what broke and impact scope
|
|
270
|
+
3. **Communicate** - Notify stakeholders: [contact list]
|
|
271
|
+
4. **Rollback** - Execute steps below:
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# Code rollback
|
|
275
|
+
git revert --no-commit HEAD~N # N = number of commits to undo
|
|
276
|
+
git commit -m "Rollback: [reason]"
|
|
277
|
+
|
|
278
|
+
# Database rollback (if applicable)
|
|
279
|
+
# [Database-specific restore commands]
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
5. **Verify** - Run smoke tests to confirm system stability
|
|
283
|
+
6. **Document** - Add post-mortem notes to this section
|
|
284
|
+
|
|
285
|
+
### Post-Mortem Notes
|
|
286
|
+
|
|
287
|
+
_Add notes here if rollback was executed:_
|
|
288
|
+
|
|
289
|
+
- **Date**:
|
|
290
|
+
- **Trigger**:
|
|
291
|
+
- **Resolution**:
|
|
292
|
+
- **Prevention**:
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 📝 Notes
|
|
297
|
+
|
|
298
|
+
- [Important note about testing/validation requirements]
|
|
299
|
+
- [Note about documentation requirements]
|
|
300
|
+
- [Note about compatibility requirements]
|
|
301
|
+
- [Note about migration/change management]
|
|
302
|
+
- [Note about automation/tooling considerations]
|