codymaster 4.1.0
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 +50 -0
- package/README.md +285 -0
- package/adapters/antigravity.js +15 -0
- package/adapters/claude-code.js +17 -0
- package/adapters/cursor.js +16 -0
- package/commands/bootstrap.md +49 -0
- package/commands/build.md +48 -0
- package/commands/content.md +48 -0
- package/commands/continuity.md +60 -0
- package/commands/debug.md +51 -0
- package/commands/demo.md +96 -0
- package/commands/deploy.md +51 -0
- package/commands/plan.md +42 -0
- package/commands/review.md +55 -0
- package/commands/track.md +46 -0
- package/commands/ux.md +46 -0
- package/dist/agent-dispatch.js +161 -0
- package/dist/chains/builtin.js +85 -0
- package/dist/continuity.js +385 -0
- package/dist/dashboard.js +926 -0
- package/dist/data.js +122 -0
- package/dist/index.js +2434 -0
- package/dist/judge.js +252 -0
- package/dist/parallel-dispatch.js +359 -0
- package/dist/parallel-quality.js +172 -0
- package/dist/skill-chain.js +258 -0
- package/install.sh +513 -0
- package/package.json +79 -0
- package/skills/.content-factory-state.json +132 -0
- package/skills/.git 2/logs/refs/heads/main +1 -0
- package/skills/.git 2/logs/refs/remotes/origin/main +1 -0
- package/skills/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
- package/skills/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
- package/skills/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
- package/skills/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
- package/skills/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
- package/skills/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
- package/skills/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
- package/skills/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
- package/skills/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
- package/skills/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
- package/skills/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
- package/skills/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
- package/skills/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
- package/skills/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
- package/skills/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
- package/skills/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
- package/skills/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
- package/skills/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
- package/skills/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
- package/skills/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
- package/skills/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
- package/skills/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
- package/skills/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
- package/skills/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
- package/skills/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
- package/skills/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
- package/skills/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
- package/skills/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
- package/skills/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
- package/skills/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
- package/skills/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
- package/skills/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
- package/skills/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
- package/skills/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
- package/skills/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
- package/skills/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
- package/skills/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
- package/skills/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
- package/skills/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
- package/skills/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
- package/skills/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
- package/skills/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
- package/skills/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
- package/skills/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
- package/skills/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
- package/skills/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
- package/skills/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
- package/skills/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
- package/skills/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
- package/skills/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
- package/skills/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
- package/skills/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
- package/skills/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
- package/skills/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
- package/skills/.git 2/refs/heads/main +1 -0
- package/skills/.git 2/refs/remotes/origin/main +1 -0
- package/skills/.pytest_cache 2/v/cache/nodeids +76 -0
- package/skills/.pytest_cache 2/v/cache/stepwise +1 -0
- package/skills/_shared/helpers.md +123 -0
- package/skills/_shared/outputs-convention.md +24 -0
- package/skills/cm-ads-tracker/SKILL.md +109 -0
- package/skills/cm-ads-tracker/evals/evals.json +55 -0
- package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
- package/skills/cm-ads-tracker/references/industry-events.md +294 -0
- package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
- package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
- package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
- package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
- package/skills/cm-brainstorm-idea/SKILL.md +423 -0
- package/skills/cm-code-review/SKILL.md +151 -0
- package/skills/cm-content-factory/SKILL.md +416 -0
- package/skills/cm-continuity/SKILL.md +399 -0
- package/skills/cm-dashboard/SKILL.md +533 -0
- package/skills/cm-dashboard/ui/app.js +1270 -0
- package/skills/cm-dashboard/ui/index.html +206 -0
- package/skills/cm-dashboard/ui/style.css +440 -0
- package/skills/cm-debugging/SKILL.md +412 -0
- package/skills/cm-deep-search/SKILL.md +242 -0
- package/skills/cm-design-system/SKILL.md +97 -0
- package/skills/cm-design-system/resources/halo-modern.md +40 -0
- package/skills/cm-design-system/resources/lunaris-advanced.md +40 -0
- package/skills/cm-design-system/resources/nitro-enterprise.md +39 -0
- package/skills/cm-design-system/resources/shadcn-default.md +37 -0
- package/skills/cm-dockit/README.md +100 -0
- package/skills/cm-dockit/SKILL.md +302 -0
- package/skills/cm-dockit/index.html +443 -0
- package/skills/cm-dockit/package-lock.json +1850 -0
- package/skills/cm-dockit/package.json +14 -0
- package/skills/cm-dockit/prompts/analysis.md +34 -0
- package/skills/cm-dockit/prompts/api-reference.md +24 -0
- package/skills/cm-dockit/prompts/architecture.md +21 -0
- package/skills/cm-dockit/prompts/data-flow.md +20 -0
- package/skills/cm-dockit/prompts/database.md +21 -0
- package/skills/cm-dockit/prompts/deployment.md +22 -0
- package/skills/cm-dockit/prompts/flows.md +21 -0
- package/skills/cm-dockit/prompts/jtbd.md +20 -0
- package/skills/cm-dockit/prompts/personas.md +24 -0
- package/skills/cm-dockit/prompts/sop-modules.md +40 -0
- package/skills/cm-dockit/scripts/doc-gen.sh +121 -0
- package/skills/cm-dockit/scripts/dockit-dashboard.sh +142 -0
- package/skills/cm-dockit/scripts/dockit-runner.sh +607 -0
- package/skills/cm-dockit/scripts/dockit-task.sh +166 -0
- package/skills/cm-dockit/skills/analyze-codebase.md +174 -0
- package/skills/cm-dockit/skills/api-reference.md +237 -0
- package/skills/cm-dockit/skills/changelog-guide.md +195 -0
- package/skills/cm-dockit/skills/content-guidelines.md +190 -0
- package/skills/cm-dockit/skills/sop-guide.md +184 -0
- package/skills/cm-dockit/skills/tech-docs.md +287 -0
- package/skills/cm-dockit/templates/markdown/structure.md +60 -0
- package/skills/cm-dockit/templates/vitepress-premium/.vitepress/config.mts +110 -0
- package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/custom.css +189 -0
- package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/index.ts +4 -0
- package/skills/cm-dockit/templates/vitepress-premium/package.json +19 -0
- package/skills/cm-dockit/templates/vitepress-premium/tests/frontend.test.ts +45 -0
- package/skills/cm-dockit/tests/runner.test.ts +66 -0
- package/skills/cm-dockit/workflows/export-markdown.md +82 -0
- package/skills/cm-dockit/workflows/generate-docs.md +68 -0
- package/skills/cm-dockit/workflows/setup-vitepress.md +181 -0
- package/skills/cm-example/SKILL.md +26 -0
- package/skills/cm-execution/SKILL.md +268 -0
- package/skills/cm-git-worktrees/SKILL.md +164 -0
- package/skills/cm-how-it-work/SKILL.md +189 -0
- package/skills/cm-identity-guard/SKILL.md +412 -0
- package/skills/cm-jtbd/SKILL.md +98 -0
- package/skills/cm-planning/SKILL.md +130 -0
- package/skills/cm-project-bootstrap/SKILL.md +161 -0
- package/skills/cm-project-bootstrap/templates/AGENTS.md +42 -0
- package/skills/cm-project-bootstrap/templates/frontend-safety.test.js +51 -0
- package/skills/cm-project-bootstrap/templates/i18n-sync.test.js +38 -0
- package/skills/cm-project-bootstrap/templates/pr-template.md +12 -0
- package/skills/cm-project-bootstrap/templates/project-identity.json +29 -0
- package/skills/cm-project-bootstrap/templates/vitest.config.js +10 -0
- package/skills/cm-quality-gate/SKILL.md +218 -0
- package/skills/cm-readit/SKILL.md +289 -0
- package/skills/cm-readit/audio-player.md +206 -0
- package/skills/cm-readit/examples/blog-reader.js +352 -0
- package/skills/cm-readit/examples/voice-cro.js +390 -0
- package/skills/cm-readit/tts-engine.md +262 -0
- package/skills/cm-readit/ui-patterns.md +362 -0
- package/skills/cm-readit/voice-cro.md +223 -0
- package/skills/cm-safe-deploy/SKILL.md +120 -0
- package/skills/cm-safe-deploy/templates/deploy.sh +89 -0
- package/skills/cm-safe-i18n/SKILL.md +473 -0
- package/skills/cm-secret-shield/SKILL.md +580 -0
- package/skills/cm-skill-chain/SKILL.md +78 -0
- package/skills/cm-skill-index/SKILL.md +318 -0
- package/skills/cm-skill-mastery/SKILL.md +169 -0
- package/skills/cm-start/SKILL.md +65 -0
- package/skills/cm-status/SKILL.md +12 -0
- package/skills/cm-tdd/SKILL.md +370 -0
- package/skills/cm-terminal/SKILL.md +177 -0
- package/skills/cm-test-gate/SKILL.md +242 -0
- package/skills/cm-ui-preview/SKILL.md +291 -0
- package/skills/cm-ux-master/DESIGN_STANDARD_TEMPLATE.md +54 -0
- package/skills/cm-ux-master/SKILL.md +114 -0
- package/skills/cro-methodology/SKILL.md +98 -0
- package/skills/cro-methodology/references/COPYWRITING.md +178 -0
- package/skills/cro-methodology/references/OBJECTIONS.md +135 -0
- package/skills/cro-methodology/references/PERSUASION.md +158 -0
- package/skills/cro-methodology/references/RESEARCH.md +220 -0
- package/skills/cro-methodology/references/funnel-analysis.md +365 -0
- package/skills/cro-methodology/references/testing-methodology.md +330 -0
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# Technical Documentation Generator — UX Master Edition
|
|
2
|
+
|
|
3
|
+
Generate professional technical system documentation with rich diagrams, visual hierarchy, and progressive disclosure.
|
|
4
|
+
|
|
5
|
+
## Input Required
|
|
6
|
+
|
|
7
|
+
- `docs/_analysis.md` (output from analyze-codebase)
|
|
8
|
+
- Access to source code for deep tracing
|
|
9
|
+
|
|
10
|
+
## Content Guidelines
|
|
11
|
+
|
|
12
|
+
**Before generating, read `skills/content-guidelines.md` for:**
|
|
13
|
+
- Mermaid theme-neutral rules (no hardcoded colors)
|
|
14
|
+
- Frontmatter requirements
|
|
15
|
+
- Writing style rules
|
|
16
|
+
|
|
17
|
+
## Output Files
|
|
18
|
+
|
|
19
|
+
### 1. `docs/architecture.md` — System Architecture
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
---
|
|
23
|
+
title: "System Architecture"
|
|
24
|
+
description: "Architecture overview and system design"
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# System Architecture
|
|
28
|
+
|
|
29
|
+
> **Quick Reference**
|
|
30
|
+
> - **Type**: [Monolith / Microservices / Serverless]
|
|
31
|
+
> - **Stack**: [Primary technologies]
|
|
32
|
+
> - **Key Modules**: [Core module names]
|
|
33
|
+
> - **Deployment**: [Docker / K8s / Serverless]
|
|
34
|
+
|
|
35
|
+
## Overview
|
|
36
|
+
[Brief description of what the system does and who it serves]
|
|
37
|
+
|
|
38
|
+
## Architecture Diagram
|
|
39
|
+
|
|
40
|
+
```mermaid
|
|
41
|
+
graph TB
|
|
42
|
+
|
|
43
|
+
Client["🌐 Client"] --> API["⚙️ API Server"]
|
|
44
|
+
API --> DB["🗄️ Database"]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Core Components
|
|
48
|
+
|
|
49
|
+
| Component | Description | Technology | Key Files |
|
|
50
|
+
|-----------|-------------|------------|-----------|
|
|
51
|
+
|
|
52
|
+
## Main Processing Flow
|
|
53
|
+
|
|
54
|
+
```mermaid
|
|
55
|
+
sequenceDiagram
|
|
56
|
+
participant C as Client
|
|
57
|
+
participant A as API
|
|
58
|
+
participant S as Service
|
|
59
|
+
participant D as Database
|
|
60
|
+
|
|
61
|
+
C->>A: Request
|
|
62
|
+
A->>S: Process
|
|
63
|
+
S->>D: Query
|
|
64
|
+
D-->>S: Result
|
|
65
|
+
S-->>A: Response
|
|
66
|
+
A-->>C: JSON
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Architecture Decision Records (ADR)
|
|
70
|
+
|
|
71
|
+
| # | Decision | Context | Status |
|
|
72
|
+
|---|----------|---------|--------|
|
|
73
|
+
| 1 | [Decision] | [Why this was chosen] | Accepted |
|
|
74
|
+
| 2 | [Decision] | [Why this was chosen] | Accepted |
|
|
75
|
+
|
|
76
|
+
<details>
|
|
77
|
+
<summary>ADR-001: [Decision Title]</summary>
|
|
78
|
+
|
|
79
|
+
**Context:** [What problem were we solving?]
|
|
80
|
+
|
|
81
|
+
**Decision:** [What we decided]
|
|
82
|
+
|
|
83
|
+
**Consequences:**
|
|
84
|
+
- ✅ [Positive outcome]
|
|
85
|
+
- ⚠️ [Trade-off]
|
|
86
|
+
- ❌ [Risk accepted]
|
|
87
|
+
|
|
88
|
+
</details>
|
|
89
|
+
|
|
90
|
+
## Security
|
|
91
|
+
[Auth model, trust boundaries, data sensitivity]
|
|
92
|
+
|
|
93
|
+
## Scalability & Performance
|
|
94
|
+
|
|
95
|
+
| Aspect | Strategy | Limit |
|
|
96
|
+
|--------|----------|-------|
|
|
97
|
+
| Caching | [Strategy] | [Max size/TTL] |
|
|
98
|
+
| Rate Limiting | [Strategy] | [Requests/min] |
|
|
99
|
+
| Scaling | [Horizontal/Vertical] | [Max instances] |
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 2. `docs/database.md` — Database
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
---
|
|
106
|
+
title: "Database"
|
|
107
|
+
description: "Schema, data relations, and data model"
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
# Database
|
|
111
|
+
|
|
112
|
+
> **Quick Reference**
|
|
113
|
+
> - **Engine**: [PostgreSQL / MySQL / MongoDB / SQLite]
|
|
114
|
+
> - **ORM**: [Prisma / SQLAlchemy / TypeORM / None]
|
|
115
|
+
> - **Tables**: [Count]
|
|
116
|
+
> - **Migrations**: [Tool used]
|
|
117
|
+
|
|
118
|
+
## ER Diagram
|
|
119
|
+
|
|
120
|
+
```mermaid
|
|
121
|
+
erDiagram
|
|
122
|
+
USERS ||--o{ ORDERS : places
|
|
123
|
+
ORDERS ||--|{ ORDER_ITEMS : contains
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Tables
|
|
127
|
+
|
|
128
|
+
### [Table Name]
|
|
129
|
+
| Column | Type | Nullable | Default | Description |
|
|
130
|
+
|--------|------|----------|---------|-------------|
|
|
131
|
+
|
|
132
|
+
## Relationships
|
|
133
|
+
| Table A | Table B | Type | FK | ON DELETE |
|
|
134
|
+
|---------|---------|------|----|-----------|
|
|
135
|
+
|
|
136
|
+
## Indexes & Constraints
|
|
137
|
+
|
|
138
|
+
| Table | Index | Columns | Type | Purpose |
|
|
139
|
+
|-------|-------|---------|------|---------|
|
|
140
|
+
|
|
141
|
+
<details>
|
|
142
|
+
<summary>Migration History</summary>
|
|
143
|
+
|
|
144
|
+
| Version | Date | Description |
|
|
145
|
+
|---------|------|-------------|
|
|
146
|
+
| 001 | [date] | Initial schema |
|
|
147
|
+
|
|
148
|
+
</details>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 3. `docs/deployment.md` — Deployment
|
|
152
|
+
|
|
153
|
+
```markdown
|
|
154
|
+
---
|
|
155
|
+
title: "Deployment Guide"
|
|
156
|
+
description: "Installation, configuration, and deployment"
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
# Deployment Guide
|
|
160
|
+
|
|
161
|
+
> **Quick Reference**
|
|
162
|
+
> - **Platform**: [Docker / AWS / Vercel / Bare Metal]
|
|
163
|
+
> - **Min Requirements**: [CPU / RAM / Disk]
|
|
164
|
+
> - **Ports**: [List of ports used]
|
|
165
|
+
> - **Health Check**: `GET /health`
|
|
166
|
+
|
|
167
|
+
## System Requirements
|
|
168
|
+
|
|
169
|
+
| Component | Minimum | Recommended |
|
|
170
|
+
|-----------|---------|-------------|
|
|
171
|
+
| CPU | [min] | [recommended] |
|
|
172
|
+
| RAM | [min] | [recommended] |
|
|
173
|
+
| Disk | [min] | [recommended] |
|
|
174
|
+
| Runtime | [version] | [version] |
|
|
175
|
+
|
|
176
|
+
## Environment Variables
|
|
177
|
+
|
|
178
|
+
| Variable | Description | Required | Default | Example |
|
|
179
|
+
|----------|-------------|----------|---------|---------|
|
|
180
|
+
|
|
181
|
+
:::warning Security
|
|
182
|
+
Never commit `.env` files. Use secrets management in production.
|
|
183
|
+
:::
|
|
184
|
+
|
|
185
|
+
## Local Setup
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# Step 1: Clone
|
|
189
|
+
git clone [repo_url]
|
|
190
|
+
cd [project]
|
|
191
|
+
|
|
192
|
+
# Step 2: Install dependencies
|
|
193
|
+
[install_command]
|
|
194
|
+
|
|
195
|
+
# Step 3: Configure
|
|
196
|
+
cp .env.example .env
|
|
197
|
+
# Edit .env with your values
|
|
198
|
+
|
|
199
|
+
# Step 4: Run
|
|
200
|
+
[run_command]
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Docker Deployment
|
|
204
|
+
|
|
205
|
+
```yaml
|
|
206
|
+
# docker-compose.yml explanation
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## CI/CD Pipeline
|
|
210
|
+
|
|
211
|
+
```mermaid
|
|
212
|
+
graph LR
|
|
213
|
+
A["🔀 Push"] --> B["🧪 Test"]
|
|
214
|
+
B --> C["📦 Build"]
|
|
215
|
+
C --> D["🚀 Deploy"]
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Monitoring & Health
|
|
219
|
+
|
|
220
|
+
| Endpoint | Purpose | Expected |
|
|
221
|
+
|----------|---------|----------|
|
|
222
|
+
| `GET /health` | Health check | `200 OK` |
|
|
223
|
+
| `GET /metrics` | Prometheus | Metrics data |
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
### 4. `docs/data-flow.md` — Data Flow
|
|
227
|
+
|
|
228
|
+
```markdown
|
|
229
|
+
---
|
|
230
|
+
title: "Data Flow"
|
|
231
|
+
description: "Data flow diagrams and integration points"
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
# Data Flow
|
|
235
|
+
|
|
236
|
+
> **Quick Reference**
|
|
237
|
+
> - **Pattern**: [Request-Response / Event-Driven / Streaming]
|
|
238
|
+
> - **Protocol**: [REST / gRPC / WebSocket / GraphQL]
|
|
239
|
+
> - **Serialization**: [JSON / Protobuf / MessagePack]
|
|
240
|
+
|
|
241
|
+
## End-to-End Data Flow
|
|
242
|
+
|
|
243
|
+
```mermaid
|
|
244
|
+
graph TB
|
|
245
|
+
Input["📥 Input"] --> Process["⚙️ Processing"]
|
|
246
|
+
Process --> Output["📤 Output"]
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## Main Workflows
|
|
250
|
+
|
|
251
|
+
### [Feature Name]
|
|
252
|
+
|
|
253
|
+
```mermaid
|
|
254
|
+
sequenceDiagram
|
|
255
|
+
participant U as User
|
|
256
|
+
participant A as API
|
|
257
|
+
participant S as Service
|
|
258
|
+
participant D as Database
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
1. User action → ...
|
|
262
|
+
2. API receives → ...
|
|
263
|
+
3. Business logic → ...
|
|
264
|
+
4. Database → ...
|
|
265
|
+
5. Response → ...
|
|
266
|
+
|
|
267
|
+
## External Integrations
|
|
268
|
+
|
|
269
|
+
| Service | Protocol | Direction | Data | Rate Limit |
|
|
270
|
+
|---------|----------|-----------|------|------------|
|
|
271
|
+
|
|
272
|
+
## Events / Webhooks
|
|
273
|
+
|
|
274
|
+
| Event | Trigger | Payload | Consumer |
|
|
275
|
+
|-------|---------|---------|----------|
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Rules
|
|
279
|
+
|
|
280
|
+
- **Quick Reference card** at top of every file (summary box)
|
|
281
|
+
- **Minimum 2 Mermaid diagrams per file**
|
|
282
|
+
- **Every claim cites** `(file_path:line_number)`
|
|
283
|
+
- **No hardcoded Mermaid colors** — VitePress theming handles light/dark
|
|
284
|
+
- **Use admonitions** (`:::tip`, `:::warning`, `:::danger`) for callouts
|
|
285
|
+
- **Use `<details>` Progressive Disclosure** for secondary information
|
|
286
|
+
- **Tables** for all structured data — never use bullet lists for tabular data
|
|
287
|
+
- **Explain WHY before WHAT** in every section
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Markdown Documentation Structure
|
|
2
|
+
|
|
3
|
+
Standard folder structure for plain Markdown documentation.
|
|
4
|
+
|
|
5
|
+
## Standard Layout
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
docs/
|
|
9
|
+
├── README.md # Landing page / index
|
|
10
|
+
│
|
|
11
|
+
├── 01-architecture.md # System architecture
|
|
12
|
+
├── 02-database.md # Database schema
|
|
13
|
+
├── 03-deployment.md # Deployment guide
|
|
14
|
+
├── 04-data-flow.md # Data flow diagrams
|
|
15
|
+
│
|
|
16
|
+
├── sop/ # SOP User Guides
|
|
17
|
+
│ ├── index.md # SOP overview
|
|
18
|
+
│ ├── 01-authentication.md # Login, register, password
|
|
19
|
+
│ ├── 02-user-management.md # CRUD users
|
|
20
|
+
│ ├── 03-[module-name].md # One per feature module
|
|
21
|
+
│ └── ...
|
|
22
|
+
│
|
|
23
|
+
├── api/ # API Reference
|
|
24
|
+
│ ├── index.md # API overview, auth, errors
|
|
25
|
+
│ ├── users.md # Users endpoints
|
|
26
|
+
│ ├── orders.md # Orders endpoints
|
|
27
|
+
│ └── ...
|
|
28
|
+
│
|
|
29
|
+
└── assets/ # Screenshots, images
|
|
30
|
+
└── screenshots/
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Naming Conventions
|
|
34
|
+
|
|
35
|
+
| Rule | Example |
|
|
36
|
+
|------|---------|
|
|
37
|
+
| Lowercase with hyphens | `user-management.md` |
|
|
38
|
+
| Number prefix for ordering | `01-architecture.md` |
|
|
39
|
+
| SOP files by module | `sop/03-order-management.md` |
|
|
40
|
+
| API files by resource | `api/users.md` |
|
|
41
|
+
|
|
42
|
+
## Frontmatter Template
|
|
43
|
+
|
|
44
|
+
Every `.md` file should include:
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
---
|
|
48
|
+
title: "Page Title"
|
|
49
|
+
description: "Brief description"
|
|
50
|
+
---
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Link Conventions
|
|
54
|
+
|
|
55
|
+
Use relative links between docs:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
See [Architecture](./01-architecture.md) for details.
|
|
59
|
+
Refer to [Users API](./api/users.md#create-user).
|
|
60
|
+
```
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { defineConfig } from 'vitepress'
|
|
2
|
+
|
|
3
|
+
// ============================================================
|
|
4
|
+
// DocKit Premium — VitePress Configuration Template
|
|
5
|
+
//
|
|
6
|
+
// Replace all [PLACEHOLDER] values with actual project info.
|
|
7
|
+
// Lines marked with "// CUSTOMIZE" should be updated per project.
|
|
8
|
+
// ============================================================
|
|
9
|
+
|
|
10
|
+
export default defineConfig({
|
|
11
|
+
// CUSTOMIZE: Project identity
|
|
12
|
+
title: '[Project Name]',
|
|
13
|
+
description: '[Project description]',
|
|
14
|
+
|
|
15
|
+
// Tell VitePress to read markdown files from the `docs` folder
|
|
16
|
+
// outside of docs-site, eliminating duplicate files!
|
|
17
|
+
srcDir: '../docs',
|
|
18
|
+
|
|
19
|
+
// CUSTOMIZE: Deployment
|
|
20
|
+
base: '/',
|
|
21
|
+
|
|
22
|
+
// Mermaid — BUILT-IN, zero extra packages needed
|
|
23
|
+
markdown: {
|
|
24
|
+
mermaid: true,
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
themeConfig: {
|
|
28
|
+
// CUSTOMIZE: Logo
|
|
29
|
+
// logo: '/logo.svg',
|
|
30
|
+
|
|
31
|
+
// Navigation bar
|
|
32
|
+
nav: [
|
|
33
|
+
{ text: 'Home', link: '/' },
|
|
34
|
+
{ text: 'Docs', link: '/architecture' },
|
|
35
|
+
{ text: 'API', link: '/api/' },
|
|
36
|
+
],
|
|
37
|
+
|
|
38
|
+
// Sidebar — auto-generated from folder structure
|
|
39
|
+
// CUSTOMIZE: Match actual docs structure
|
|
40
|
+
sidebar: [
|
|
41
|
+
{
|
|
42
|
+
text: 'Overview',
|
|
43
|
+
items: [
|
|
44
|
+
{ text: 'Introduction', link: '/' },
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
text: 'Architecture & Technical',
|
|
49
|
+
items: [
|
|
50
|
+
// Auto-populate from docs/*.md
|
|
51
|
+
// e.g., { text: 'Architecture', link: '/architecture' },
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
text: 'User Guides (SOP)',
|
|
56
|
+
items: [
|
|
57
|
+
// Auto-populate from docs/sop/*.md
|
|
58
|
+
],
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
text: 'API Reference',
|
|
62
|
+
items: [
|
|
63
|
+
// Auto-populate from docs/api/*.md
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
|
|
68
|
+
// Social links
|
|
69
|
+
socialLinks: [
|
|
70
|
+
// CUSTOMIZE
|
|
71
|
+
// { icon: 'github', link: '[GITHUB_URL]' },
|
|
72
|
+
],
|
|
73
|
+
|
|
74
|
+
// Built-in search (MiniSearch) — zero config
|
|
75
|
+
search: {
|
|
76
|
+
provider: 'local',
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
// Footer
|
|
80
|
+
footer: {
|
|
81
|
+
message: 'Built with DocKit Premium',
|
|
82
|
+
copyright: `© ${new Date().getFullYear()}`,
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
// Table of Contents depth
|
|
86
|
+
outline: {
|
|
87
|
+
level: [2, 3],
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
// Edit link - CUSTOMIZE
|
|
91
|
+
// editLink: {
|
|
92
|
+
// pattern: '[GITHUB_URL]/edit/main/docs/:path',
|
|
93
|
+
// text: 'Edit this page on GitHub',
|
|
94
|
+
// },
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
// Dark mode default
|
|
98
|
+
appearance: 'dark',
|
|
99
|
+
|
|
100
|
+
// Head tags
|
|
101
|
+
head: [
|
|
102
|
+
['meta', { name: 'theme-color', content: '#5b6ee1' }],
|
|
103
|
+
['meta', { name: 'og:type', content: 'website' }],
|
|
104
|
+
],
|
|
105
|
+
|
|
106
|
+
// Sitemap generation
|
|
107
|
+
sitemap: {
|
|
108
|
+
hostname: 'https://docs.example.com', // CUSTOMIZE
|
|
109
|
+
},
|
|
110
|
+
})
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocKit Premium — VitePress Custom Theme
|
|
3
|
+
*
|
|
4
|
+
* Modern, clean design with premium feel.
|
|
5
|
+
* Works with both light and dark modes automatically.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/* ===================== Brand Colors ===================== */
|
|
9
|
+
:root {
|
|
10
|
+
--vp-c-brand-1: #5b6ee1;
|
|
11
|
+
--vp-c-brand-2: #7c8af2;
|
|
12
|
+
--vp-c-brand-3: #4a5bc7;
|
|
13
|
+
--vp-c-brand-soft: rgba(91, 110, 225, 0.14);
|
|
14
|
+
|
|
15
|
+
/* Typography */
|
|
16
|
+
--vp-font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
|
17
|
+
Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans',
|
|
18
|
+
'Helvetica Neue', sans-serif;
|
|
19
|
+
--vp-font-family-mono: 'JetBrains Mono', 'Fira Code', 'Source Code Pro',
|
|
20
|
+
ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, Consolas,
|
|
21
|
+
'Liberation Mono', 'Courier New', monospace;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* ===================== Dark Theme ===================== */
|
|
25
|
+
.dark {
|
|
26
|
+
--vp-c-bg: #1a1a2e;
|
|
27
|
+
--vp-c-bg-alt: #16213e;
|
|
28
|
+
--vp-c-bg-elv: #1e2a4a;
|
|
29
|
+
--vp-c-bg-soft: #1e2a4a;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* ===================== Layout ===================== */
|
|
33
|
+
|
|
34
|
+
/* Wider content area */
|
|
35
|
+
.VPDoc .container {
|
|
36
|
+
max-width: 1080px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Sidebar refinement */
|
|
40
|
+
.VPSidebar {
|
|
41
|
+
font-size: 14px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* ===================== Code Blocks ===================== */
|
|
45
|
+
|
|
46
|
+
/* Code group tabs (replacement for Docusaurus Tabs) */
|
|
47
|
+
.vp-code-group .tabs label {
|
|
48
|
+
font-size: 13px;
|
|
49
|
+
font-weight: 500;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Inline code */
|
|
53
|
+
:not(pre) > code {
|
|
54
|
+
border-radius: 4px;
|
|
55
|
+
padding: 2px 6px;
|
|
56
|
+
font-size: 0.9em;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* ===================== Custom Containers ===================== */
|
|
60
|
+
|
|
61
|
+
/* Tip, Warning, Danger — VitePress handles styling automatically */
|
|
62
|
+
/* Additional polish: */
|
|
63
|
+
.custom-block {
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
font-size: 14px;
|
|
66
|
+
line-height: 1.7;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.custom-block-title {
|
|
70
|
+
font-weight: 600;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* ===================== Tables ===================== */
|
|
74
|
+
|
|
75
|
+
table {
|
|
76
|
+
font-size: 14px;
|
|
77
|
+
border-collapse: collapse;
|
|
78
|
+
width: 100%;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
th {
|
|
82
|
+
font-weight: 600;
|
|
83
|
+
text-transform: uppercase;
|
|
84
|
+
font-size: 12px;
|
|
85
|
+
letter-spacing: 0.05em;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
td, th {
|
|
89
|
+
padding: 10px 14px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Zebra striping */
|
|
93
|
+
tr:nth-child(even) {
|
|
94
|
+
background: var(--vp-c-bg-soft);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* ===================== Details/Summary ===================== */
|
|
98
|
+
|
|
99
|
+
details {
|
|
100
|
+
border: 1px solid var(--vp-c-divider);
|
|
101
|
+
border-radius: 8px;
|
|
102
|
+
padding: 12px 16px;
|
|
103
|
+
margin: 16px 0;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
details summary {
|
|
107
|
+
font-weight: 600;
|
|
108
|
+
cursor: pointer;
|
|
109
|
+
user-select: none;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
details[open] summary {
|
|
113
|
+
margin-bottom: 12px;
|
|
114
|
+
padding-bottom: 12px;
|
|
115
|
+
border-bottom: 1px solid var(--vp-c-divider);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* ===================== Mermaid ===================== */
|
|
119
|
+
|
|
120
|
+
/* Mermaid diagrams — let VitePress handle theming */
|
|
121
|
+
/* Just ensure good spacing */
|
|
122
|
+
.mermaid {
|
|
123
|
+
margin: 24px 0;
|
|
124
|
+
text-align: center;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* ===================== Quick Reference Card ===================== */
|
|
128
|
+
|
|
129
|
+
/* Style blockquotes that start with "Quick Reference" as cards */
|
|
130
|
+
blockquote {
|
|
131
|
+
border-radius: 8px;
|
|
132
|
+
padding: 16px 20px;
|
|
133
|
+
font-size: 14px;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* ===================== Responsive ===================== */
|
|
137
|
+
|
|
138
|
+
@media (max-width: 768px) {
|
|
139
|
+
table {
|
|
140
|
+
font-size: 13px;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
td, th {
|
|
144
|
+
padding: 8px 10px;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* ===================== Scrollbar (dark mode) ===================== */
|
|
149
|
+
|
|
150
|
+
.dark ::-webkit-scrollbar {
|
|
151
|
+
width: 8px;
|
|
152
|
+
height: 8px;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.dark ::-webkit-scrollbar-track {
|
|
156
|
+
background: var(--vp-c-bg);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.dark ::-webkit-scrollbar-thumb {
|
|
160
|
+
background: var(--vp-c-divider);
|
|
161
|
+
border-radius: 4px;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.dark ::-webkit-scrollbar-thumb:hover {
|
|
165
|
+
background: var(--vp-c-text-3);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/* ===================== Layout Fixes ===================== */
|
|
169
|
+
|
|
170
|
+
/* Prevent text wrapping in sidebar and handle long text with ellipsis */
|
|
171
|
+
.VPSidebarItem .text {
|
|
172
|
+
white-space: nowrap;
|
|
173
|
+
overflow: hidden;
|
|
174
|
+
text-overflow: ellipsis;
|
|
175
|
+
display: block;
|
|
176
|
+
max-width: 100%;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* Prevent site title wrapping on small screens */
|
|
180
|
+
.VPNavBarTitle .title {
|
|
181
|
+
white-space: nowrap;
|
|
182
|
+
overflow: hidden;
|
|
183
|
+
text-overflow: ellipsis;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/* Ensure right action area in Nav does not overlap title on mobile */
|
|
187
|
+
.VPNavBarMenu {
|
|
188
|
+
flex-shrink: 0;
|
|
189
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dockit-docs-site",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"dev": "vitepress dev",
|
|
8
|
+
"build": "vitepress build",
|
|
9
|
+
"preview": "vitepress preview",
|
|
10
|
+
"test": "vitest run",
|
|
11
|
+
"test:gate": "vitest run --passWithNoTests",
|
|
12
|
+
"deploy": "wrangler pages deploy .vitepress/dist"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"vitepress": "^1.0.0-rc.31",
|
|
16
|
+
"vitest": "^1.5.0",
|
|
17
|
+
"vue": "^3.4.0"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
|
|
5
|
+
// VitePress Docs Frontend Tests
|
|
6
|
+
// Ensures that the VitePress site generates correctly and handles frontmatter.
|
|
7
|
+
|
|
8
|
+
describe('VitePress Docs Verification', () => {
|
|
9
|
+
it('should have a valid package.json', () => {
|
|
10
|
+
const pkgPath = path.resolve(__dirname, '../package.json');
|
|
11
|
+
expect(fs.existsSync(pkgPath)).toBe(true);
|
|
12
|
+
|
|
13
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
14
|
+
expect(pkg.name).toBe('dockit-docs-site');
|
|
15
|
+
expect(pkg.scripts).toHaveProperty('build');
|
|
16
|
+
expect(pkg.scripts).toHaveProperty('test:gate');
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
it('should have VitePress config pointing to correct srcDir', () => {
|
|
20
|
+
const configPath = path.resolve(__dirname, '../.vitepress/config.mts');
|
|
21
|
+
expect(fs.existsSync(configPath)).toBe(true);
|
|
22
|
+
|
|
23
|
+
const configContent = fs.readFileSync(configPath, 'utf-8');
|
|
24
|
+
// Ensure srcDir is pointing to the parent docs folder to avoid duplication
|
|
25
|
+
expect(configContent).toContain("srcDir: '../docs'");
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('should enforce CSS layout rules to prevent sidebar text wrapping and overlap', () => {
|
|
29
|
+
const cssPath = path.resolve(__dirname, '../.vitepress/theme/custom.css');
|
|
30
|
+
|
|
31
|
+
// Test should not fail if custom.css doesn't exist yet, but if it does, it must have layout fixes
|
|
32
|
+
if (fs.existsSync(cssPath)) {
|
|
33
|
+
const cssContent = fs.readFileSync(cssPath, 'utf-8');
|
|
34
|
+
|
|
35
|
+
// Look for the specific layout fix CSS rules
|
|
36
|
+
expect(cssContent).toContain('.VPSidebarItem .text');
|
|
37
|
+
expect(cssContent).toContain('white-space: nowrap;');
|
|
38
|
+
expect(cssContent).toContain('text-overflow: ellipsis;');
|
|
39
|
+
|
|
40
|
+
// Look for top navigation overlap prevention rules
|
|
41
|
+
expect(cssContent).toContain('.VPNavBarTitle .title');
|
|
42
|
+
expect(cssContent).toContain('.VPNavBarMenu');
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|