@cubis/foundry 0.3.71 → 0.3.73
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/CHANGELOG.md +23 -2
- package/dist/cli/core.js +9 -22
- package/dist/cli/core.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/core.ts +13 -22
- package/workflows/powers/accessibility/POWER.md +83 -94
- package/workflows/powers/accessibility/SKILL.md +82 -94
- package/workflows/powers/agent-design/POWER.md +201 -0
- package/workflows/powers/agent-design/SKILL.md +198 -0
- package/workflows/powers/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/powers/agent-design/references/skill-testing.md +164 -0
- package/workflows/powers/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/powers/agentic-eval/POWER.md +62 -0
- package/workflows/powers/agentic-eval/SKILL.md +59 -0
- package/workflows/powers/agentic-eval/references/rubric-and-regression-checklist.md +11 -0
- package/workflows/powers/api-designer/POWER.md +43 -71
- package/workflows/powers/api-designer/SKILL.md +43 -71
- package/workflows/powers/api-patterns/POWER.md +42 -56
- package/workflows/powers/api-patterns/SKILL.md +42 -57
- package/workflows/powers/architecture-designer/POWER.md +43 -60
- package/workflows/powers/architecture-designer/SKILL.md +43 -60
- package/workflows/powers/ask-questions-if-underspecified/POWER.md +51 -3
- package/workflows/powers/auth-architect/POWER.md +69 -0
- package/workflows/powers/auth-architect/SKILL.md +66 -0
- package/workflows/powers/auth-architect/references/session-token-policy-checklist.md +45 -0
- package/workflows/powers/behavioral-modes/POWER.md +100 -9
- package/workflows/powers/c-pro/POWER.md +105 -0
- package/workflows/powers/c-pro/SKILL.md +102 -0
- package/workflows/powers/c-pro/references/build-systems-and-toolchains.md +148 -0
- package/workflows/powers/c-pro/references/common-ub-and-portability.md +166 -0
- package/workflows/powers/c-pro/references/debugging-with-sanitizers.md +205 -0
- package/workflows/powers/c-pro/references/memory-safety-and-build-checklist.md +60 -0
- package/workflows/powers/c-pro/references/posix-and-platform-apis.md +244 -0
- package/workflows/powers/changelog-generator/POWER.md +127 -63
- package/workflows/powers/changelog-generator/SKILL.md +126 -63
- package/workflows/powers/ci-cd-pipelines/POWER.md +156 -0
- package/workflows/powers/ci-cd-pipelines/SKILL.md +153 -0
- package/workflows/powers/ci-cd-pipelines/references/github-actions-patterns.md +160 -0
- package/workflows/powers/ci-cd-pipelines/references/pipeline-security-checklist.md +57 -0
- package/workflows/powers/cli-developer/POWER.md +152 -95
- package/workflows/powers/cli-developer/SKILL.md +152 -95
- package/workflows/powers/cpp-pro/POWER.md +111 -0
- package/workflows/powers/cpp-pro/SKILL.md +108 -0
- package/workflows/powers/cpp-pro/references/concurrency-primitives.md +266 -0
- package/workflows/powers/cpp-pro/references/move-semantics-and-value-types.md +149 -0
- package/workflows/powers/cpp-pro/references/performance-and-profiling.md +191 -0
- package/workflows/powers/cpp-pro/references/raii-and-modern-cpp-checklist.md +87 -0
- package/workflows/powers/cpp-pro/references/template-and-concepts-patterns.md +205 -0
- package/workflows/powers/csharp-pro/POWER.md +47 -22
- package/workflows/powers/csharp-pro/SKILL.md +47 -22
- package/workflows/powers/dart-pro/POWER.md +68 -0
- package/workflows/powers/dart-pro/SKILL.md +65 -0
- package/workflows/powers/dart-pro/references/isolate-and-concurrency.md +180 -0
- package/workflows/powers/dart-pro/references/null-safety-and-async-patterns.md +133 -0
- package/workflows/powers/dart-pro/references/package-structure-and-linting.md +193 -0
- package/workflows/powers/dart-pro/references/sealed-records-patterns.md +173 -0
- package/workflows/powers/dart-pro/references/testing-and-mocking.md +235 -0
- package/workflows/powers/database-design/POWER.md +47 -33
- package/workflows/powers/database-design/SKILL.md +47 -33
- package/workflows/powers/database-optimizer/POWER.md +43 -64
- package/workflows/powers/database-optimizer/SKILL.md +43 -64
- package/workflows/powers/database-skills/POWER.md +59 -93
- package/workflows/powers/database-skills/SKILL.md +59 -93
- package/workflows/powers/debugging-strategies/POWER.md +69 -0
- package/workflows/powers/debugging-strategies/SKILL.md +66 -0
- package/workflows/powers/debugging-strategies/references/reproduce-isolate-verify-checklist.md +42 -0
- package/workflows/powers/deep-research/POWER.md +67 -0
- package/workflows/powers/deep-research/SKILL.md +64 -0
- package/workflows/powers/deep-research/references/multi-round-research-loop.md +80 -0
- package/workflows/powers/design-system-builder/POWER.md +130 -116
- package/workflows/powers/design-system-builder/SKILL.md +130 -116
- package/workflows/powers/devops-engineer/POWER.md +120 -57
- package/workflows/powers/devops-engineer/SKILL.md +120 -57
- package/workflows/powers/docker-kubernetes/POWER.md +94 -0
- package/workflows/powers/docker-kubernetes/SKILL.md +91 -0
- package/workflows/powers/docker-kubernetes/references/dockerfile-optimization-checklist.md +35 -0
- package/workflows/powers/docker-kubernetes/references/kubernetes-deployment-patterns.md +59 -0
- package/workflows/powers/documentation-templates/POWER.md +158 -127
- package/workflows/powers/documentation-templates/SKILL.md +158 -127
- package/workflows/powers/drizzle-expert/POWER.md +66 -0
- package/workflows/powers/drizzle-expert/SKILL.md +63 -0
- package/workflows/powers/drizzle-expert/references/runtime-pairing-matrix.md +16 -0
- package/workflows/powers/drizzle-expert/references/schema-and-migration-playbook.md +18 -0
- package/workflows/powers/error-ux-observability/POWER.md +144 -131
- package/workflows/powers/error-ux-observability/SKILL.md +143 -131
- package/workflows/powers/fastapi-expert/POWER.md +46 -60
- package/workflows/powers/fastapi-expert/SKILL.md +46 -60
- package/workflows/powers/firebase/POWER.md +65 -0
- package/workflows/powers/firebase/SKILL.md +62 -0
- package/workflows/powers/firebase/references/platform-routing.md +16 -0
- package/workflows/powers/firebase/references/rules-and-indexes-checklist.md +11 -0
- package/workflows/powers/flutter-design-system/POWER.md +63 -0
- package/workflows/powers/flutter-design-system/SKILL.md +60 -0
- package/workflows/powers/flutter-design-system/references/shared-widgets.md +29 -0
- package/workflows/powers/flutter-design-system/references/tokens-and-theme.md +34 -0
- package/workflows/powers/flutter-drift/POWER.md +65 -0
- package/workflows/powers/flutter-drift/SKILL.md +62 -0
- package/workflows/powers/flutter-drift/references/migrations.md +22 -0
- package/workflows/powers/flutter-drift/references/query-patterns.md +26 -0
- package/workflows/powers/flutter-feature/POWER.md +65 -0
- package/workflows/powers/flutter-feature/SKILL.md +62 -0
- package/workflows/powers/flutter-feature/references/architecture-rules.md +85 -0
- package/workflows/powers/flutter-feature/references/composite-provider.md +58 -0
- package/workflows/powers/flutter-feature/references/outbox-pattern.md +87 -0
- package/workflows/powers/flutter-feature/references/testing-patterns.md +218 -0
- package/workflows/powers/flutter-go-router/POWER.md +64 -0
- package/workflows/powers/flutter-go-router/SKILL.md +61 -0
- package/workflows/powers/flutter-go-router/references/guards-and-deeplinks.md +20 -0
- package/workflows/powers/flutter-go-router/references/typed-routes.md +27 -0
- package/workflows/powers/flutter-offline-sync/POWER.md +62 -0
- package/workflows/powers/flutter-offline-sync/SKILL.md +59 -0
- package/workflows/powers/flutter-offline-sync/references/outbox-full.md +44 -0
- package/workflows/powers/flutter-repository/POWER.md +64 -0
- package/workflows/powers/flutter-repository/SKILL.md +61 -0
- package/workflows/powers/flutter-repository/references/drift-patterns.md +21 -0
- package/workflows/powers/flutter-repository/references/retrofit-patterns.md +20 -0
- package/workflows/powers/flutter-riverpod/POWER.md +70 -0
- package/workflows/powers/flutter-riverpod/SKILL.md +67 -0
- package/workflows/powers/flutter-riverpod/references/async-and-mutations.md +19 -0
- package/workflows/powers/flutter-riverpod/references/async-lifecycle.md +19 -0
- package/workflows/powers/flutter-riverpod/references/provider-selection.md +20 -0
- package/workflows/powers/flutter-riverpod/references/testing.md +21 -0
- package/workflows/powers/flutter-riverpod/references/version-matrix.md +24 -0
- package/workflows/powers/flutter-state-machine/POWER.md +62 -0
- package/workflows/powers/flutter-state-machine/SKILL.md +59 -0
- package/workflows/powers/flutter-state-machine/references/app-state-contract.md +23 -0
- package/workflows/powers/flutter-state-machine/references/ui-rendering.md +14 -0
- package/workflows/powers/flutter-testing/POWER.md +64 -0
- package/workflows/powers/flutter-testing/SKILL.md +61 -0
- package/workflows/powers/flutter-testing/references/offline-sync-tests.md +16 -0
- package/workflows/powers/flutter-testing/references/test-layers.md +33 -0
- package/workflows/powers/frontend-code-review/POWER.md +137 -0
- package/workflows/powers/frontend-code-review/SKILL.md +134 -0
- package/workflows/powers/frontend-code-review/references/common-antipatterns.md +86 -0
- package/workflows/powers/frontend-code-review/references/performance-budgets.md +56 -0
- package/workflows/powers/frontend-code-review/references/review-checklists.md +47 -0
- package/workflows/powers/frontend-design/POWER.md +163 -362
- package/workflows/powers/frontend-design/SKILL.md +163 -362
- package/workflows/powers/game-development/POWER.md +57 -140
- package/workflows/powers/game-development/SKILL.md +57 -140
- package/workflows/powers/geo-fundamentals/POWER.md +64 -126
- package/workflows/powers/geo-fundamentals/SKILL.md +64 -127
- package/workflows/powers/git-workflow/POWER.md +135 -0
- package/workflows/powers/git-workflow/SKILL.md +132 -0
- package/workflows/powers/git-workflow/references/pr-review-checklist.md +63 -0
- package/workflows/powers/golang-pro/POWER.md +46 -35
- package/workflows/powers/golang-pro/SKILL.md +46 -35
- package/workflows/powers/graphql-architect/POWER.md +44 -62
- package/workflows/powers/graphql-architect/SKILL.md +44 -62
- package/workflows/powers/i18n-localization/POWER.md +118 -103
- package/workflows/powers/i18n-localization/SKILL.md +118 -103
- package/workflows/powers/java-pro/POWER.md +47 -22
- package/workflows/powers/java-pro/SKILL.md +47 -22
- package/workflows/powers/javascript-pro/POWER.md +47 -34
- package/workflows/powers/javascript-pro/SKILL.md +47 -34
- package/workflows/powers/kotlin-pro/POWER.md +46 -23
- package/workflows/powers/kotlin-pro/SKILL.md +46 -23
- package/workflows/powers/legacy-modernizer/POWER.md +43 -60
- package/workflows/powers/legacy-modernizer/SKILL.md +43 -60
- package/workflows/powers/mcp-builder/POWER.md +65 -0
- package/workflows/powers/mcp-builder/SKILL.md +62 -0
- package/workflows/powers/mcp-builder/references/testing-and-evals.md +17 -0
- package/workflows/powers/mcp-builder/references/transport-and-tool-design.md +17 -0
- package/workflows/powers/microservices-architect/POWER.md +43 -70
- package/workflows/powers/microservices-architect/SKILL.md +43 -70
- package/workflows/powers/mobile-design/POWER.md +110 -345
- package/workflows/powers/mobile-design/SKILL.md +110 -345
- package/workflows/powers/mongodb/POWER.md +67 -0
- package/workflows/powers/mongodb/SKILL.md +64 -0
- package/workflows/powers/mongodb/references/mongodb-checklist.md +20 -0
- package/workflows/powers/mysql/POWER.md +67 -0
- package/workflows/powers/mysql/SKILL.md +64 -0
- package/workflows/powers/mysql/references/mysql-checklist.md +20 -0
- package/workflows/powers/neki/POWER.md +67 -0
- package/workflows/powers/neki/SKILL.md +64 -0
- package/workflows/powers/neki/references/neki-checklist.md +18 -0
- package/workflows/powers/nestjs-expert/POWER.md +45 -91
- package/workflows/powers/nestjs-expert/SKILL.md +45 -91
- package/workflows/powers/nextjs-developer/POWER.md +51 -44
- package/workflows/powers/nextjs-developer/SKILL.md +51 -44
- package/workflows/powers/nodejs-best-practices/POWER.md +48 -29
- package/workflows/powers/nodejs-best-practices/SKILL.md +48 -29
- package/workflows/powers/observability/POWER.md +109 -0
- package/workflows/powers/observability/SKILL.md +106 -0
- package/workflows/powers/observability/references/alerting-and-slo-checklist.md +87 -0
- package/workflows/powers/observability/references/opentelemetry-setup-guide.md +121 -0
- package/workflows/powers/openai-docs/POWER.md +61 -0
- package/workflows/powers/openai-docs/SKILL.md +58 -0
- package/workflows/powers/openai-docs/references/official-source-playbook.md +10 -0
- package/workflows/powers/performance-profiling/POWER.md +61 -114
- package/workflows/powers/performance-profiling/SKILL.md +61 -114
- package/workflows/powers/php-pro/POWER.md +116 -0
- package/workflows/powers/php-pro/SKILL.md +113 -0
- package/workflows/powers/php-pro/references/architecture-and-di.md +239 -0
- package/workflows/powers/php-pro/references/modern-php-features.md +189 -0
- package/workflows/powers/php-pro/references/performance-and-deployment.md +197 -0
- package/workflows/powers/php-pro/references/php84-strict-typing-checklist.md +161 -0
- package/workflows/powers/php-pro/references/testing-and-static-analysis.md +235 -0
- package/workflows/powers/playwright-e2e/POWER.md +85 -0
- package/workflows/powers/playwright-e2e/SKILL.md +82 -0
- package/workflows/powers/playwright-e2e/references/locator-trace-flake-checklist.md +80 -0
- package/workflows/powers/postgres/POWER.md +67 -0
- package/workflows/powers/postgres/SKILL.md +64 -0
- package/workflows/powers/postgres/references/postgres-checklist.md +20 -0
- package/workflows/powers/prompt-engineer/POWER.md +47 -30
- package/workflows/powers/prompt-engineer/SKILL.md +47 -30
- package/workflows/powers/python-pro/POWER.md +47 -36
- package/workflows/powers/python-pro/SKILL.md +47 -36
- package/workflows/powers/react-best-practices/POWER.md +56 -33
- package/workflows/powers/react-best-practices/SKILL.md +56 -33
- package/workflows/powers/react-expert/POWER.md +47 -37
- package/workflows/powers/react-expert/SKILL.md +47 -37
- package/workflows/powers/redis/POWER.md +67 -0
- package/workflows/powers/redis/SKILL.md +64 -0
- package/workflows/powers/redis/references/redis-checklist.md +19 -0
- package/workflows/powers/ruby-pro/POWER.md +118 -0
- package/workflows/powers/ruby-pro/SKILL.md +115 -0
- package/workflows/powers/ruby-pro/references/modern-ruby-features.md +189 -0
- package/workflows/powers/ruby-pro/references/object-design-patterns.md +220 -0
- package/workflows/powers/ruby-pro/references/performance-and-profiling.md +224 -0
- package/workflows/powers/ruby-pro/references/ruby-concurrency-and-testing.md +190 -0
- package/workflows/powers/ruby-pro/references/testing-and-rspec.md +236 -0
- package/workflows/powers/rust-pro/POWER.md +45 -31
- package/workflows/powers/rust-pro/SKILL.md +45 -31
- package/workflows/powers/security-engineer/POWER.md +129 -0
- package/workflows/powers/security-engineer/SKILL.md +126 -0
- package/workflows/powers/seo-fundamentals/POWER.md +59 -102
- package/workflows/powers/seo-fundamentals/SKILL.md +59 -102
- package/workflows/powers/serverless-patterns/POWER.md +171 -0
- package/workflows/powers/serverless-patterns/SKILL.md +168 -0
- package/workflows/powers/skill-creator/POWER.md +90 -0
- package/workflows/powers/skill-creator/SKILL.md +87 -0
- package/workflows/powers/skill-creator/references/platform-formats.md +181 -0
- package/workflows/powers/skill-creator/references/schemas.md +430 -0
- package/workflows/powers/spec-miner/POWER.md +49 -57
- package/workflows/powers/spec-miner/SKILL.md +49 -57
- package/workflows/powers/sqlite/POWER.md +67 -0
- package/workflows/powers/sqlite/SKILL.md +64 -0
- package/workflows/powers/sqlite/references/sqlite-checklist.md +19 -0
- package/workflows/powers/sre-engineer/POWER.md +123 -64
- package/workflows/powers/sre-engineer/SKILL.md +123 -64
- package/workflows/powers/static-analysis/POWER.md +121 -77
- package/workflows/powers/static-analysis/SKILL.md +121 -77
- package/workflows/powers/stripe-best-practices/POWER.md +140 -17
- package/workflows/powers/stripe-best-practices/SKILL.md +139 -17
- package/workflows/powers/supabase/POWER.md +67 -0
- package/workflows/powers/supabase/SKILL.md +64 -0
- package/workflows/powers/supabase/references/supabase-checklist.md +19 -0
- package/workflows/powers/swift-pro/POWER.md +118 -0
- package/workflows/powers/swift-pro/SKILL.md +115 -0
- package/workflows/powers/swift-pro/references/concurrency-patterns.md +165 -0
- package/workflows/powers/swift-pro/references/protocol-and-generics.md +172 -0
- package/workflows/powers/swift-pro/references/sendable-and-isolation.md +116 -0
- package/workflows/powers/swift-pro/references/swift-concurrency-and-protocols.md +260 -0
- package/workflows/powers/swift-pro/references/testing-and-packages.md +192 -0
- package/workflows/powers/tailwind-patterns/POWER.md +71 -240
- package/workflows/powers/tailwind-patterns/SKILL.md +71 -240
- package/workflows/powers/testing-patterns/POWER.md +155 -10
- package/workflows/powers/testing-patterns/SKILL.md +155 -10
- package/workflows/powers/typescript-pro/POWER.md +47 -38
- package/workflows/powers/typescript-pro/SKILL.md +47 -38
- package/workflows/powers/vitess/POWER.md +67 -0
- package/workflows/powers/vitess/SKILL.md +64 -0
- package/workflows/powers/vitess/references/vitess-checklist.md +19 -0
- package/workflows/powers/vulnerability-scanner/POWER.md +146 -10
- package/workflows/powers/vulnerability-scanner/SKILL.md +146 -10
- package/workflows/powers/web-perf/POWER.md +43 -170
- package/workflows/powers/web-perf/SKILL.md +43 -170
- package/workflows/powers/webapp-testing/POWER.md +43 -164
- package/workflows/powers/webapp-testing/SKILL.md +43 -164
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/rules/GEMINI.md +65 -42
- package/workflows/workflows/agent-environment-setup/platforms/claude/rules/CLAUDE.md +8 -6
- package/workflows/workflows/agent-environment-setup/platforms/codex/rules/AGENTS.md +65 -41
- package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/copilot-instructions.md +8 -6
- package/workflows/workflows/agent-environment-setup/shared/rules/STEERING.md +9 -8
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/codex.md +1 -1
|
@@ -2,196 +2,227 @@
|
|
|
2
2
|
---
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: documentation-templates
|
|
5
|
-
description:
|
|
6
|
-
|
|
5
|
+
description: Create API documentation, architecture decision records, runbooks, onboarding guides, and technical writing using proven templates and standards.
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
metadata:
|
|
8
|
+
author: cubis-foundry
|
|
9
|
+
version: "3.0"
|
|
10
|
+
compatibility: Claude Code, Codex, GitHub Copilot, Gemini CLI
|
|
7
11
|
---
|
|
8
12
|
|
|
9
13
|
# Documentation Templates
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
## Purpose
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
Provide templates and guidance for technical documentation: API docs, architecture decision records (ADRs), runbooks, README files, onboarding guides, and inline code documentation.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- Writing or improving a project README
|
|
22
|
+
- Creating API documentation
|
|
23
|
+
- Recording architecture decisions (ADRs)
|
|
24
|
+
- Building operational runbooks
|
|
25
|
+
- Writing onboarding guides for new team members
|
|
26
|
+
- Documenting complex systems or workflows
|
|
14
27
|
|
|
15
|
-
##
|
|
28
|
+
## Instructions
|
|
16
29
|
|
|
17
|
-
###
|
|
30
|
+
### Step 1 — Choose the Right Template
|
|
18
31
|
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
|
27
|
-
| **License** | Legal |
|
|
32
|
+
| Document Type | Audience | When |
|
|
33
|
+
| ---------------- | --------------------------------- | -------------------------- |
|
|
34
|
+
| README | New contributors, users | Every project |
|
|
35
|
+
| API docs | API consumers (internal/external) | Every API |
|
|
36
|
+
| ADR | Future developers | Every significant decision |
|
|
37
|
+
| Runbook | On-call engineers | Every production system |
|
|
38
|
+
| Onboarding guide | New team members | Every team |
|
|
39
|
+
| RFC / Design doc | Reviewers before implementation | Complex features |
|
|
28
40
|
|
|
29
|
-
### README Template
|
|
41
|
+
### Step 2 — README Template
|
|
30
42
|
|
|
31
43
|
```markdown
|
|
32
44
|
# Project Name
|
|
33
45
|
|
|
34
|
-
|
|
46
|
+
One-line description of what this project does.
|
|
35
47
|
|
|
36
48
|
## Quick Start
|
|
37
49
|
|
|
38
|
-
|
|
50
|
+
\`\`\`bash
|
|
51
|
+
npm install
|
|
52
|
+
npm run dev
|
|
53
|
+
\`\`\`
|
|
39
54
|
|
|
40
55
|
## Features
|
|
41
56
|
|
|
42
|
-
- Feature 1
|
|
43
|
-
- Feature 2
|
|
57
|
+
- Feature 1: brief description
|
|
58
|
+
- Feature 2: brief description
|
|
44
59
|
|
|
45
|
-
##
|
|
60
|
+
## Architecture
|
|
46
61
|
|
|
47
|
-
|
|
48
|
-
|----------|-------------|---------|
|
|
49
|
-
| PORT | Server port | 3000 |
|
|
62
|
+
Brief overview or link to architecture docs.
|
|
50
63
|
|
|
51
|
-
##
|
|
64
|
+
## Development
|
|
52
65
|
|
|
53
|
-
|
|
54
|
-
- [Architecture](./docs/architecture.md)
|
|
66
|
+
### Prerequisites
|
|
55
67
|
|
|
56
|
-
|
|
68
|
+
- Node.js >= 20
|
|
69
|
+
- PostgreSQL >= 15
|
|
57
70
|
|
|
58
|
-
|
|
59
|
-
```
|
|
71
|
+
### Setup
|
|
60
72
|
|
|
61
|
-
|
|
73
|
+
Step-by-step local development setup.
|
|
62
74
|
|
|
63
|
-
|
|
75
|
+
### Testing
|
|
64
76
|
|
|
65
|
-
|
|
77
|
+
How to run tests.
|
|
66
78
|
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
### Deployment
|
|
80
|
+
|
|
81
|
+
How to deploy (or link to deployment docs).
|
|
69
82
|
|
|
70
|
-
|
|
83
|
+
## Contributing
|
|
71
84
|
|
|
72
|
-
|
|
73
|
-
| Name | Type | Required | Description |
|
|
74
|
-
|------|------|----------|-------------|
|
|
75
|
-
| id | string | Yes | User ID |
|
|
85
|
+
Link to CONTRIBUTING.md or brief guidelines.
|
|
76
86
|
|
|
77
|
-
|
|
78
|
-
- 200: User object
|
|
79
|
-
- 404: User not found
|
|
87
|
+
## License
|
|
80
88
|
|
|
81
|
-
|
|
82
|
-
[Request and response example]
|
|
89
|
+
MIT (or appropriate license)
|
|
83
90
|
```
|
|
84
91
|
|
|
85
|
-
|
|
92
|
+
### Step 3 — Architecture Decision Record (ADR)
|
|
86
93
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
### JSDoc/TSDoc Template
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
/**
|
|
93
|
-
* Brief description of what the function does.
|
|
94
|
-
*
|
|
95
|
-
* @param paramName - Description of parameter
|
|
96
|
-
* @returns Description of return value
|
|
97
|
-
* @throws ErrorType - When this error occurs
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* const result = functionName(input);
|
|
101
|
-
*/
|
|
102
|
-
```
|
|
94
|
+
```markdown
|
|
95
|
+
# ADR-001: Use PostgreSQL for primary datastore
|
|
103
96
|
|
|
104
|
-
|
|
97
|
+
## Status
|
|
105
98
|
|
|
106
|
-
|
|
|
107
|
-
|-----------|-----------------|
|
|
108
|
-
| Why (business logic) | What (obvious) |
|
|
109
|
-
| Complex algorithms | Every line |
|
|
110
|
-
| Non-obvious behavior | Self-explanatory code |
|
|
111
|
-
| API contracts | Implementation details |
|
|
99
|
+
Accepted | Proposed | Deprecated | Superseded by ADR-xxx
|
|
112
100
|
|
|
113
|
-
|
|
101
|
+
## Context
|
|
114
102
|
|
|
115
|
-
|
|
103
|
+
What is the problem? What constraints exist?
|
|
116
104
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
- Updated dependency
|
|
129
|
-
### Fixed
|
|
130
|
-
- Bug fix
|
|
105
|
+
## Decision
|
|
106
|
+
|
|
107
|
+
What did we decide and why?
|
|
108
|
+
|
|
109
|
+
## Consequences
|
|
110
|
+
|
|
111
|
+
What are the trade-offs? What becomes easier/harder?
|
|
112
|
+
|
|
113
|
+
## Alternatives Considered
|
|
114
|
+
|
|
115
|
+
What else did we evaluate and why did we reject it?
|
|
131
116
|
```
|
|
132
117
|
|
|
133
|
-
|
|
118
|
+
**Rules**:
|
|
134
119
|
|
|
135
|
-
|
|
120
|
+
- ADRs are immutable — supersede, don't edit
|
|
121
|
+
- Number sequentially (ADR-001, ADR-002)
|
|
122
|
+
- Title should be a decision, not a question
|
|
123
|
+
- Keep it short (1-2 pages max)
|
|
124
|
+
|
|
125
|
+
### Step 4 — Runbook Template
|
|
136
126
|
|
|
137
127
|
```markdown
|
|
138
|
-
#
|
|
128
|
+
# Runbook: [System/Alert Name]
|
|
139
129
|
|
|
140
|
-
##
|
|
141
|
-
Accepted / Deprecated / Superseded
|
|
130
|
+
## Overview
|
|
142
131
|
|
|
143
|
-
|
|
144
|
-
Why are we making this decision?
|
|
132
|
+
What this system does and why it matters.
|
|
145
133
|
|
|
146
|
-
##
|
|
147
|
-
What did we decide?
|
|
134
|
+
## Alerts
|
|
148
135
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
136
|
+
| Alert | Severity | Meaning |
|
|
137
|
+
| --------------- | -------- | ------------------------- |
|
|
138
|
+
| high_error_rate | Critical | Error rate > 5% for 5 min |
|
|
139
|
+
| high_latency | Warning | p95 > 2s for 10 min |
|
|
152
140
|
|
|
153
|
-
|
|
141
|
+
## Diagnosis Steps
|
|
154
142
|
|
|
155
|
-
|
|
143
|
+
1. Check dashboards: [link]
|
|
144
|
+
2. Check logs: `kubectl logs -l app=service-name --tail=100`
|
|
145
|
+
3. Check dependencies: [list of upstream services]
|
|
156
146
|
|
|
157
|
-
|
|
147
|
+
## Common Fixes
|
|
158
148
|
|
|
159
|
-
|
|
149
|
+
### High error rate
|
|
160
150
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
151
|
+
1. Check recent deployments: `git log --since="2 hours ago"`
|
|
152
|
+
2. If recent deploy caused it: rollback with `./deploy rollback`
|
|
153
|
+
3. If not deployment-related: check database connections
|
|
154
|
+
|
|
155
|
+
### High latency
|
|
156
|
+
|
|
157
|
+
1. Check database slow query log
|
|
158
|
+
2. Check connection pool saturation
|
|
159
|
+
3. Scale up if under heavy load: `kubectl scale --replicas=5`
|
|
164
160
|
|
|
165
|
-
##
|
|
166
|
-
- [src/index.ts]: Main entry
|
|
167
|
-
- [src/api/]: API routes
|
|
168
|
-
- [docs/]: Documentation
|
|
161
|
+
## Escalation
|
|
169
162
|
|
|
170
|
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
163
|
+
- L1: On-call engineer (PagerDuty)
|
|
164
|
+
- L2: Service owner (@team-backend)
|
|
165
|
+
- L3: Infrastructure team (@team-infra)
|
|
173
166
|
```
|
|
174
167
|
|
|
175
|
-
###
|
|
168
|
+
### Step 5 — API Documentation
|
|
176
169
|
|
|
177
|
-
|
|
178
|
-
- Clear H1-H3 hierarchy
|
|
179
|
-
- JSON/YAML examples for data structures
|
|
180
|
-
- Mermaid diagrams for flows
|
|
181
|
-
- Self-contained sections
|
|
170
|
+
**Document every endpoint with**:
|
|
182
171
|
|
|
183
|
-
|
|
172
|
+
```markdown
|
|
173
|
+
## POST /api/users
|
|
174
|
+
|
|
175
|
+
Create a new user account.
|
|
176
|
+
|
|
177
|
+
### Request
|
|
178
|
+
|
|
179
|
+
**Headers**:
|
|
180
|
+
| Header | Required | Description |
|
|
181
|
+
|--------|----------|-------------|
|
|
182
|
+
| Authorization | Yes | Bearer token |
|
|
183
|
+
| Content-Type | Yes | application/json |
|
|
184
|
+
|
|
185
|
+
**Body**:
|
|
186
|
+
| Field | Type | Required | Description |
|
|
187
|
+
|-------|------|----------|-------------|
|
|
188
|
+
| email | string | Yes | Valid email address |
|
|
189
|
+
| name | string | Yes | Full name (2-100 chars) |
|
|
190
|
+
| role | string | No | "user" (default) or "admin" |
|
|
191
|
+
|
|
192
|
+
**Example**:
|
|
193
|
+
\`\`\`json
|
|
194
|
+
{ "email": "alice@example.com", "name": "Alice Smith" }
|
|
195
|
+
\`\`\`
|
|
196
|
+
|
|
197
|
+
### Response
|
|
198
|
+
|
|
199
|
+
**201 Created**:
|
|
200
|
+
\`\`\`json
|
|
201
|
+
{ "id": "usr_abc123", "email": "alice@example.com", "name": "Alice Smith", "role": "user" }
|
|
202
|
+
\`\`\`
|
|
203
|
+
|
|
204
|
+
**400 Bad Request**:
|
|
205
|
+
\`\`\`json
|
|
206
|
+
{ "error": { "code": "VALIDATION_ERROR", "message": "Email already registered" } }
|
|
207
|
+
\`\`\`
|
|
208
|
+
|
|
209
|
+
**401 Unauthorized**:
|
|
210
|
+
\`\`\`json
|
|
211
|
+
{ "error": { "code": "UNAUTHORIZED", "message": "Invalid or expired token" } }
|
|
212
|
+
\`\`\`
|
|
213
|
+
```
|
|
184
214
|
|
|
185
|
-
##
|
|
215
|
+
## Output Format
|
|
186
216
|
|
|
187
|
-
|
|
188
|
-
|-----------|-----|
|
|
189
|
-
| **Scannable** | Headers, lists, tables |
|
|
190
|
-
| **Examples first** | Show, don't just tell |
|
|
191
|
-
| **Progressive detail** | Simple → Complex |
|
|
192
|
-
| **Up to date** | Outdated = misleading |
|
|
217
|
+
Use the appropriate template from above, filled in with project-specific details. Always include examples with realistic (not lorem ipsum) content.
|
|
193
218
|
|
|
194
|
-
|
|
219
|
+
## Examples
|
|
220
|
+
|
|
221
|
+
**User**: "Write a README for our API project"
|
|
222
|
+
|
|
223
|
+
**Response approach**: Use the README template. Fill in actual project details. Include quick start with real commands. Link to API docs. Add architecture overview if the system has multiple components.
|
|
224
|
+
|
|
225
|
+
**User**: "We need to document why we chose MongoDB over PostgreSQL"
|
|
195
226
|
|
|
196
|
-
|
|
227
|
+
**Response approach**: Use the ADR template. Document the context (data model flexibility needs), decision (MongoDB for document storage), consequences (eventual consistency trade-off), and alternatives considered (PostgreSQL with JSONB).
|
|
197
228
|
````
|