spec-kitty-cli 0.12.1__py3-none-any.whl
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.
- spec_kitty_cli-0.12.1.dist-info/METADATA +1767 -0
- spec_kitty_cli-0.12.1.dist-info/RECORD +242 -0
- spec_kitty_cli-0.12.1.dist-info/WHEEL +4 -0
- spec_kitty_cli-0.12.1.dist-info/entry_points.txt +2 -0
- spec_kitty_cli-0.12.1.dist-info/licenses/LICENSE +21 -0
- specify_cli/__init__.py +171 -0
- specify_cli/acceptance.py +627 -0
- specify_cli/agent_utils/README.md +157 -0
- specify_cli/agent_utils/__init__.py +9 -0
- specify_cli/agent_utils/status.py +356 -0
- specify_cli/cli/__init__.py +6 -0
- specify_cli/cli/commands/__init__.py +46 -0
- specify_cli/cli/commands/accept.py +189 -0
- specify_cli/cli/commands/agent/__init__.py +22 -0
- specify_cli/cli/commands/agent/config.py +382 -0
- specify_cli/cli/commands/agent/context.py +191 -0
- specify_cli/cli/commands/agent/feature.py +1057 -0
- specify_cli/cli/commands/agent/release.py +11 -0
- specify_cli/cli/commands/agent/tasks.py +1253 -0
- specify_cli/cli/commands/agent/workflow.py +801 -0
- specify_cli/cli/commands/context.py +246 -0
- specify_cli/cli/commands/dashboard.py +85 -0
- specify_cli/cli/commands/implement.py +973 -0
- specify_cli/cli/commands/init.py +827 -0
- specify_cli/cli/commands/init_help.py +62 -0
- specify_cli/cli/commands/merge.py +755 -0
- specify_cli/cli/commands/mission.py +240 -0
- specify_cli/cli/commands/ops.py +265 -0
- specify_cli/cli/commands/orchestrate.py +640 -0
- specify_cli/cli/commands/repair.py +175 -0
- specify_cli/cli/commands/research.py +165 -0
- specify_cli/cli/commands/sync.py +364 -0
- specify_cli/cli/commands/upgrade.py +249 -0
- specify_cli/cli/commands/validate_encoding.py +186 -0
- specify_cli/cli/commands/validate_tasks.py +186 -0
- specify_cli/cli/commands/verify.py +310 -0
- specify_cli/cli/helpers.py +123 -0
- specify_cli/cli/step_tracker.py +91 -0
- specify_cli/cli/ui.py +192 -0
- specify_cli/core/__init__.py +53 -0
- specify_cli/core/agent_context.py +311 -0
- specify_cli/core/config.py +96 -0
- specify_cli/core/context_validation.py +362 -0
- specify_cli/core/dependency_graph.py +351 -0
- specify_cli/core/git_ops.py +129 -0
- specify_cli/core/multi_parent_merge.py +323 -0
- specify_cli/core/paths.py +260 -0
- specify_cli/core/project_resolver.py +110 -0
- specify_cli/core/stale_detection.py +263 -0
- specify_cli/core/tool_checker.py +79 -0
- specify_cli/core/utils.py +43 -0
- specify_cli/core/vcs/__init__.py +114 -0
- specify_cli/core/vcs/detection.py +341 -0
- specify_cli/core/vcs/exceptions.py +85 -0
- specify_cli/core/vcs/git.py +1304 -0
- specify_cli/core/vcs/jujutsu.py +1208 -0
- specify_cli/core/vcs/protocol.py +285 -0
- specify_cli/core/vcs/types.py +249 -0
- specify_cli/core/version_checker.py +261 -0
- specify_cli/core/worktree.py +506 -0
- specify_cli/dashboard/__init__.py +28 -0
- specify_cli/dashboard/diagnostics.py +204 -0
- specify_cli/dashboard/handlers/__init__.py +17 -0
- specify_cli/dashboard/handlers/api.py +143 -0
- specify_cli/dashboard/handlers/base.py +65 -0
- specify_cli/dashboard/handlers/features.py +390 -0
- specify_cli/dashboard/handlers/router.py +81 -0
- specify_cli/dashboard/handlers/static.py +50 -0
- specify_cli/dashboard/lifecycle.py +541 -0
- specify_cli/dashboard/scanner.py +437 -0
- specify_cli/dashboard/server.py +123 -0
- specify_cli/dashboard/static/dashboard/dashboard.css +722 -0
- specify_cli/dashboard/static/dashboard/dashboard.js +1424 -0
- specify_cli/dashboard/static/spec-kitty.png +0 -0
- specify_cli/dashboard/templates/__init__.py +36 -0
- specify_cli/dashboard/templates/index.html +258 -0
- specify_cli/doc_generators.py +621 -0
- specify_cli/doc_state.py +408 -0
- specify_cli/frontmatter.py +384 -0
- specify_cli/gap_analysis.py +915 -0
- specify_cli/gitignore_manager.py +300 -0
- specify_cli/guards.py +145 -0
- specify_cli/legacy_detector.py +83 -0
- specify_cli/manifest.py +286 -0
- specify_cli/merge/__init__.py +63 -0
- specify_cli/merge/executor.py +653 -0
- specify_cli/merge/forecast.py +215 -0
- specify_cli/merge/ordering.py +126 -0
- specify_cli/merge/preflight.py +230 -0
- specify_cli/merge/state.py +185 -0
- specify_cli/merge/status_resolver.py +354 -0
- specify_cli/mission.py +654 -0
- specify_cli/missions/documentation/command-templates/implement.md +309 -0
- specify_cli/missions/documentation/command-templates/plan.md +275 -0
- specify_cli/missions/documentation/command-templates/review.md +344 -0
- specify_cli/missions/documentation/command-templates/specify.md +206 -0
- specify_cli/missions/documentation/command-templates/tasks.md +189 -0
- specify_cli/missions/documentation/mission.yaml +113 -0
- specify_cli/missions/documentation/templates/divio/explanation-template.md +192 -0
- specify_cli/missions/documentation/templates/divio/howto-template.md +168 -0
- specify_cli/missions/documentation/templates/divio/reference-template.md +179 -0
- specify_cli/missions/documentation/templates/divio/tutorial-template.md +146 -0
- specify_cli/missions/documentation/templates/generators/jsdoc.json.template +18 -0
- specify_cli/missions/documentation/templates/generators/sphinx-conf.py.template +36 -0
- specify_cli/missions/documentation/templates/plan-template.md +269 -0
- specify_cli/missions/documentation/templates/release-template.md +222 -0
- specify_cli/missions/documentation/templates/spec-template.md +172 -0
- specify_cli/missions/documentation/templates/task-prompt-template.md +140 -0
- specify_cli/missions/documentation/templates/tasks-template.md +159 -0
- specify_cli/missions/research/command-templates/merge.md +388 -0
- specify_cli/missions/research/command-templates/plan.md +125 -0
- specify_cli/missions/research/command-templates/review.md +144 -0
- specify_cli/missions/research/command-templates/tasks.md +225 -0
- specify_cli/missions/research/mission.yaml +115 -0
- specify_cli/missions/research/templates/data-model-template.md +33 -0
- specify_cli/missions/research/templates/plan-template.md +161 -0
- specify_cli/missions/research/templates/research/evidence-log.csv +18 -0
- specify_cli/missions/research/templates/research/source-register.csv +18 -0
- specify_cli/missions/research/templates/research-template.md +35 -0
- specify_cli/missions/research/templates/spec-template.md +64 -0
- specify_cli/missions/research/templates/task-prompt-template.md +148 -0
- specify_cli/missions/research/templates/tasks-template.md +114 -0
- specify_cli/missions/software-dev/command-templates/accept.md +75 -0
- specify_cli/missions/software-dev/command-templates/analyze.md +183 -0
- specify_cli/missions/software-dev/command-templates/checklist.md +286 -0
- specify_cli/missions/software-dev/command-templates/clarify.md +157 -0
- specify_cli/missions/software-dev/command-templates/constitution.md +432 -0
- specify_cli/missions/software-dev/command-templates/dashboard.md +101 -0
- specify_cli/missions/software-dev/command-templates/implement.md +41 -0
- specify_cli/missions/software-dev/command-templates/merge.md +383 -0
- specify_cli/missions/software-dev/command-templates/plan.md +171 -0
- specify_cli/missions/software-dev/command-templates/review.md +32 -0
- specify_cli/missions/software-dev/command-templates/specify.md +321 -0
- specify_cli/missions/software-dev/command-templates/tasks.md +566 -0
- specify_cli/missions/software-dev/mission.yaml +100 -0
- specify_cli/missions/software-dev/templates/plan-template.md +132 -0
- specify_cli/missions/software-dev/templates/spec-template.md +116 -0
- specify_cli/missions/software-dev/templates/task-prompt-template.md +140 -0
- specify_cli/missions/software-dev/templates/tasks-template.md +159 -0
- specify_cli/orchestrator/__init__.py +75 -0
- specify_cli/orchestrator/agent_config.py +224 -0
- specify_cli/orchestrator/agents/__init__.py +170 -0
- specify_cli/orchestrator/agents/augment.py +112 -0
- specify_cli/orchestrator/agents/base.py +243 -0
- specify_cli/orchestrator/agents/claude.py +112 -0
- specify_cli/orchestrator/agents/codex.py +106 -0
- specify_cli/orchestrator/agents/copilot.py +137 -0
- specify_cli/orchestrator/agents/cursor.py +139 -0
- specify_cli/orchestrator/agents/gemini.py +115 -0
- specify_cli/orchestrator/agents/kilocode.py +94 -0
- specify_cli/orchestrator/agents/opencode.py +132 -0
- specify_cli/orchestrator/agents/qwen.py +96 -0
- specify_cli/orchestrator/config.py +455 -0
- specify_cli/orchestrator/executor.py +642 -0
- specify_cli/orchestrator/integration.py +1230 -0
- specify_cli/orchestrator/monitor.py +898 -0
- specify_cli/orchestrator/scheduler.py +832 -0
- specify_cli/orchestrator/state.py +508 -0
- specify_cli/orchestrator/testing/__init__.py +122 -0
- specify_cli/orchestrator/testing/availability.py +346 -0
- specify_cli/orchestrator/testing/fixtures.py +684 -0
- specify_cli/orchestrator/testing/paths.py +218 -0
- specify_cli/plan_validation.py +107 -0
- specify_cli/scripts/debug-dashboard-scan.py +61 -0
- specify_cli/scripts/tasks/acceptance_support.py +695 -0
- specify_cli/scripts/tasks/task_helpers.py +506 -0
- specify_cli/scripts/tasks/tasks_cli.py +848 -0
- specify_cli/scripts/validate_encoding.py +180 -0
- specify_cli/task_metadata_validation.py +274 -0
- specify_cli/tasks_support.py +447 -0
- specify_cli/template/__init__.py +47 -0
- specify_cli/template/asset_generator.py +206 -0
- specify_cli/template/github_client.py +334 -0
- specify_cli/template/manager.py +193 -0
- specify_cli/template/renderer.py +99 -0
- specify_cli/templates/AGENTS.md +190 -0
- specify_cli/templates/POWERSHELL_SYNTAX.md +229 -0
- specify_cli/templates/agent-file-template.md +35 -0
- specify_cli/templates/checklist-template.md +42 -0
- specify_cli/templates/claudeignore-template +58 -0
- specify_cli/templates/command-templates/accept.md +141 -0
- specify_cli/templates/command-templates/analyze.md +253 -0
- specify_cli/templates/command-templates/checklist.md +352 -0
- specify_cli/templates/command-templates/clarify.md +224 -0
- specify_cli/templates/command-templates/constitution.md +432 -0
- specify_cli/templates/command-templates/dashboard.md +175 -0
- specify_cli/templates/command-templates/implement.md +190 -0
- specify_cli/templates/command-templates/merge.md +374 -0
- specify_cli/templates/command-templates/plan.md +171 -0
- specify_cli/templates/command-templates/research.md +88 -0
- specify_cli/templates/command-templates/review.md +510 -0
- specify_cli/templates/command-templates/specify.md +321 -0
- specify_cli/templates/command-templates/status.md +92 -0
- specify_cli/templates/command-templates/tasks.md +199 -0
- specify_cli/templates/git-hooks/pre-commit +22 -0
- specify_cli/templates/git-hooks/pre-commit-agent-check +37 -0
- specify_cli/templates/git-hooks/pre-commit-encoding-check +142 -0
- specify_cli/templates/plan-template.md +108 -0
- specify_cli/templates/spec-template.md +118 -0
- specify_cli/templates/task-prompt-template.md +165 -0
- specify_cli/templates/tasks-template.md +161 -0
- specify_cli/templates/vscode-settings.json +13 -0
- specify_cli/text_sanitization.py +225 -0
- specify_cli/upgrade/__init__.py +18 -0
- specify_cli/upgrade/detector.py +239 -0
- specify_cli/upgrade/metadata.py +182 -0
- specify_cli/upgrade/migrations/__init__.py +65 -0
- specify_cli/upgrade/migrations/base.py +80 -0
- specify_cli/upgrade/migrations/m_0_10_0_python_only.py +359 -0
- specify_cli/upgrade/migrations/m_0_10_12_constitution_cleanup.py +99 -0
- specify_cli/upgrade/migrations/m_0_10_14_update_implement_slash_command.py +176 -0
- specify_cli/upgrade/migrations/m_0_10_1_populate_slash_commands.py +174 -0
- specify_cli/upgrade/migrations/m_0_10_2_update_slash_commands.py +172 -0
- specify_cli/upgrade/migrations/m_0_10_6_workflow_simplification.py +174 -0
- specify_cli/upgrade/migrations/m_0_10_8_fix_memory_structure.py +252 -0
- specify_cli/upgrade/migrations/m_0_10_9_repair_templates.py +168 -0
- specify_cli/upgrade/migrations/m_0_11_0_workspace_per_wp.py +182 -0
- specify_cli/upgrade/migrations/m_0_11_1_improved_workflow_templates.py +173 -0
- specify_cli/upgrade/migrations/m_0_11_1_update_implement_slash_command.py +160 -0
- specify_cli/upgrade/migrations/m_0_11_2_improved_workflow_templates.py +173 -0
- specify_cli/upgrade/migrations/m_0_11_3_workflow_agent_flag.py +114 -0
- specify_cli/upgrade/migrations/m_0_12_0_documentation_mission.py +155 -0
- specify_cli/upgrade/migrations/m_0_12_1_remove_kitty_specs_from_gitignore.py +183 -0
- specify_cli/upgrade/migrations/m_0_2_0_specify_to_kittify.py +80 -0
- specify_cli/upgrade/migrations/m_0_4_8_gitignore_agents.py +118 -0
- specify_cli/upgrade/migrations/m_0_5_0_encoding_hooks.py +141 -0
- specify_cli/upgrade/migrations/m_0_6_5_commands_rename.py +169 -0
- specify_cli/upgrade/migrations/m_0_6_7_ensure_missions.py +228 -0
- specify_cli/upgrade/migrations/m_0_7_2_worktree_commands_dedup.py +89 -0
- specify_cli/upgrade/migrations/m_0_7_3_update_scripts.py +114 -0
- specify_cli/upgrade/migrations/m_0_8_0_remove_active_mission.py +82 -0
- specify_cli/upgrade/migrations/m_0_8_0_worktree_agents_symlink.py +148 -0
- specify_cli/upgrade/migrations/m_0_9_0_frontmatter_only_lanes.py +346 -0
- specify_cli/upgrade/migrations/m_0_9_1_complete_lane_migration.py +656 -0
- specify_cli/upgrade/migrations/m_0_9_2_research_mission_templates.py +221 -0
- specify_cli/upgrade/registry.py +121 -0
- specify_cli/upgrade/runner.py +284 -0
- specify_cli/validators/__init__.py +14 -0
- specify_cli/validators/paths.py +154 -0
- specify_cli/validators/research.py +428 -0
- specify_cli/verify_enhanced.py +270 -0
- specify_cli/workspace_context.py +224 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Release: {documentation_title}
|
|
2
|
+
|
|
3
|
+
**Documentation Mission**: {mission_name}
|
|
4
|
+
**Release Date**: {release_date}
|
|
5
|
+
**Version**: {version}
|
|
6
|
+
|
|
7
|
+
> **Purpose**: This document captures the publish and handoff details for this documentation effort. Use it to record hosting configuration, deployment steps, and ownership information.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Hosting Target
|
|
12
|
+
|
|
13
|
+
**Platform**: {platform}
|
|
14
|
+
<!-- Examples: Read the Docs, GitHub Pages, Netlify, Vercel, GitBook, custom server -->
|
|
15
|
+
|
|
16
|
+
**Production URL**: {production_url}
|
|
17
|
+
<!-- The live documentation site URL -->
|
|
18
|
+
|
|
19
|
+
**Staging URL** (if applicable): {staging_url}
|
|
20
|
+
<!-- Preview/staging environment URL -->
|
|
21
|
+
|
|
22
|
+
**Domain Configuration**:
|
|
23
|
+
- Custom domain: {custom_domain} (or N/A)
|
|
24
|
+
- DNS provider: {dns_provider}
|
|
25
|
+
- SSL/TLS: {ssl_configuration}
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Build Output
|
|
30
|
+
|
|
31
|
+
**Build Command**:
|
|
32
|
+
```bash
|
|
33
|
+
{build_command}
|
|
34
|
+
```
|
|
35
|
+
<!-- Example: sphinx-build -b html docs/ docs/_build/html/ -->
|
|
36
|
+
|
|
37
|
+
**Output Directory**: `{output_directory}`
|
|
38
|
+
<!-- Example: docs/_build/html/ -->
|
|
39
|
+
|
|
40
|
+
**Build Requirements**:
|
|
41
|
+
- {requirement_1}
|
|
42
|
+
- {requirement_2}
|
|
43
|
+
<!-- Examples: Node.js 18+, Python 3.11+, Sphinx 7.x -->
|
|
44
|
+
|
|
45
|
+
**Build Time**: ~{build_time} seconds
|
|
46
|
+
<!-- Approximate time for full build -->
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Deployment Steps
|
|
51
|
+
|
|
52
|
+
### Automated Deployment (if configured)
|
|
53
|
+
|
|
54
|
+
**CI/CD Platform**: {ci_cd_platform}
|
|
55
|
+
<!-- Examples: GitHub Actions, GitLab CI, CircleCI, Jenkins -->
|
|
56
|
+
|
|
57
|
+
**Trigger**: {deployment_trigger}
|
|
58
|
+
<!-- Examples: Push to main branch, Tag creation, Manual workflow dispatch -->
|
|
59
|
+
|
|
60
|
+
**Workflow File**: `{workflow_file_path}`
|
|
61
|
+
<!-- Example: .github/workflows/docs.yml -->
|
|
62
|
+
|
|
63
|
+
### Manual Deployment Steps
|
|
64
|
+
|
|
65
|
+
If automated deployment is not available, follow these steps:
|
|
66
|
+
|
|
67
|
+
1. **Build documentation locally**:
|
|
68
|
+
```bash
|
|
69
|
+
{manual_build_step_1}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
2. **Verify build output**:
|
|
73
|
+
```bash
|
|
74
|
+
{manual_verify_step}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
3. **Deploy to hosting**:
|
|
78
|
+
```bash
|
|
79
|
+
{manual_deploy_step}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
4. **Verify live site**:
|
|
83
|
+
- Navigate to {production_url}
|
|
84
|
+
- Check all pages load correctly
|
|
85
|
+
- Verify navigation works
|
|
86
|
+
- Test search functionality (if applicable)
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Configuration Files
|
|
91
|
+
|
|
92
|
+
**Key Configuration Locations**:
|
|
93
|
+
|
|
94
|
+
| File | Purpose | Location |
|
|
95
|
+
|------|---------|----------|
|
|
96
|
+
| {config_file_1} | {purpose_1} | `{location_1}` |
|
|
97
|
+
| {config_file_2} | {purpose_2} | `{location_2}` |
|
|
98
|
+
|
|
99
|
+
<!-- Examples:
|
|
100
|
+
- docs/conf.py | Sphinx configuration | docs/conf.py
|
|
101
|
+
- mkdocs.yml | MkDocs configuration | mkdocs.yml
|
|
102
|
+
- .readthedocs.yaml | RTD build config | .readthedocs.yaml
|
|
103
|
+
-->
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Access & Credentials
|
|
108
|
+
|
|
109
|
+
**Hosting Platform Access**:
|
|
110
|
+
- Login URL: {platform_login_url}
|
|
111
|
+
- Access method: {access_method}
|
|
112
|
+
<!-- Examples: SSO via GitHub, Email/password, API key -->
|
|
113
|
+
- Credentials stored: {credential_location}
|
|
114
|
+
<!-- Examples: Team password manager, Environment secrets, 1Password vault -->
|
|
115
|
+
|
|
116
|
+
**Required Permissions**:
|
|
117
|
+
- {permission_1}
|
|
118
|
+
- {permission_2}
|
|
119
|
+
<!-- Examples: Admin access to Read the Docs project, GitHub Pages write permissions -->
|
|
120
|
+
|
|
121
|
+
**Team Members with Access**:
|
|
122
|
+
- {name_1} - {role_1} - {email_1}
|
|
123
|
+
- {name_2} - {role_2} - {email_2}
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Ownership & Maintenance
|
|
128
|
+
|
|
129
|
+
**Primary Maintainer**: {primary_maintainer_name}
|
|
130
|
+
**Contact**: {primary_maintainer_contact}
|
|
131
|
+
**Backup Maintainer**: {backup_maintainer_name}
|
|
132
|
+
|
|
133
|
+
**Maintenance Schedule**:
|
|
134
|
+
- Documentation reviews: {review_frequency}
|
|
135
|
+
<!-- Example: Quarterly, After each release, Monthly -->
|
|
136
|
+
- Dependency updates: {dependency_update_frequency}
|
|
137
|
+
<!-- Example: When major versions release, Annually -->
|
|
138
|
+
- Content refresh: {content_refresh_frequency}
|
|
139
|
+
<!-- Example: With each product release, As needed -->
|
|
140
|
+
|
|
141
|
+
**Known Issues**:
|
|
142
|
+
- {known_issue_1}
|
|
143
|
+
- {known_issue_2}
|
|
144
|
+
<!-- Document any current limitations, broken features, or planned improvements -->
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Monitoring & Analytics
|
|
149
|
+
|
|
150
|
+
**Analytics Platform**: {analytics_platform}
|
|
151
|
+
<!-- Examples: Google Analytics, Plausible, PostHog, None -->
|
|
152
|
+
|
|
153
|
+
**Dashboard URL**: {analytics_dashboard_url}
|
|
154
|
+
|
|
155
|
+
**Key Metrics**:
|
|
156
|
+
- Page views tracked: {yes_no}
|
|
157
|
+
- Search queries tracked: {yes_no}
|
|
158
|
+
- User feedback collected: {yes_no}
|
|
159
|
+
|
|
160
|
+
**Monitoring**:
|
|
161
|
+
- Uptime monitoring: {uptime_service}
|
|
162
|
+
<!-- Examples: UptimeRobot, Pingdom, None -->
|
|
163
|
+
- Build status: {build_status_url}
|
|
164
|
+
<!-- Link to CI/CD build dashboard -->
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Handoff Checklist
|
|
169
|
+
|
|
170
|
+
Use this checklist when transferring documentation ownership:
|
|
171
|
+
|
|
172
|
+
- [ ] New maintainer has access to hosting platform
|
|
173
|
+
- [ ] New maintainer can build documentation locally
|
|
174
|
+
- [ ] New maintainer has credentials to all required services
|
|
175
|
+
- [ ] New maintainer understands deployment process
|
|
176
|
+
- [ ] Build and deploy have been demonstrated
|
|
177
|
+
- [ ] Known issues and workarounds explained
|
|
178
|
+
- [ ] Contact information updated in this document
|
|
179
|
+
- [ ] Team notification sent about ownership change
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Troubleshooting
|
|
184
|
+
|
|
185
|
+
### Build Fails
|
|
186
|
+
|
|
187
|
+
**Symptom**: {build_error_symptom}
|
|
188
|
+
**Cause**: {likely_cause}
|
|
189
|
+
**Solution**: {fix_steps}
|
|
190
|
+
|
|
191
|
+
### Deployment Fails
|
|
192
|
+
|
|
193
|
+
**Symptom**: {deploy_error_symptom}
|
|
194
|
+
**Cause**: {likely_cause}
|
|
195
|
+
**Solution**: {fix_steps}
|
|
196
|
+
|
|
197
|
+
### Site Not Updating
|
|
198
|
+
|
|
199
|
+
**Symptom**: Changes committed but not visible on live site
|
|
200
|
+
**Causes**:
|
|
201
|
+
- Cache not cleared
|
|
202
|
+
- Deployment pipeline failed silently
|
|
203
|
+
- Wrong branch deployed
|
|
204
|
+
|
|
205
|
+
**Solutions**:
|
|
206
|
+
- Check CI/CD logs for errors
|
|
207
|
+
- Clear browser cache and CDN cache
|
|
208
|
+
- Verify correct branch is configured for deployment
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Additional Resources
|
|
213
|
+
|
|
214
|
+
- **Documentation Source**: {repo_url}
|
|
215
|
+
- **Issue Tracker**: {issue_tracker_url}
|
|
216
|
+
- **Team Chat**: {chat_channel}
|
|
217
|
+
- **Internal Docs**: {internal_docs_url}
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
**Notes**:
|
|
222
|
+
<!-- Add any additional context, special instructions, or historical information -->
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Feature Specification: Documentation Project - [PROJECT NAME]
|
|
2
|
+
<!-- Replace [PROJECT NAME] with the confirmed friendly title generated during /spec-kitty.specify. -->
|
|
3
|
+
|
|
4
|
+
**Feature Branch**: `[###-feature-name]`
|
|
5
|
+
**Created**: [DATE]
|
|
6
|
+
**Status**: Draft
|
|
7
|
+
**Mission**: documentation
|
|
8
|
+
**Input**: User description: "$ARGUMENTS"
|
|
9
|
+
|
|
10
|
+
## Documentation Scope
|
|
11
|
+
|
|
12
|
+
**Iteration Mode**: [NEEDS CLARIFICATION: initial | gap-filling | feature-specific]
|
|
13
|
+
**Target Audience**: [NEEDS CLARIFICATION: developers integrating library | end users | contributors | operators]
|
|
14
|
+
**Selected Divio Types**: [NEEDS CLARIFICATION: Which of tutorial, how-to, reference, explanation?]
|
|
15
|
+
**Languages Detected**: [Auto-detected during planning - JavaScript, Python, Rust, etc.]
|
|
16
|
+
**Generators to Use**: [Based on languages - JSDoc, Sphinx, rustdoc]
|
|
17
|
+
|
|
18
|
+
### Gap Analysis Results *(for gap-filling mode only)*
|
|
19
|
+
|
|
20
|
+
**Existing Documentation**:
|
|
21
|
+
- [List current docs and their Divio types]
|
|
22
|
+
- Example: `README.md` - explanation (partial)
|
|
23
|
+
- Example: `API.md` - reference (outdated)
|
|
24
|
+
|
|
25
|
+
**Identified Gaps**:
|
|
26
|
+
- [Missing Divio types or outdated content]
|
|
27
|
+
- Example: No tutorial for getting started
|
|
28
|
+
- Example: Reference docs don't cover new v2 API
|
|
29
|
+
|
|
30
|
+
**Coverage Percentage**: [X%] *(calculated from gap analysis)*
|
|
31
|
+
|
|
32
|
+
## User Scenarios & Testing *(mandatory)*
|
|
33
|
+
|
|
34
|
+
<!--
|
|
35
|
+
IMPORTANT: Documentation user stories focus on DOCUMENTATION CONSUMERS.
|
|
36
|
+
Each story should be INDEPENDENTLY TESTABLE - meaning if you implement just ONE type of documentation,
|
|
37
|
+
it should still deliver value to a specific audience.
|
|
38
|
+
|
|
39
|
+
Prioritize by user impact: Which documentation will help the most users accomplish their goals?
|
|
40
|
+
-->
|
|
41
|
+
|
|
42
|
+
### User Story 1 - [Documentation Consumer Need] (Priority: P1)
|
|
43
|
+
|
|
44
|
+
[Describe who needs the documentation and what they want to accomplish]
|
|
45
|
+
|
|
46
|
+
**Why this priority**: [Explain value - e.g., "New users can't adopt the library without a tutorial"]
|
|
47
|
+
|
|
48
|
+
**Independent Test**: [How to verify documentation achieves the goal]
|
|
49
|
+
- Example: "New developer with no prior knowledge can complete getting-started tutorial in under 15 minutes"
|
|
50
|
+
|
|
51
|
+
**Acceptance Scenarios**:
|
|
52
|
+
|
|
53
|
+
1. **Given** [user's starting state], **When** [they read/follow this documentation], **Then** [they accomplish their goal]
|
|
54
|
+
2. **Given** [documentation exists], **When** [user searches for information], **Then** [they find it within X clicks]
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### User Story 2 - [Documentation Consumer Need] (Priority: P2)
|
|
59
|
+
|
|
60
|
+
[Describe the second most important documentation need]
|
|
61
|
+
|
|
62
|
+
**Why this priority**: [Explain value]
|
|
63
|
+
|
|
64
|
+
**Independent Test**: [Describe how this can be tested independently]
|
|
65
|
+
|
|
66
|
+
**Acceptance Scenarios**:
|
|
67
|
+
|
|
68
|
+
1. **Given** [initial state], **When** [action], **Then** [expected outcome]
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### User Story 3 - [Documentation Consumer Need] (Priority: P3)
|
|
73
|
+
|
|
74
|
+
[Describe the third most important documentation need]
|
|
75
|
+
|
|
76
|
+
**Why this priority**: [Explain value]
|
|
77
|
+
|
|
78
|
+
**Independent Test**: [Describe how this can be tested independently]
|
|
79
|
+
|
|
80
|
+
**Acceptance Scenarios**:
|
|
81
|
+
|
|
82
|
+
1. **Given** [initial state], **When** [action], **Then** [expected outcome]
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
[Add more user stories as needed, each with an assigned priority]
|
|
87
|
+
|
|
88
|
+
### Edge Cases
|
|
89
|
+
|
|
90
|
+
- What happens when documentation becomes outdated after code changes?
|
|
91
|
+
- How do users find information that doesn't fit standard Divio types?
|
|
92
|
+
- What if generated documentation conflicts with manually-written documentation?
|
|
93
|
+
|
|
94
|
+
## Requirements *(mandatory)*
|
|
95
|
+
|
|
96
|
+
### Functional Requirements
|
|
97
|
+
|
|
98
|
+
#### Documentation Content
|
|
99
|
+
|
|
100
|
+
- **FR-001**: Documentation MUST include [tutorial | how-to | reference | explanation] for [feature/area]
|
|
101
|
+
- **FR-002**: Documentation MUST be accessible (proper heading hierarchy, alt text for images, clear language)
|
|
102
|
+
- **FR-003**: Documentation MUST use bias-free language and inclusive examples
|
|
103
|
+
- **FR-004**: Documentation MUST provide working code examples for all key use cases
|
|
104
|
+
|
|
105
|
+
*Example of marking unclear requirements:*
|
|
106
|
+
|
|
107
|
+
- **FR-005**: Documentation MUST cover [NEEDS CLARIFICATION: which features? all public APIs? core features only?]
|
|
108
|
+
|
|
109
|
+
#### Generation Requirements *(if using generators)*
|
|
110
|
+
|
|
111
|
+
- **FR-006**: System MUST generate API reference from [JSDoc comments | Python docstrings | Rust doc comments]
|
|
112
|
+
- **FR-007**: Generated documentation MUST integrate seamlessly with manually-written documentation
|
|
113
|
+
- **FR-008**: Generator configuration MUST be version-controlled and reproducible
|
|
114
|
+
|
|
115
|
+
#### Gap-Filling Requirements *(if gap-filling mode)*
|
|
116
|
+
|
|
117
|
+
- **FR-009**: Gap analysis MUST identify missing Divio types across all documentation areas
|
|
118
|
+
- **FR-010**: Gap analysis MUST detect API reference docs that are outdated compared to current code
|
|
119
|
+
- **FR-011**: System MUST prioritize gaps by user impact (critical, high, medium, low)
|
|
120
|
+
|
|
121
|
+
### Key Entities
|
|
122
|
+
|
|
123
|
+
- **Divio Documentation Type**: One of tutorial, how-to, reference, explanation - each with distinct purpose and characteristics
|
|
124
|
+
- **Documentation Generator**: Tool that creates reference documentation from code comments (JSDoc for JavaScript, Sphinx for Python, rustdoc for Rust)
|
|
125
|
+
- **Gap Analysis**: Assessment identifying missing or outdated documentation, with coverage metrics
|
|
126
|
+
- **Documentation Template**: Structured template following Divio principles for a specific documentation type
|
|
127
|
+
|
|
128
|
+
## Success Criteria *(mandatory)*
|
|
129
|
+
|
|
130
|
+
### Measurable Outcomes
|
|
131
|
+
|
|
132
|
+
- **SC-001**: Users can find information they need within [X] clicks/searches
|
|
133
|
+
- **SC-002**: Documentation passes accessibility checks (proper heading hierarchy, alt text for images, clear language)
|
|
134
|
+
- **SC-003**: API reference is [X]% complete (all public APIs documented)
|
|
135
|
+
- **SC-004**: [X]% of users successfully complete tasks using documentation alone (measure via user testing)
|
|
136
|
+
- **SC-005**: Documentation build completes with zero warnings or errors
|
|
137
|
+
|
|
138
|
+
### Quality Gates
|
|
139
|
+
|
|
140
|
+
- All images have descriptive alt text
|
|
141
|
+
- Heading hierarchy is proper (H1 → H2 → H3, no skipping levels)
|
|
142
|
+
- No broken links (internal or external)
|
|
143
|
+
- All code examples have been tested and work
|
|
144
|
+
- Spelling and grammar are correct
|
|
145
|
+
|
|
146
|
+
## Assumptions
|
|
147
|
+
|
|
148
|
+
- **ASM-001**: Project has code comments/docstrings for reference generation to be valuable
|
|
149
|
+
- **ASM-002**: Users are willing to maintain documentation alongside code changes
|
|
150
|
+
- **ASM-003**: Documentation will be hosted on [platform] using [static site generator]
|
|
151
|
+
- **ASM-004**: Target audience has [technical background level] and familiarity with [technologies]
|
|
152
|
+
|
|
153
|
+
## Out of Scope
|
|
154
|
+
|
|
155
|
+
The following are explicitly NOT included in this documentation project:
|
|
156
|
+
|
|
157
|
+
- Documentation hosting/deployment infrastructure (generates source files only)
|
|
158
|
+
- Documentation analytics and metrics collection (page views, search queries, time on page)
|
|
159
|
+
- AI-powered content generation (templates have placeholders, but content is human-written)
|
|
160
|
+
- Interactive documentation features (try-it-now API consoles, code playgrounds, live demos)
|
|
161
|
+
- Automatic documentation updates when code changes (manual maintenance required)
|
|
162
|
+
- Translation/localization to other languages
|
|
163
|
+
- Video tutorials or screencasts
|
|
164
|
+
- PDF or print-optimized formats (unless explicitly requested)
|
|
165
|
+
|
|
166
|
+
## Constraints
|
|
167
|
+
|
|
168
|
+
- Documentation must be maintained as code changes
|
|
169
|
+
- Generated documentation is only as good as code comments
|
|
170
|
+
- Static site generators have limitations on interactivity
|
|
171
|
+
- Some documentation types (tutorials especially) require significant manual effort
|
|
172
|
+
- Documentation must remain accurate - outdated docs are worse than no docs
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
work_package_id: "WPxx"
|
|
3
|
+
subtasks:
|
|
4
|
+
- "Txxx"
|
|
5
|
+
title: "Replace with work package title"
|
|
6
|
+
phase: "Phase N - Replace with phase name"
|
|
7
|
+
lane: "planned" # DO NOT EDIT - use: spec-kitty agent tasks move-task <WPID> --to <lane>
|
|
8
|
+
assignee: "" # Optional friendly name when in doing/for_review
|
|
9
|
+
agent: "" # CLI agent identifier (claude, codex, etc.)
|
|
10
|
+
shell_pid: "" # PID captured when the task moved to the current lane
|
|
11
|
+
review_status: "" # empty | has_feedback | acknowledged (populated by reviewers/implementers)
|
|
12
|
+
reviewed_by: "" # Agent ID of the reviewer (if reviewed)
|
|
13
|
+
history:
|
|
14
|
+
- timestamp: "{{TIMESTAMP}}"
|
|
15
|
+
lane: "planned"
|
|
16
|
+
agent: "system"
|
|
17
|
+
shell_pid: ""
|
|
18
|
+
action: "Prompt generated via /spec-kitty.tasks"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Work Package Prompt: {{work_package_id}} – {{title}}
|
|
22
|
+
|
|
23
|
+
## ⚠️ IMPORTANT: Review Feedback Status
|
|
24
|
+
|
|
25
|
+
**Read this first if you are implementing this task!**
|
|
26
|
+
|
|
27
|
+
- **Has review feedback?**: Check the `review_status` field above. If it says `has_feedback`, scroll to the **Review Feedback** section immediately (right below this notice).
|
|
28
|
+
- **You must address all feedback** before your work is complete. Feedback items are your implementation TODO list.
|
|
29
|
+
- **Mark as acknowledged**: When you understand the feedback and begin addressing it, update `review_status: acknowledged` in the frontmatter.
|
|
30
|
+
- **Report progress**: As you address each feedback item, update the Activity Log explaining what you changed.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Review Feedback
|
|
35
|
+
|
|
36
|
+
> **Populated by `/spec-kitty.review`** – Reviewers add detailed feedback here when work needs changes. Implementation must address every item listed below before returning for re-review.
|
|
37
|
+
|
|
38
|
+
*[This section is empty initially. Reviewers will populate it if the work is returned from review. If you see feedback here, treat each item as a must-do before completion.]*
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Markdown Formatting
|
|
43
|
+
Wrap HTML/XML tags in backticks: `` `<div>` ``, `` `<script>` ``
|
|
44
|
+
Use language identifiers in code blocks: ````python`, ````bash`
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Objectives & Success Criteria
|
|
49
|
+
|
|
50
|
+
- Summarize the exact outcomes that mark this work package complete.
|
|
51
|
+
- Call out key acceptance criteria or success metrics for the bundle.
|
|
52
|
+
|
|
53
|
+
## Context & Constraints
|
|
54
|
+
|
|
55
|
+
- Reference prerequisite work and related documents.
|
|
56
|
+
- Link to supporting specs: `.kittify/memory/constitution.md`, `kitty-specs/.../plan.md`, `kitty-specs/.../tasks.md`, data model, contracts, research, quickstart.
|
|
57
|
+
- Highlight architectural decisions, constraints, or trade-offs to honor.
|
|
58
|
+
|
|
59
|
+
## Subtasks & Detailed Guidance
|
|
60
|
+
|
|
61
|
+
### Subtask TXXX – Replace with summary
|
|
62
|
+
- **Purpose**: Explain why this subtask exists.
|
|
63
|
+
- **Steps**: Detailed, actionable instructions.
|
|
64
|
+
- **Files**: Canonical paths to update or create.
|
|
65
|
+
- **Parallel?**: Note if this can run alongside others.
|
|
66
|
+
- **Notes**: Edge cases, dependencies, or data requirements.
|
|
67
|
+
|
|
68
|
+
### Subtask TYYY – Replace with summary
|
|
69
|
+
- Repeat the structure above for every included `Txxx` entry.
|
|
70
|
+
|
|
71
|
+
## Test Strategy (include only when tests are required)
|
|
72
|
+
|
|
73
|
+
- Specify mandatory tests and where they live.
|
|
74
|
+
- Provide commands or scripts to run.
|
|
75
|
+
- Describe fixtures or data seeding expectations.
|
|
76
|
+
|
|
77
|
+
## Risks & Mitigations
|
|
78
|
+
|
|
79
|
+
- List known pitfalls, performance considerations, or failure modes.
|
|
80
|
+
- Provide mitigation strategies or monitoring notes.
|
|
81
|
+
|
|
82
|
+
## Review Guidance
|
|
83
|
+
|
|
84
|
+
- Key acceptance checkpoints for `/spec-kitty.review`.
|
|
85
|
+
- Any context reviewers should revisit before approving.
|
|
86
|
+
|
|
87
|
+
## Activity Log
|
|
88
|
+
|
|
89
|
+
> **CRITICAL**: Activity log entries MUST be in chronological order (oldest first, newest last).
|
|
90
|
+
|
|
91
|
+
### How to Add Activity Log Entries
|
|
92
|
+
|
|
93
|
+
**When adding an entry**:
|
|
94
|
+
1. Scroll to the bottom of this file (Activity Log section below "Valid lanes")
|
|
95
|
+
2. **APPEND the new entry at the END** (do NOT prepend or insert in middle)
|
|
96
|
+
3. Use exact format: `- YYYY-MM-DDTHH:MM:SSZ – agent_id – lane=<lane> – <action>`
|
|
97
|
+
4. Timestamp MUST be current time in UTC (check with `date -u "+%Y-%m-%dT%H:%M:%SZ"`)
|
|
98
|
+
5. Lane MUST match the frontmatter `lane:` field exactly
|
|
99
|
+
6. Agent ID should identify who made the change (claude-sonnet-4-5, codex, etc.)
|
|
100
|
+
|
|
101
|
+
**Format**:
|
|
102
|
+
```
|
|
103
|
+
- YYYY-MM-DDTHH:MM:SSZ – <agent_id> – lane=<lane> – <brief action description>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Example (correct chronological order)**:
|
|
107
|
+
```
|
|
108
|
+
- 2026-01-12T10:00:00Z – system – lane=planned – Prompt created
|
|
109
|
+
- 2026-01-12T10:30:00Z – claude – lane=doing – Started implementation
|
|
110
|
+
- 2026-01-12T11:00:00Z – codex – lane=for_review – Implementation complete, ready for review
|
|
111
|
+
- 2026-01-12T11:30:00Z – claude – lane=done – Review passed, all tests passing ← LATEST (at bottom)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Common mistakes (DO NOT DO THIS)**:
|
|
115
|
+
- ❌ Adding new entry at the top (breaks chronological order)
|
|
116
|
+
- ❌ Using future timestamps (causes acceptance validation to fail)
|
|
117
|
+
- ❌ Lane mismatch: frontmatter says `lane: "done"` but log entry says `lane=doing`
|
|
118
|
+
- ❌ Inserting in middle instead of appending to end
|
|
119
|
+
|
|
120
|
+
**Why this matters**: The acceptance system reads the LAST activity log entry as the current state. If entries are out of order, acceptance will fail even when the work is complete.
|
|
121
|
+
|
|
122
|
+
**Initial entry**:
|
|
123
|
+
- {{TIMESTAMP}} – system – lane=planned – Prompt created.
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
### Updating Lane Status
|
|
128
|
+
|
|
129
|
+
To change a work package's lane, either:
|
|
130
|
+
|
|
131
|
+
1. **Edit directly**: Change the `lane:` field in frontmatter AND append activity log entry (at the end)
|
|
132
|
+
2. **Use CLI**: `spec-kitty agent tasks move-task <WPID> --to <lane> --note "message"` (recommended)
|
|
133
|
+
|
|
134
|
+
The CLI command updates both frontmatter and activity log automatically.
|
|
135
|
+
|
|
136
|
+
**Valid lanes**: `planned`, `doing`, `for_review`, `done`
|
|
137
|
+
|
|
138
|
+
### Optional Phase Subdirectories
|
|
139
|
+
|
|
140
|
+
For large features, organize prompts under `tasks/` to keep bundles grouped while maintaining lexical ordering.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Work package task list template for feature implementation"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Work Packages: [FEATURE NAME]
|
|
6
|
+
|
|
7
|
+
**Inputs**: Design documents from `/kitty-specs/[###-feature-name]/`
|
|
8
|
+
**Prerequisites**: plan.md (required), spec.md (user stories), research.md, data-model.md, contracts/, quickstart.md
|
|
9
|
+
|
|
10
|
+
**Tests**: Only include explicit testing work when stakeholders request it.
|
|
11
|
+
|
|
12
|
+
**Organization**: Fine-grained subtasks (`Txxx`) roll up into work packages (`WPxx`). Each work package must be independently deliverable and testable.
|
|
13
|
+
|
|
14
|
+
**Prompt Files**: Each work package references a matching prompt file in `/tasks/` generated by `/spec-kitty.tasks`. Treat this file as the high-level checklist; keep deep implementation detail inside the prompt files.
|
|
15
|
+
|
|
16
|
+
## Subtask Format: `[Txxx] [P?] Description`
|
|
17
|
+
- **[P]** indicates the subtask can proceed in parallel (different files/components).
|
|
18
|
+
- Include precise file paths or modules.
|
|
19
|
+
|
|
20
|
+
## Path Conventions
|
|
21
|
+
- **Single project**: `src/`, `tests/`
|
|
22
|
+
- **Web app**: `backend/src/`, `frontend/src/`
|
|
23
|
+
- **Mobile**: `api/src/`, `ios/src/`, `android/src/`
|
|
24
|
+
- Adjust paths to match the implementation plan.
|
|
25
|
+
|
|
26
|
+
<!-- SAMPLE CONTENT BELOW. MUST BE REPLACED. -->
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Work Package WP01: Setup & Environment (Priority: P0)
|
|
31
|
+
|
|
32
|
+
**Goal**: Establish project skeleton and shared tooling.
|
|
33
|
+
**Independent Test**: Project bootstraps locally with linting and formatter hooks in place.
|
|
34
|
+
**Prompt**: `/tasks/WP01-setup-and-environment.md`
|
|
35
|
+
|
|
36
|
+
### Included Subtasks
|
|
37
|
+
- [ ] T001 Create project structure per implementation plan
|
|
38
|
+
- [ ] T002 Initialize [language] project with [framework] dependencies
|
|
39
|
+
- [ ] T003 [P] Configure linting and formatting tools
|
|
40
|
+
|
|
41
|
+
### Implementation Notes
|
|
42
|
+
- Major steps, commands, or configuration files required.
|
|
43
|
+
|
|
44
|
+
### Parallel Opportunities
|
|
45
|
+
- Highlight subtasks that can proceed concurrently.
|
|
46
|
+
|
|
47
|
+
### Dependencies
|
|
48
|
+
- None (starting package).
|
|
49
|
+
|
|
50
|
+
### Risks & Mitigations
|
|
51
|
+
- Example: Tooling compatibility across contributors; pin versions in `.tool-versions`.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Work Package WP02: Foundational Platform (Priority: P0)
|
|
56
|
+
|
|
57
|
+
**Goal**: Deliver shared services all user stories depend on.
|
|
58
|
+
**Independent Test**: Foundational services pass smoke tests; downstream work packages can start.
|
|
59
|
+
**Prompt**: `/tasks/WP02-foundational-platform.md`
|
|
60
|
+
|
|
61
|
+
### Included Subtasks
|
|
62
|
+
- [ ] T004 Setup database schema and migrations framework
|
|
63
|
+
- [ ] T005 [P] Implement authentication/authorization framework
|
|
64
|
+
- [ ] T006 [P] Setup API routing and middleware structure
|
|
65
|
+
- [ ] T007 Create base models/entities shared across stories
|
|
66
|
+
- [ ] T008 Configure error handling and logging infrastructure
|
|
67
|
+
- [ ] T009 Setup environment configuration management
|
|
68
|
+
|
|
69
|
+
### Implementation Notes
|
|
70
|
+
- Provide sequencing, infrastructure CLI commands, secrets requirements.
|
|
71
|
+
|
|
72
|
+
### Parallel Opportunities
|
|
73
|
+
- Authentication and routing can proceed in parallel once schema scaffolding exists.
|
|
74
|
+
|
|
75
|
+
### Dependencies
|
|
76
|
+
- Depends on WP01.
|
|
77
|
+
|
|
78
|
+
### Risks & Mitigations
|
|
79
|
+
- Migration drift → enforce migration linting in CI.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Work Package WP03: User Story 1 – [Title] (Priority: P1) 🎯 MVP
|
|
84
|
+
|
|
85
|
+
**Goal**: [Brief description of story outcome]
|
|
86
|
+
**Independent Test**: [Describe how to validate the story independently]
|
|
87
|
+
**Prompt**: `/tasks/WP03-user-story-1.md`
|
|
88
|
+
|
|
89
|
+
### Included Subtasks
|
|
90
|
+
- [ ] T010 [P] Contract test for [endpoint] in `tests/contract/test_[name].py`
|
|
91
|
+
- [ ] T011 [P] Integration test for [journey] in `tests/integration/test_[name].py`
|
|
92
|
+
- [ ] T012 [P] Create [Entity1] model in `src/models/[entity1].py`
|
|
93
|
+
- [ ] T013 [P] Create [Entity2] model in `src/models/[entity2].py`
|
|
94
|
+
- [ ] T014 Implement [Service] in `src/services/[service].py` (depends on T012, T013)
|
|
95
|
+
- [ ] T015 Implement [endpoint/feature] in `src/[location]/[file].py`
|
|
96
|
+
- [ ] T016 Add validation and error handling
|
|
97
|
+
- [ ] T017 Add story-specific logging and metrics
|
|
98
|
+
|
|
99
|
+
### Implementation Notes
|
|
100
|
+
- Enumerate the workflow (tests first if required, then models → services → endpoints).
|
|
101
|
+
|
|
102
|
+
### Parallel Opportunities
|
|
103
|
+
- Mention any subtasks that can be split among engineers safely.
|
|
104
|
+
|
|
105
|
+
### Dependencies
|
|
106
|
+
- Depends on WP02.
|
|
107
|
+
|
|
108
|
+
### Risks & Mitigations
|
|
109
|
+
- Data integrity risk → include migration rollback plan.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Work Package WP0N: Polish & Cross-Cutting (Priority: Px)
|
|
114
|
+
|
|
115
|
+
**Goal**: Cross-story improvements and hardening work.
|
|
116
|
+
**Independent Test**: Regression suite passes; observability and documentation updated.
|
|
117
|
+
**Prompt**: `/tasks/WP0N-polish-and-cross-cutting.md`
|
|
118
|
+
|
|
119
|
+
### Included Subtasks
|
|
120
|
+
- [ ] T0XX Documentation updates in `docs/`
|
|
121
|
+
- [ ] T0XX Code cleanup and refactoring
|
|
122
|
+
- [ ] T0XX Performance optimization across stories
|
|
123
|
+
- [ ] T0XX Security hardening
|
|
124
|
+
- [ ] T0XX Validate quickstart.md scenario
|
|
125
|
+
|
|
126
|
+
### Implementation Notes
|
|
127
|
+
- Capture finishing touches and validation guidance.
|
|
128
|
+
|
|
129
|
+
### Parallel Opportunities
|
|
130
|
+
- Identify items safe to run alongside final story testing.
|
|
131
|
+
|
|
132
|
+
### Dependencies
|
|
133
|
+
- Depends on completion of relevant story packages.
|
|
134
|
+
|
|
135
|
+
### Risks & Mitigations
|
|
136
|
+
- Regression risk → enforce smoke test before release.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Dependency & Execution Summary
|
|
141
|
+
|
|
142
|
+
- **Sequence**: WP01 → WP02 → Story-driven packages (priority order) → WP0N polish.
|
|
143
|
+
- **Parallelization**: Highlight safe parallel combinations once prerequisites complete.
|
|
144
|
+
- **MVP Scope**: Call out which work packages constitute the minimal release.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Subtask Index (Reference)
|
|
149
|
+
|
|
150
|
+
| Subtask ID | Summary | Work Package | Priority | Parallel? |
|
|
151
|
+
|------------|---------|--------------|----------|-----------|
|
|
152
|
+
| T001 | Example | WP01 | P0 | No |
|
|
153
|
+
| T002 | Example | WP01 | P0 | Yes |
|
|
154
|
+
| T010 | Example | WP03 | P1 | Yes |
|
|
155
|
+
| T014 | Example | WP03 | P1 | No |
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
> Replace all placeholder text above with feature-specific content. Keep this template structure intact so downstream automation can parse work packages reliably.
|