baldart 3.6.2
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 +599 -0
- package/README.md +566 -0
- package/VERSION +1 -0
- package/bin/baldart.js +143 -0
- package/framework/.claude/agents/REGISTRY.md +169 -0
- package/framework/.claude/agents/api-perf-cost-auditor.md +291 -0
- package/framework/.claude/agents/code-reviewer.md +350 -0
- package/framework/.claude/agents/codebase-architect.md +391 -0
- package/framework/.claude/agents/coder.md +291 -0
- package/framework/.claude/agents/deep-human-insight.md +198 -0
- package/framework/.claude/agents/doc-reviewer.md +440 -0
- package/framework/.claude/agents/email-deliverability-architect.md +193 -0
- package/framework/.claude/agents/hybrid-ml-architect.md +285 -0
- package/framework/.claude/agents/hyper-gamification-designer.md +149 -0
- package/framework/.claude/agents/legal-counsel-gdpr.md +179 -0
- package/framework/.claude/agents/marketing-conversion-strategist.md +162 -0
- package/framework/.claude/agents/motion-expert.md +108 -0
- package/framework/.claude/agents/onboarding-architect-lead.md +230 -0
- package/framework/.claude/agents/plan-auditor.md +546 -0
- package/framework/.claude/agents/prd-card-writer.md +372 -0
- package/framework/.claude/agents/prd.md +744 -0
- package/framework/.claude/agents/qa-sentinel.md +305 -0
- package/framework/.claude/agents/remotion-animator-orchestrator.md +218 -0
- package/framework/.claude/agents/security-reviewer.md +276 -0
- package/framework/.claude/agents/senior-researcher.md +175 -0
- package/framework/.claude/agents/seo-analytics-strategist.md +156 -0
- package/framework/.claude/agents/skill-improver.md +61 -0
- package/framework/.claude/agents/ui-expert.md +191 -0
- package/framework/.claude/agents/visual-designer.md +190 -0
- package/framework/.claude/agents/website-orchestrator.md +118 -0
- package/framework/.claude/agents/wiki-curator.md +145 -0
- package/framework/.claude/commands/baldart-push.md +15 -0
- package/framework/.claude/commands/check.md +237 -0
- package/framework/.claude/commands/codexreview.md +203 -0
- package/framework/.claude/commands/design-review.md +11 -0
- package/framework/.claude/commands/issue-review.md +34 -0
- package/framework/.claude/commands/new.md +331 -0
- package/framework/.claude/commands/qa.md +257 -0
- package/framework/.claude/hooks/framework-edit-gate.js +208 -0
- package/framework/.claude/hooks/lint-before-commit.sh.template +66 -0
- package/framework/.claude/settings.local.json.example +32 -0
- package/framework/.claude/skills/api-design-principles/SKILL.md +567 -0
- package/framework/.claude/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/framework/.claude/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/framework/.claude/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/framework/.claude/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/framework/.claude/skills/baldart-push/SKILL.md +222 -0
- package/framework/.claude/skills/bug/SKILL.md +200 -0
- package/framework/.claude/skills/bug/references/logging-patterns.md +174 -0
- package/framework/.claude/skills/capture/SKILL.md +125 -0
- package/framework/.claude/skills/capture/references/synthesis-template.md +42 -0
- package/framework/.claude/skills/context-primer/SKILL.md +189 -0
- package/framework/.claude/skills/copywriting/SKILL.md +273 -0
- package/framework/.claude/skills/copywriting/references/copy-frameworks.md +338 -0
- package/framework/.claude/skills/copywriting/references/natural-transitions.md +252 -0
- package/framework/.claude/skills/doc-writing-for-rag/SKILL.md +119 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/before-after-examples.md +291 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/compact-templates.md +183 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/frontmatter-minimal.md +112 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/line-count-targets.md +110 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/schemas-and-errors.md +129 -0
- package/framework/.claude/skills/find-skills/SKILL.md +133 -0
- package/framework/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/framework/.claude/skills/frontend-design/SKILL.md +84 -0
- package/framework/.claude/skills/gamification-design/SKILL.md +130 -0
- package/framework/.claude/skills/issue-review/SKILL.md +45 -0
- package/framework/.claude/skills/kie-ai/SKILL.md +262 -0
- package/framework/.claude/skills/kie-ai/references/models-catalog.md +272 -0
- package/framework/.claude/skills/kie-ai/scripts/kie_api.sh +209 -0
- package/framework/.claude/skills/kie-ai/scripts/remove_greenscreen.py +69 -0
- package/framework/.claude/skills/kie-ai/scripts/setup_api_key.sh +77 -0
- package/framework/.claude/skills/motion-design/LICENSE +21 -0
- package/framework/.claude/skills/motion-design/README.md +82 -0
- package/framework/.claude/skills/motion-design/SKILL.md +336 -0
- package/framework/.claude/skills/motion-design/director/choreography.md +93 -0
- package/framework/.claude/skills/motion-design/director/context-adaptation.md +83 -0
- package/framework/.claude/skills/motion-design/director/core-philosophy.md +53 -0
- package/framework/.claude/skills/motion-design/director/decision-framework.md +91 -0
- package/framework/.claude/skills/motion-design/director/disney-principles.md +102 -0
- package/framework/.claude/skills/motion-design/director/emotion-mapping.md +71 -0
- package/framework/.claude/skills/motion-design/director/motion-personality.md +89 -0
- package/framework/.claude/skills/motion-design/director/narrative-structure.md +62 -0
- package/framework/.claude/skills/motion-design/patterns/ambient-continuous.md +81 -0
- package/framework/.claude/skills/motion-design/patterns/entrance-exit.md +82 -0
- package/framework/.claude/skills/motion-design/patterns/multi-element.md +69 -0
- package/framework/.claude/skills/motion-design/patterns/state-feedback.md +96 -0
- package/framework/.claude/skills/motion-design/reference/property-selection.md +95 -0
- package/framework/.claude/skills/motion-design/reference/quality-checklist.md +67 -0
- package/framework/.claude/skills/motion-design/reference/timing-easing-tables.md +106 -0
- package/framework/.claude/skills/motion-design/reference/troubleshooting.md +73 -0
- package/framework/.claude/skills/new/SKILL.md +1687 -0
- package/framework/.claude/skills/playwright-skill/API_REFERENCE.md +652 -0
- package/framework/.claude/skills/playwright-skill/SKILL.md +157 -0
- package/framework/.claude/skills/playwright-skill/package.json +26 -0
- package/framework/.claude/skills/prd/SKILL.md +228 -0
- package/framework/.claude/skills/prd/assets/card-template.yml +232 -0
- package/framework/.claude/skills/prd/assets/epic-template.yml +190 -0
- package/framework/.claude/skills/prd/assets/prd-template.md +230 -0
- package/framework/.claude/skills/prd/assets/state-template.md +78 -0
- package/framework/.claude/skills/prd/references/api-perf-gate.md +152 -0
- package/framework/.claude/skills/prd/references/audit-phase.md +478 -0
- package/framework/.claude/skills/prd/references/backlog-phase.md +145 -0
- package/framework/.claude/skills/prd/references/discovery-phase.md +359 -0
- package/framework/.claude/skills/prd/references/impact-analysis.md +233 -0
- package/framework/.claude/skills/prd/references/prd-add-phase.md +214 -0
- package/framework/.claude/skills/prd/references/prd-writing-phase.md +145 -0
- package/framework/.claude/skills/prd/references/research-phase.md +216 -0
- package/framework/.claude/skills/prd/references/ui-design-phase.md +61 -0
- package/framework/.claude/skills/prd/references/validation-phase.md +72 -0
- package/framework/.claude/skills/prd-add/SKILL.md +222 -0
- package/framework/.claude/skills/prd-add/references/impact-analysis.md +233 -0
- package/framework/.claude/skills/remotion-best-practices/SKILL.md +48 -0
- package/framework/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
- package/framework/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
- package/framework/.claude/skills/remotion-best-practices/rules/audio.md +169 -0
- package/framework/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/framework/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/framework/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
- package/framework/.claude/skills/remotion-best-practices/rules/compositions.md +141 -0
- package/framework/.claude/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/framework/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/framework/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/framework/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/framework/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/framework/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/framework/.claude/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/framework/.claude/skills/remotion-best-practices/rules/images.md +130 -0
- package/framework/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/framework/.claude/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/framework/.claude/skills/remotion-best-practices/rules/lottie.md +67 -0
- package/framework/.claude/skills/remotion-best-practices/rules/maps.md +401 -0
- package/framework/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/framework/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/framework/.claude/skills/remotion-best-practices/rules/parameters.md +98 -0
- package/framework/.claude/skills/remotion-best-practices/rules/sequencing.md +118 -0
- package/framework/.claude/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/framework/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/framework/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/framework/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
- package/framework/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/framework/.claude/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/framework/.claude/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/framework/.claude/skills/remotion-best-practices/rules/trimming.md +52 -0
- package/framework/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
- package/framework/.claude/skills/seo-audit/SKILL.md +394 -0
- package/framework/.claude/skills/seo-audit/references/aeo-geo-patterns.md +279 -0
- package/framework/.claude/skills/seo-audit/references/ai-writing-detection.md +190 -0
- package/framework/.claude/skills/simplify/SKILL.md +137 -0
- package/framework/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/framework/.claude/skills/skill-creator/SKILL.md +356 -0
- package/framework/.claude/skills/skill-creator/references/output-patterns.md +82 -0
- package/framework/.claude/skills/skill-creator/references/workflows.md +28 -0
- package/framework/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/framework/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/framework/.claude/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/framework/.claude/skills/ui-design/SKILL.md +199 -0
- package/framework/.claude/skills/ui-design/references/component-discovery.md +54 -0
- package/framework/.claude/skills/ui-design/references/evaluation.md +171 -0
- package/framework/.claude/skills/ui-design/references/generation.md +109 -0
- package/framework/.claude/skills/ui-design/references/inventory.md +59 -0
- package/framework/.claude/skills/webapp-testing/LICENSE.txt +202 -0
- package/framework/.claude/skills/webapp-testing/SKILL.md +123 -0
- package/framework/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
- package/framework/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/framework/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/framework/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
- package/framework/.claude/skills/worktree-manager/SKILL.md +680 -0
- package/framework/AGENTS.md +240 -0
- package/framework/agents/api-contracts.md +137 -0
- package/framework/agents/architecture.md +145 -0
- package/framework/agents/coding-standards.md +148 -0
- package/framework/agents/data-model.md +110 -0
- package/framework/agents/deployment-protocol.md +232 -0
- package/framework/agents/design-review.md +172 -0
- package/framework/agents/env-reference.md +171 -0
- package/framework/agents/github-issue-subagent.md +252 -0
- package/framework/agents/index.md +261 -0
- package/framework/agents/llm-wiki-methodology.md +216 -0
- package/framework/agents/maintenance-protocol.md +305 -0
- package/framework/agents/observability.md +162 -0
- package/framework/agents/performance.md +155 -0
- package/framework/agents/project-context.md +145 -0
- package/framework/agents/runbook.md +208 -0
- package/framework/agents/security.md +168 -0
- package/framework/agents/skills-mapping.md +286 -0
- package/framework/agents/testing.md +111 -0
- package/framework/agents/workflows.md +215 -0
- package/framework/docs/PROJECT-CONFIGURATION.md +336 -0
- package/framework/docs/references/brand-guidelines.md +170 -0
- package/framework/docs/references/ui-guidelines.template.md +182 -0
- package/framework/routines/code-review.routine.yml +46 -0
- package/framework/routines/doc-review.routine.yml +45 -0
- package/framework/routines/ds-drift.routine.yml +52 -0
- package/framework/routines/full-sweep.routine.yml +51 -0
- package/framework/routines/index.yml +70 -0
- package/framework/routines/skill-improve.routine.yml +50 -0
- package/framework/routines/wiki-review.routine.yml +45 -0
- package/framework/templates/baldart.config.template.yml +113 -0
- package/framework/templates/breaking-change-checklist.md +484 -0
- package/framework/templates/feature-card.template.yml +125 -0
- package/framework/templates/overlays/README.md +44 -0
- package/framework/templates/overlays/copywriting.fidelity-example.md +62 -0
- package/framework/templates/overlays/ui-design.fidelity-example.md +75 -0
- package/framework/templates/skill-project-context.snippet.md +19 -0
- package/framework/templates/spec.template.md +208 -0
- package/package.json +51 -0
- package/src/commands/add.js +229 -0
- package/src/commands/configure.js +385 -0
- package/src/commands/doctor.js +486 -0
- package/src/commands/migrate.js +185 -0
- package/src/commands/push.js +0 -0
- package/src/commands/routines.js +269 -0
- package/src/commands/status.js +130 -0
- package/src/commands/update.js +419 -0
- package/src/commands/version.js +88 -0
- package/src/utils/contamination.js +400 -0
- package/src/utils/git.js +181 -0
- package/src/utils/hooks.js +152 -0
- package/src/utils/routine-adapters/claude-code-cloud.js +78 -0
- package/src/utils/routine-adapters/cron.js +138 -0
- package/src/utils/routine-adapters/github-actions.js +141 -0
- package/src/utils/routine-adapters/index.js +21 -0
- package/src/utils/routines.js +166 -0
- package/src/utils/state.js +143 -0
- package/src/utils/symlinks.js +425 -0
- package/src/utils/ui.js +133 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Data Model
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define database schema documentation standards and data modeling guidelines.
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
|
|
9
|
+
**In**: Schema documentation format, field types, relationships, constraints.
|
|
10
|
+
**Out**: Query optimization (see agents/performance.md).
|
|
11
|
+
|
|
12
|
+
## Do
|
|
13
|
+
|
|
14
|
+
- Document all collections/tables in ${paths.references_dir}/data-model.md
|
|
15
|
+
- Define field types and constraints
|
|
16
|
+
- Document relationships between entities
|
|
17
|
+
- Update docs when schema changes
|
|
18
|
+
|
|
19
|
+
## Do Not
|
|
20
|
+
|
|
21
|
+
- Change schema without updating documentation
|
|
22
|
+
- Skip documenting new fields
|
|
23
|
+
- Make breaking changes without migration plan
|
|
24
|
+
|
|
25
|
+
## Schema Documentation Format
|
|
26
|
+
|
|
27
|
+
Each collection/table should document:
|
|
28
|
+
|
|
29
|
+
```markdown
|
|
30
|
+
## [CollectionName / TableName]
|
|
31
|
+
|
|
32
|
+
**Purpose**: [What this stores]
|
|
33
|
+
|
|
34
|
+
**Fields**:
|
|
35
|
+
| Field | Type | Required | Default | Description |
|
|
36
|
+
|-------|------|----------|---------|-------------|
|
|
37
|
+
| id | string | Yes | auto | Unique identifier |
|
|
38
|
+
| field1 | string | Yes | - | Description |
|
|
39
|
+
| field2 | number | No | 0 | Description |
|
|
40
|
+
| createdAt | timestamp | Yes | now() | Creation time |
|
|
41
|
+
| updatedAt | timestamp | Yes | now() | Last update time |
|
|
42
|
+
|
|
43
|
+
**Indexes**:
|
|
44
|
+
- Primary: `id`
|
|
45
|
+
- Index: `field1`
|
|
46
|
+
- Composite: `field1 + field2`
|
|
47
|
+
|
|
48
|
+
**Relationships**:
|
|
49
|
+
- `foreignKeyField` → References `OtherCollection.id`
|
|
50
|
+
|
|
51
|
+
**Constraints**:
|
|
52
|
+
- Unique: `field1`
|
|
53
|
+
- Check: `field2 > 0`
|
|
54
|
+
|
|
55
|
+
**Example Document/Row**:
|
|
56
|
+
\`\`\`json
|
|
57
|
+
{
|
|
58
|
+
"id": "123",
|
|
59
|
+
"field1": "value",
|
|
60
|
+
"field2": 42,
|
|
61
|
+
"createdAt": "2026-02-13T10:00:00Z",
|
|
62
|
+
"updatedAt": "2026-02-13T10:00:00Z"
|
|
63
|
+
}
|
|
64
|
+
\`\`\`
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Field Type Conventions
|
|
68
|
+
|
|
69
|
+
- [String length limits]
|
|
70
|
+
- [Number ranges]
|
|
71
|
+
- [Date/timestamp formats]
|
|
72
|
+
- [Boolean defaults]
|
|
73
|
+
- [Array/nested object guidelines]
|
|
74
|
+
- [Enum value lists]
|
|
75
|
+
|
|
76
|
+
## Naming Conventions
|
|
77
|
+
|
|
78
|
+
- [Collection/table naming - e.g., plural, lowercase]
|
|
79
|
+
- [Field naming - e.g., camelCase, snake_case]
|
|
80
|
+
- [Foreign key naming]
|
|
81
|
+
- [Index naming]
|
|
82
|
+
|
|
83
|
+
## Relationships
|
|
84
|
+
|
|
85
|
+
- [One-to-one patterns]
|
|
86
|
+
- [One-to-many patterns]
|
|
87
|
+
- [Many-to-many patterns]
|
|
88
|
+
- [Denormalization guidelines]
|
|
89
|
+
|
|
90
|
+
## Migrations
|
|
91
|
+
|
|
92
|
+
- [Migration file location]
|
|
93
|
+
- [Migration naming convention]
|
|
94
|
+
- [Rollback requirements]
|
|
95
|
+
- [Data preservation rules]
|
|
96
|
+
|
|
97
|
+
## Audit Fields
|
|
98
|
+
|
|
99
|
+
Standard fields for all collections/tables:
|
|
100
|
+
|
|
101
|
+
- `createdAt`: timestamp of creation
|
|
102
|
+
- `updatedAt`: timestamp of last update
|
|
103
|
+
- `deletedAt`: soft delete timestamp (if using soft deletes)
|
|
104
|
+
|
|
105
|
+
## Data Retention
|
|
106
|
+
|
|
107
|
+
- [Retention policies]
|
|
108
|
+
- [Archival strategy]
|
|
109
|
+
- [Deletion procedures]
|
|
110
|
+
- [GDPR/privacy compliance]
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
# Deployment Protocol
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define safe deployment procedures and rollback strategies.
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
|
|
9
|
+
**In**: Deployment steps, environments, rollback procedures, pre/post checks.
|
|
10
|
+
**Out**: Infrastructure details (see agents/runbook.md).
|
|
11
|
+
|
|
12
|
+
## Do
|
|
13
|
+
|
|
14
|
+
- Follow deployment checklist
|
|
15
|
+
- Test in staging before production
|
|
16
|
+
- Have rollback plan ready
|
|
17
|
+
- Document deployment results
|
|
18
|
+
|
|
19
|
+
## Do Not
|
|
20
|
+
|
|
21
|
+
- Deploy without testing
|
|
22
|
+
- Skip pre-deployment checks
|
|
23
|
+
- Deploy during peak hours (unless emergency)
|
|
24
|
+
|
|
25
|
+
## Environments
|
|
26
|
+
|
|
27
|
+
| Environment | Purpose | Deployment Frequency | Auto-Deploy |
|
|
28
|
+
|-------------|---------|---------------------|-------------|
|
|
29
|
+
| Development | Local dev | Continuous | N/A |
|
|
30
|
+
| Staging | Pre-production testing | On PR merge | Optional |
|
|
31
|
+
| Production | Live users | Manual/Scheduled | Conditional |
|
|
32
|
+
|
|
33
|
+
## Deployment Checklist
|
|
34
|
+
|
|
35
|
+
### Pre-Deployment
|
|
36
|
+
|
|
37
|
+
- [ ] All tests passing
|
|
38
|
+
- [ ] Code review approved
|
|
39
|
+
- [ ] Staging deployment successful
|
|
40
|
+
- [ ] Database migrations tested
|
|
41
|
+
- [ ] Rollback plan documented
|
|
42
|
+
- [ ] Monitoring alerts configured
|
|
43
|
+
- [ ] Team notified of deployment
|
|
44
|
+
- [ ] Maintenance window scheduled (if needed)
|
|
45
|
+
|
|
46
|
+
### Deployment Steps
|
|
47
|
+
|
|
48
|
+
1. **Verify current state**
|
|
49
|
+
```bash
|
|
50
|
+
[command to check current version/state]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
2. **Create backup**
|
|
54
|
+
```bash
|
|
55
|
+
[backup command]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
3. **Run database migrations** (if applicable)
|
|
59
|
+
```bash
|
|
60
|
+
[migration command]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
4. **Deploy new version**
|
|
64
|
+
```bash
|
|
65
|
+
[deploy command]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
5. **Health check**
|
|
69
|
+
```bash
|
|
70
|
+
[health check command or URL to check]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
6. **Smoke tests**
|
|
74
|
+
- [ ] Homepage loads
|
|
75
|
+
- [ ] Authentication works
|
|
76
|
+
- [ ] Critical user flows work
|
|
77
|
+
- [ ] No error spikes in logs
|
|
78
|
+
|
|
79
|
+
### Post-Deployment
|
|
80
|
+
|
|
81
|
+
- [ ] Monitor error rates for 15 minutes
|
|
82
|
+
- [ ] Check performance metrics
|
|
83
|
+
- [ ] Verify database connections stable
|
|
84
|
+
- [ ] Test critical user flows manually
|
|
85
|
+
- [ ] Update deployment log
|
|
86
|
+
- [ ] Notify team of completion
|
|
87
|
+
|
|
88
|
+
## Rollback Procedure
|
|
89
|
+
|
|
90
|
+
### When to Rollback
|
|
91
|
+
|
|
92
|
+
- Error rate > 5% increase
|
|
93
|
+
- Critical feature broken
|
|
94
|
+
- Performance degradation > 50%
|
|
95
|
+
- Data corruption detected
|
|
96
|
+
|
|
97
|
+
### Rollback Steps
|
|
98
|
+
|
|
99
|
+
1. **Announce rollback**
|
|
100
|
+
```bash
|
|
101
|
+
# Notify team
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
2. **Revert to previous version**
|
|
105
|
+
```bash
|
|
106
|
+
[rollback command]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
3. **Rollback database** (if needed)
|
|
110
|
+
```bash
|
|
111
|
+
[db rollback command]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
4. **Verify health**
|
|
115
|
+
```bash
|
|
116
|
+
[health check]
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
5. **Document issue**
|
|
120
|
+
- What went wrong
|
|
121
|
+
- Why it wasn't caught
|
|
122
|
+
- How to prevent in future
|
|
123
|
+
|
|
124
|
+
## Deployment Strategies
|
|
125
|
+
|
|
126
|
+
### Blue-Green Deployment (if applicable)
|
|
127
|
+
|
|
128
|
+
1. Deploy to green environment
|
|
129
|
+
2. Test green environment
|
|
130
|
+
3. Switch traffic to green
|
|
131
|
+
4. Keep blue as rollback option
|
|
132
|
+
|
|
133
|
+
### Canary Deployment (if applicable)
|
|
134
|
+
|
|
135
|
+
1. Deploy to subset of servers
|
|
136
|
+
2. Monitor metrics for canary group
|
|
137
|
+
3. Gradually increase percentage
|
|
138
|
+
4. Rollback if issues detected
|
|
139
|
+
|
|
140
|
+
### Rolling Deployment (if applicable)
|
|
141
|
+
|
|
142
|
+
1. Deploy to one server at a time
|
|
143
|
+
2. Verify health after each
|
|
144
|
+
3. Continue to next server
|
|
145
|
+
4. Rollback if issues detected
|
|
146
|
+
|
|
147
|
+
## Database Migrations
|
|
148
|
+
|
|
149
|
+
### Migration Checklist
|
|
150
|
+
|
|
151
|
+
- [ ] Migration tested locally
|
|
152
|
+
- [ ] Migration tested in staging
|
|
153
|
+
- [ ] Backup created before migration
|
|
154
|
+
- [ ] Migration is reversible
|
|
155
|
+
- [ ] Rollback migration tested
|
|
156
|
+
|
|
157
|
+
### Migration Best Practices
|
|
158
|
+
|
|
159
|
+
- Make migrations backwards compatible when possible
|
|
160
|
+
- Avoid locking tables during peak hours
|
|
161
|
+
- Test with production-sized data
|
|
162
|
+
- Have rollback SQL ready
|
|
163
|
+
|
|
164
|
+
## Monitoring During Deployment
|
|
165
|
+
|
|
166
|
+
Watch these metrics:
|
|
167
|
+
|
|
168
|
+
- **Error rate**: Should not increase
|
|
169
|
+
- **Response time**: Should remain stable
|
|
170
|
+
- **CPU/Memory**: Should remain within limits
|
|
171
|
+
- **Database connections**: Should remain stable
|
|
172
|
+
- **Queue depth**: Should not grow
|
|
173
|
+
|
|
174
|
+
## Emergency Hotfix Process
|
|
175
|
+
|
|
176
|
+
1. **Identify critical issue**
|
|
177
|
+
2. **Create hotfix branch** from production
|
|
178
|
+
3. **Minimal fix** - only address critical issue
|
|
179
|
+
4. **Fast-track review** (but still review!)
|
|
180
|
+
5. **Deploy with monitoring**
|
|
181
|
+
6. **Back-port to main** branch
|
|
182
|
+
7. **Post-mortem** - why did this slip through?
|
|
183
|
+
|
|
184
|
+
## Deployment Schedule
|
|
185
|
+
|
|
186
|
+
- **Staging**: Automatic on PR merge to main
|
|
187
|
+
- **Production**: [Your schedule - e.g., Mon/Wed/Fri 10am]
|
|
188
|
+
- **Hotfixes**: As needed, any time
|
|
189
|
+
- **Avoid**: Friday afternoons, holidays, weekends (unless emergency)
|
|
190
|
+
|
|
191
|
+
## Communication
|
|
192
|
+
|
|
193
|
+
### Before Deployment
|
|
194
|
+
|
|
195
|
+
- Notify team in [channel]
|
|
196
|
+
- Post in deployment log
|
|
197
|
+
- Schedule maintenance window if needed
|
|
198
|
+
|
|
199
|
+
### During Deployment
|
|
200
|
+
|
|
201
|
+
- Update status in [channel]
|
|
202
|
+
- Monitor alerts
|
|
203
|
+
- Be ready to rollback
|
|
204
|
+
|
|
205
|
+
### After Deployment
|
|
206
|
+
|
|
207
|
+
- Announce completion
|
|
208
|
+
- Share metrics
|
|
209
|
+
- Document any issues
|
|
210
|
+
|
|
211
|
+
## Deployment Log
|
|
212
|
+
|
|
213
|
+
Maintain a deployment log:
|
|
214
|
+
|
|
215
|
+
```markdown
|
|
216
|
+
## YYYY-MM-DD HH:MM - Version X.Y.Z
|
|
217
|
+
|
|
218
|
+
**Deployer**: [Name]
|
|
219
|
+
**Changes**: [Brief description or link to changelog]
|
|
220
|
+
**Status**: Success/Rollback
|
|
221
|
+
**Issues**: [Any issues encountered]
|
|
222
|
+
**Metrics**:
|
|
223
|
+
- Deployment time: [duration]
|
|
224
|
+
- Error rate: [before] -> [after]
|
|
225
|
+
- Response time: [before] -> [after]
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Access Control
|
|
229
|
+
|
|
230
|
+
- **Who can deploy**: [Roles/people]
|
|
231
|
+
- **Approval required**: [Yes/No, by whom]
|
|
232
|
+
- **Emergency access**: [Contact info]
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Design Review
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Define design review process and UI/UX quality standards.
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
|
|
9
|
+
**In**: UI review criteria, design consistency, accessibility.
|
|
10
|
+
**Out**: Implementation details (see agents/coding-standards.md).
|
|
11
|
+
|
|
12
|
+
## Do
|
|
13
|
+
|
|
14
|
+
- Review designs before implementation
|
|
15
|
+
- Check accessibility
|
|
16
|
+
- Ensure consistency with design system
|
|
17
|
+
- Test across devices/browsers
|
|
18
|
+
|
|
19
|
+
## Do Not
|
|
20
|
+
|
|
21
|
+
- Skip design review for "small" changes
|
|
22
|
+
- Ignore accessibility requirements
|
|
23
|
+
- Assume designs work on all screen sizes
|
|
24
|
+
|
|
25
|
+
## Design Review Checklist
|
|
26
|
+
|
|
27
|
+
### Visual Design
|
|
28
|
+
|
|
29
|
+
- [ ] Follows design system/style guide
|
|
30
|
+
- [ ] Consistent spacing and alignment
|
|
31
|
+
- [ ] Appropriate typography
|
|
32
|
+
- [ ] Color contrast meets WCAG standards
|
|
33
|
+
- [ ] Icons and imagery appropriate
|
|
34
|
+
- [ ] Loading states designed
|
|
35
|
+
- [ ] Error states designed
|
|
36
|
+
- [ ] Empty states designed
|
|
37
|
+
|
|
38
|
+
### Layout
|
|
39
|
+
|
|
40
|
+
- [ ] Responsive across breakpoints
|
|
41
|
+
- [ ] Mobile-first approach
|
|
42
|
+
- [ ] Proper use of grid/flexbox
|
|
43
|
+
- [ ] No horizontal scroll on mobile
|
|
44
|
+
- [ ] Touch targets minimum 44x44px
|
|
45
|
+
- [ ] Content hierarchy clear
|
|
46
|
+
|
|
47
|
+
### Interaction Design
|
|
48
|
+
|
|
49
|
+
- [ ] Clear call-to-actions
|
|
50
|
+
- [ ] Feedback for user actions
|
|
51
|
+
- [ ] Loading indicators where needed
|
|
52
|
+
- [ ] Error messages helpful
|
|
53
|
+
- [ ] Forms easy to complete
|
|
54
|
+
- [ ] Navigation intuitive
|
|
55
|
+
|
|
56
|
+
### Accessibility (WCAG 2.1 AA)
|
|
57
|
+
|
|
58
|
+
- [ ] Color contrast ≥ 4.5:1 (text)
|
|
59
|
+
- [ ] Color contrast ≥ 3:1 (UI components)
|
|
60
|
+
- [ ] Keyboard navigation works
|
|
61
|
+
- [ ] Focus indicators visible
|
|
62
|
+
- [ ] Alt text for images
|
|
63
|
+
- [ ] ARIA labels where needed
|
|
64
|
+
- [ ] Form labels proper
|
|
65
|
+
- [ ] Screen reader friendly
|
|
66
|
+
|
|
67
|
+
### Performance
|
|
68
|
+
|
|
69
|
+
- [ ] Images optimized
|
|
70
|
+
- [ ] Fonts optimized
|
|
71
|
+
- [ ] Animations performant
|
|
72
|
+
- [ ] No layout shift
|
|
73
|
+
- [ ] Fast loading
|
|
74
|
+
|
|
75
|
+
### Content
|
|
76
|
+
|
|
77
|
+
- [ ] Copy clear and concise
|
|
78
|
+
- [ ] Tone consistent with brand
|
|
79
|
+
- [ ] No jargon (unless necessary)
|
|
80
|
+
- [ ] Error messages helpful
|
|
81
|
+
- [ ] Microcopy thoughtful
|
|
82
|
+
|
|
83
|
+
## Review Process
|
|
84
|
+
|
|
85
|
+
### 1. Pre-Implementation Review
|
|
86
|
+
|
|
87
|
+
- Review designs/mockups
|
|
88
|
+
- Clarify requirements
|
|
89
|
+
- Identify technical constraints
|
|
90
|
+
- Estimate effort
|
|
91
|
+
|
|
92
|
+
### 2. Implementation Review
|
|
93
|
+
|
|
94
|
+
- Build matches design
|
|
95
|
+
- Interactions work as specified
|
|
96
|
+
- Edge cases handled
|
|
97
|
+
|
|
98
|
+
### 3. Final Review
|
|
99
|
+
|
|
100
|
+
- Test on multiple devices
|
|
101
|
+
- Test on multiple browsers
|
|
102
|
+
- Accessibility check
|
|
103
|
+
- Performance check
|
|
104
|
+
|
|
105
|
+
## Common Issues
|
|
106
|
+
|
|
107
|
+
### Layout Issues
|
|
108
|
+
|
|
109
|
+
- Inconsistent spacing
|
|
110
|
+
- Misaligned elements
|
|
111
|
+
- Broken responsive behavior
|
|
112
|
+
- Text overflow
|
|
113
|
+
|
|
114
|
+
### Interaction Issues
|
|
115
|
+
|
|
116
|
+
- Missing feedback
|
|
117
|
+
- Confusing navigation
|
|
118
|
+
- Unclear error messages
|
|
119
|
+
- Slow interactions
|
|
120
|
+
|
|
121
|
+
### Accessibility Issues
|
|
122
|
+
|
|
123
|
+
- Low color contrast
|
|
124
|
+
- Missing alt text
|
|
125
|
+
- No keyboard navigation
|
|
126
|
+
- Poor focus indicators
|
|
127
|
+
- Missing ARIA labels
|
|
128
|
+
|
|
129
|
+
## Review Tools
|
|
130
|
+
|
|
131
|
+
- **Design**: [e.g., Figma, Sketch, Adobe XD]
|
|
132
|
+
- **Accessibility**: [e.g., axe DevTools, WAVE, Lighthouse]
|
|
133
|
+
- **Responsive**: [e.g., Browser DevTools, BrowserStack]
|
|
134
|
+
- **Performance**: [e.g., Lighthouse, WebPageTest]
|
|
135
|
+
|
|
136
|
+
## Design System
|
|
137
|
+
|
|
138
|
+
Reference your design system:
|
|
139
|
+
|
|
140
|
+
- **Components**: [Link to component library]
|
|
141
|
+
- **Colors**: [Link to color palette]
|
|
142
|
+
- **Typography**: [Link to typography scale]
|
|
143
|
+
- **Spacing**: [Link to spacing system]
|
|
144
|
+
- **Icons**: [Link to icon set]
|
|
145
|
+
|
|
146
|
+
## Browser Support
|
|
147
|
+
|
|
148
|
+
Define supported browsers:
|
|
149
|
+
|
|
150
|
+
| Browser | Minimum Version |
|
|
151
|
+
|---------|----------------|
|
|
152
|
+
| Chrome | [version] |
|
|
153
|
+
| Firefox | [version] |
|
|
154
|
+
| Safari | [version] |
|
|
155
|
+
| Edge | [version] |
|
|
156
|
+
| Mobile Safari | [version] |
|
|
157
|
+
| Mobile Chrome | [version] |
|
|
158
|
+
|
|
159
|
+
## Device Support
|
|
160
|
+
|
|
161
|
+
Define supported devices:
|
|
162
|
+
|
|
163
|
+
- **Desktop**: [min resolution]
|
|
164
|
+
- **Tablet**: [resolution range]
|
|
165
|
+
- **Mobile**: [resolution range]
|
|
166
|
+
|
|
167
|
+
## Review Outcomes
|
|
168
|
+
|
|
169
|
+
- **Approved**: Ready for implementation/deployment
|
|
170
|
+
- **Approved with minor changes**: Small tweaks needed
|
|
171
|
+
- **Needs revision**: Significant changes required
|
|
172
|
+
- **Rejected**: Fundamental issues, needs redesign
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Environment Reference
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Document all environment variables and configuration options.
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
|
|
9
|
+
**In**: Environment variable definitions, configuration, secrets.
|
|
10
|
+
**Out**: Operational procedures (see agents/runbook.md).
|
|
11
|
+
|
|
12
|
+
## Do
|
|
13
|
+
|
|
14
|
+
- Document all environment variables
|
|
15
|
+
- Provide examples
|
|
16
|
+
- Specify required vs optional
|
|
17
|
+
- Update when adding new variables
|
|
18
|
+
|
|
19
|
+
## Do Not
|
|
20
|
+
|
|
21
|
+
- Commit actual secret values
|
|
22
|
+
- Use production values in examples
|
|
23
|
+
|
|
24
|
+
## Environment Variables
|
|
25
|
+
|
|
26
|
+
### Application Configuration
|
|
27
|
+
|
|
28
|
+
| Variable | Required | Default | Description | Example |
|
|
29
|
+
|----------|----------|---------|-------------|---------|
|
|
30
|
+
| `APP_NAME` | No | MyApp | Application name | `MyApp` |
|
|
31
|
+
| `APP_ENV` | Yes | - | Environment (dev/staging/prod) | `production` |
|
|
32
|
+
| `APP_PORT` | No | 3000 | Server port | `8080` |
|
|
33
|
+
| `APP_URL` | Yes | - | Application base URL | `https://app.example.com` |
|
|
34
|
+
|
|
35
|
+
### Database
|
|
36
|
+
|
|
37
|
+
| Variable | Required | Default | Description | Example |
|
|
38
|
+
|----------|----------|---------|-------------|---------|
|
|
39
|
+
| `DB_HOST` | Yes | - | Database host | `localhost` |
|
|
40
|
+
| `DB_PORT` | No | 5432 | Database port | `5432` |
|
|
41
|
+
| `DB_NAME` | Yes | - | Database name | `myapp` |
|
|
42
|
+
| `DB_USER` | Yes | - | Database username | `dbuser` |
|
|
43
|
+
| `DB_PASSWORD` | Yes | - | Database password | `***` |
|
|
44
|
+
| `DB_SSL` | No | false | Use SSL connection | `true` |
|
|
45
|
+
|
|
46
|
+
### Authentication
|
|
47
|
+
|
|
48
|
+
| Variable | Required | Default | Description | Example |
|
|
49
|
+
|----------|----------|---------|-------------|---------|
|
|
50
|
+
| `JWT_SECRET` | Yes | - | JWT signing secret | `***` |
|
|
51
|
+
| `JWT_EXPIRY` | No | 24h | JWT expiration time | `7d` |
|
|
52
|
+
| `SESSION_SECRET` | Yes | - | Session secret key | `***` |
|
|
53
|
+
|
|
54
|
+
### External Services
|
|
55
|
+
|
|
56
|
+
| Variable | Required | Default | Description | Example |
|
|
57
|
+
|----------|----------|---------|-------------|---------|
|
|
58
|
+
| `SERVICE_API_KEY` | Yes | - | External service API key | `***` |
|
|
59
|
+
| `SERVICE_URL` | Yes | - | External service URL | `https://api.service.com` |
|
|
60
|
+
|
|
61
|
+
### Email (if applicable)
|
|
62
|
+
|
|
63
|
+
| Variable | Required | Default | Description | Example |
|
|
64
|
+
|----------|----------|---------|-------------|---------|
|
|
65
|
+
| `SMTP_HOST` | Yes | - | SMTP server host | `smtp.gmail.com` |
|
|
66
|
+
| `SMTP_PORT` | No | 587 | SMTP server port | `587` |
|
|
67
|
+
| `SMTP_USER` | Yes | - | SMTP username | `user@example.com` |
|
|
68
|
+
| `SMTP_PASSWORD` | Yes | - | SMTP password | `***` |
|
|
69
|
+
| `EMAIL_FROM` | Yes | - | Default sender email | `noreply@example.com` |
|
|
70
|
+
|
|
71
|
+
### Storage (if applicable)
|
|
72
|
+
|
|
73
|
+
| Variable | Required | Default | Description | Example |
|
|
74
|
+
|----------|----------|---------|-------------|---------|
|
|
75
|
+
| `STORAGE_TYPE` | No | local | Storage type (local/s3) | `s3` |
|
|
76
|
+
| `S3_BUCKET` | No | - | S3 bucket name | `my-bucket` |
|
|
77
|
+
| `S3_REGION` | No | - | S3 region | `us-east-1` |
|
|
78
|
+
| `S3_ACCESS_KEY` | No | - | S3 access key | `***` |
|
|
79
|
+
| `S3_SECRET_KEY` | No | - | S3 secret key | `***` |
|
|
80
|
+
|
|
81
|
+
### Monitoring/Logging
|
|
82
|
+
|
|
83
|
+
| Variable | Required | Default | Description | Example |
|
|
84
|
+
|----------|----------|---------|-------------|---------|
|
|
85
|
+
| `LOG_LEVEL` | No | info | Logging level | `debug` |
|
|
86
|
+
| `SENTRY_DSN` | No | - | Sentry error tracking DSN | `https://***@sentry.io/***` |
|
|
87
|
+
|
|
88
|
+
## Environment Files
|
|
89
|
+
|
|
90
|
+
### .env.example
|
|
91
|
+
|
|
92
|
+
Create a `.env.example` file with all variables (no secrets):
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Application
|
|
96
|
+
APP_NAME=MyApp
|
|
97
|
+
APP_ENV=development
|
|
98
|
+
APP_PORT=3000
|
|
99
|
+
APP_URL=http://localhost:3000
|
|
100
|
+
|
|
101
|
+
# Database
|
|
102
|
+
DB_HOST=localhost
|
|
103
|
+
DB_PORT=5432
|
|
104
|
+
DB_NAME=myapp
|
|
105
|
+
DB_USER=dbuser
|
|
106
|
+
DB_PASSWORD=change-me-in-production
|
|
107
|
+
|
|
108
|
+
# Authentication
|
|
109
|
+
JWT_SECRET=change-me-to-random-string
|
|
110
|
+
JWT_EXPIRY=24h
|
|
111
|
+
SESSION_SECRET=change-me-to-random-string
|
|
112
|
+
|
|
113
|
+
# External Services
|
|
114
|
+
SERVICE_API_KEY=your-api-key-here
|
|
115
|
+
SERVICE_URL=https://api.service.com
|
|
116
|
+
|
|
117
|
+
# Monitoring
|
|
118
|
+
LOG_LEVEL=info
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### .env.local (Development)
|
|
122
|
+
|
|
123
|
+
Copy `.env.example` to `.env.local` and fill in development values.
|
|
124
|
+
|
|
125
|
+
### Environment-Specific Files
|
|
126
|
+
|
|
127
|
+
- `.env.development` - Development defaults
|
|
128
|
+
- `.env.staging` - Staging configuration
|
|
129
|
+
- `.env.production` - Production configuration (never commit!)
|
|
130
|
+
|
|
131
|
+
## Secrets Management
|
|
132
|
+
|
|
133
|
+
### Development
|
|
134
|
+
|
|
135
|
+
- Use `.env` files (gitignored)
|
|
136
|
+
- Share example values in `.env.example`
|
|
137
|
+
|
|
138
|
+
### Production
|
|
139
|
+
|
|
140
|
+
- Use secrets management service (e.g., AWS Secrets Manager, HashiCorp Vault)
|
|
141
|
+
- Or use platform-specific env var management (e.g., Vercel, Heroku)
|
|
142
|
+
- Never commit production secrets
|
|
143
|
+
|
|
144
|
+
## Configuration Validation
|
|
145
|
+
|
|
146
|
+
Validate required environment variables on startup:
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
// Example validation
|
|
150
|
+
const required = ['DB_HOST', 'DB_NAME', 'JWT_SECRET'];
|
|
151
|
+
for (const key of required) {
|
|
152
|
+
if (!process.env[key]) {
|
|
153
|
+
throw new Error(`Missing required env var: ${key}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Loading Environment
|
|
159
|
+
|
|
160
|
+
Document how environment variables are loaded:
|
|
161
|
+
|
|
162
|
+
- [e.g., dotenv package]
|
|
163
|
+
- [e.g., Next.js built-in]
|
|
164
|
+
- [e.g., platform-specific]
|
|
165
|
+
|
|
166
|
+
## Feature Flags (if applicable)
|
|
167
|
+
|
|
168
|
+
| Variable | Type | Default | Description |
|
|
169
|
+
|----------|------|---------|-------------|
|
|
170
|
+
| `FEATURE_FLAG_1` | boolean | false | Enable new feature |
|
|
171
|
+
| `FEATURE_FLAG_2` | boolean | false | Enable experimental feature |
|