claude-code-workflow 6.3.9 → 6.3.11
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/.claude/CLAUDE.md +1 -1
- package/.claude/agents/issue-plan-agent.md +21 -15
- package/.claude/agents/issue-queue-agent.md +114 -87
- package/.claude/commands/issue/discover.md +427 -0
- package/.claude/commands/issue/execute.md +195 -363
- package/.claude/commands/issue/new.md +13 -1
- package/.claude/commands/issue/plan.md +55 -32
- package/.claude/commands/issue/queue.md +145 -71
- package/.claude/commands/workflow/init.md +75 -29
- package/.claude/commands/workflow/lite-fix.md +8 -0
- package/.claude/commands/workflow/lite-plan.md +8 -0
- package/.claude/commands/workflow/review-module-cycle.md +4 -0
- package/.claude/commands/workflow/review-session-cycle.md +4 -0
- package/.claude/commands/workflow/review.md +4 -4
- package/.claude/commands/workflow/session/solidify.md +299 -0
- package/.claude/commands/workflow/session/start.md +10 -7
- package/.claude/commands/workflow/tools/context-gather.md +17 -10
- package/.claude/skills/software-manual/SKILL.md +184 -0
- package/.claude/skills/software-manual/phases/01-requirements-discovery.md +162 -0
- package/.claude/skills/software-manual/phases/02-project-exploration.md +101 -0
- package/.claude/skills/software-manual/phases/02.5-api-extraction.md +161 -0
- package/.claude/skills/software-manual/phases/03-parallel-analysis.md +183 -0
- package/.claude/skills/software-manual/phases/03.5-consolidation.md +82 -0
- package/.claude/skills/software-manual/phases/04-screenshot-capture.md +89 -0
- package/.claude/skills/software-manual/phases/05-html-assembly.md +132 -0
- package/.claude/skills/software-manual/phases/06-iterative-refinement.md +259 -0
- package/.claude/skills/software-manual/scripts/api-extractor.md +245 -0
- package/.claude/skills/software-manual/scripts/bundle-libraries.md +85 -0
- package/.claude/skills/software-manual/scripts/extract_apis.py +270 -0
- package/.claude/skills/software-manual/scripts/screenshot-helper.md +447 -0
- package/.claude/skills/software-manual/scripts/swagger-runner.md +419 -0
- package/.claude/skills/software-manual/scripts/typedoc-runner.md +357 -0
- package/.claude/skills/software-manual/specs/html-template.md +325 -0
- package/.claude/skills/software-manual/specs/quality-standards.md +253 -0
- package/.claude/skills/software-manual/specs/writing-style.md +298 -0
- package/.claude/skills/software-manual/templates/css/wiki-base.css +788 -0
- package/.claude/skills/software-manual/templates/css/wiki-dark.css +278 -0
- package/.claude/skills/software-manual/templates/tiddlywiki-shell.html +327 -0
- package/.claude/workflows/cli-templates/schemas/discovery-finding-schema.json +219 -0
- package/.claude/workflows/cli-templates/schemas/discovery-state-schema.json +125 -0
- package/.claude/workflows/cli-templates/schemas/issues-jsonl-schema.json +168 -74
- package/.claude/workflows/cli-templates/schemas/queue-schema.json +225 -108
- package/.claude/workflows/cli-templates/schemas/solution-schema.json +6 -28
- package/.claude/workflows/context-tools.md +17 -25
- package/.codex/AGENTS.md +10 -5
- package/.codex/prompts/issue-execute.md +174 -84
- package/.codex/prompts/issue-plan.md +106 -0
- package/.codex/prompts/issue-queue.md +225 -0
- package/ccw/dist/cli.d.ts.map +1 -1
- package/ccw/dist/cli.js +1 -0
- package/ccw/dist/cli.js.map +1 -1
- package/ccw/dist/commands/issue.d.ts.map +1 -1
- package/ccw/dist/commands/issue.js +443 -123
- package/ccw/dist/commands/issue.js.map +1 -1
- package/ccw/dist/core/dashboard-generator.d.ts.map +1 -1
- package/ccw/dist/core/dashboard-generator.js +4 -1
- package/ccw/dist/core/dashboard-generator.js.map +1 -1
- package/ccw/dist/core/data-aggregator.d.ts +32 -0
- package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
- package/ccw/dist/core/data-aggregator.js +55 -11
- package/ccw/dist/core/data-aggregator.js.map +1 -1
- package/ccw/dist/core/routes/discovery-routes.d.ts +37 -0
- package/ccw/dist/core/routes/discovery-routes.d.ts.map +1 -0
- package/ccw/dist/core/routes/discovery-routes.js +514 -0
- package/ccw/dist/core/routes/discovery-routes.js.map +1 -0
- package/ccw/dist/core/server.d.ts.map +1 -1
- package/ccw/dist/core/server.js +9 -1
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/tools/codex-lens.d.ts +12 -1
- package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
- package/ccw/dist/tools/codex-lens.js +56 -7
- package/ccw/dist/tools/codex-lens.js.map +1 -1
- package/ccw/src/cli.ts +1 -0
- package/ccw/src/commands/issue.ts +498 -158
- package/ccw/src/core/dashboard-generator.ts +4 -1
- package/ccw/src/core/data-aggregator.ts +94 -11
- package/ccw/src/core/routes/discovery-routes.ts +607 -0
- package/ccw/src/core/server.ts +9 -1
- package/ccw/src/templates/dashboard-css/34-discovery.css +783 -0
- package/ccw/src/templates/dashboard-js/components/cli-status.js +1 -78
- package/ccw/src/templates/dashboard-js/components/navigation.js +8 -0
- package/ccw/src/templates/dashboard-js/i18n.js +140 -4
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +0 -18
- package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +13 -3
- package/ccw/src/templates/dashboard-js/views/issue-discovery.js +730 -0
- package/ccw/src/templates/dashboard-js/views/issue-manager.js +57 -26
- package/ccw/src/templates/dashboard-js/views/project-overview.js +153 -0
- package/ccw/src/templates/dashboard.html +5 -0
- package/ccw/src/tools/codex-lens.ts +75 -9
- package/package.json +1 -1
- package/.claude/workflows/context-tools-ace.md +0 -105
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# Quality Standards
|
|
2
|
+
|
|
3
|
+
Quality gates and standards for software manual generation.
|
|
4
|
+
|
|
5
|
+
## Quality Dimensions
|
|
6
|
+
|
|
7
|
+
### 1. Completeness (25%)
|
|
8
|
+
|
|
9
|
+
All required sections present and adequately covered.
|
|
10
|
+
|
|
11
|
+
| Requirement | Weight | Criteria |
|
|
12
|
+
|-------------|--------|----------|
|
|
13
|
+
| Overview section | 5 | Product intro, features, quick start |
|
|
14
|
+
| UI Guide | 5 | All major screens documented |
|
|
15
|
+
| API Reference | 5 | All public APIs documented |
|
|
16
|
+
| Configuration | 4 | All config options explained |
|
|
17
|
+
| Troubleshooting | 3 | Common issues addressed |
|
|
18
|
+
| Examples | 3 | Multi-level examples provided |
|
|
19
|
+
|
|
20
|
+
**Scoring**:
|
|
21
|
+
- 100%: All sections present with adequate depth
|
|
22
|
+
- 80%: All sections present, some lacking depth
|
|
23
|
+
- 60%: Missing 1-2 sections
|
|
24
|
+
- 40%: Missing 3+ sections
|
|
25
|
+
- 0%: Critical sections missing (overview, UI guide)
|
|
26
|
+
|
|
27
|
+
### 2. Consistency (25%)
|
|
28
|
+
|
|
29
|
+
Terminology, style, and structure uniform across sections.
|
|
30
|
+
|
|
31
|
+
| Aspect | Check |
|
|
32
|
+
|--------|-------|
|
|
33
|
+
| Terminology | Same term for same concept throughout |
|
|
34
|
+
| Formatting | Consistent heading levels, code block styles |
|
|
35
|
+
| Tone | Consistent formality level |
|
|
36
|
+
| Cross-references | All internal links valid |
|
|
37
|
+
| Screenshot naming | Follow `ss-{feature}-{action}` pattern |
|
|
38
|
+
|
|
39
|
+
**Scoring**:
|
|
40
|
+
- 100%: Zero inconsistencies
|
|
41
|
+
- 80%: 1-3 minor inconsistencies
|
|
42
|
+
- 60%: 4-6 inconsistencies
|
|
43
|
+
- 40%: 7-10 inconsistencies
|
|
44
|
+
- 0%: Pervasive inconsistencies
|
|
45
|
+
|
|
46
|
+
### 3. Depth (25%)
|
|
47
|
+
|
|
48
|
+
Content provides sufficient detail for target audience.
|
|
49
|
+
|
|
50
|
+
| Level | Criteria |
|
|
51
|
+
|-------|----------|
|
|
52
|
+
| Shallow | Basic descriptions only |
|
|
53
|
+
| Standard | Descriptions + usage examples |
|
|
54
|
+
| Deep | Descriptions + examples + edge cases + best practices |
|
|
55
|
+
|
|
56
|
+
**Per-Section Depth Check**:
|
|
57
|
+
- [ ] Explains "what" (definition)
|
|
58
|
+
- [ ] Explains "why" (rationale)
|
|
59
|
+
- [ ] Explains "how" (procedure)
|
|
60
|
+
- [ ] Provides examples
|
|
61
|
+
- [ ] Covers edge cases
|
|
62
|
+
- [ ] Includes tips/best practices
|
|
63
|
+
|
|
64
|
+
**Scoring**:
|
|
65
|
+
- 100%: Deep coverage on all critical sections
|
|
66
|
+
- 80%: Standard coverage on all sections
|
|
67
|
+
- 60%: Shallow coverage on some sections
|
|
68
|
+
- 40%: Missing depth in critical areas
|
|
69
|
+
- 0%: Superficial throughout
|
|
70
|
+
|
|
71
|
+
### 4. Readability (25%)
|
|
72
|
+
|
|
73
|
+
Clear, user-friendly writing that's easy to follow.
|
|
74
|
+
|
|
75
|
+
| Metric | Target |
|
|
76
|
+
|--------|--------|
|
|
77
|
+
| Sentence length | Average < 20 words |
|
|
78
|
+
| Paragraph length | Average < 5 sentences |
|
|
79
|
+
| Heading hierarchy | Proper H1 > H2 > H3 nesting |
|
|
80
|
+
| Code blocks | Language specified |
|
|
81
|
+
| Lists | Used for 3+ items |
|
|
82
|
+
| Screenshots | Placed near relevant text |
|
|
83
|
+
|
|
84
|
+
**Structural Elements**:
|
|
85
|
+
- [ ] Clear section headers
|
|
86
|
+
- [ ] Numbered steps for procedures
|
|
87
|
+
- [ ] Bullet lists for options/features
|
|
88
|
+
- [ ] Tables for comparisons
|
|
89
|
+
- [ ] Code blocks with syntax highlighting
|
|
90
|
+
- [ ] Screenshots with captions
|
|
91
|
+
|
|
92
|
+
**Scoring**:
|
|
93
|
+
- 100%: All readability criteria met
|
|
94
|
+
- 80%: Minor structural issues
|
|
95
|
+
- 60%: Some sections hard to follow
|
|
96
|
+
- 40%: Significant readability problems
|
|
97
|
+
- 0%: Unclear, poorly structured
|
|
98
|
+
|
|
99
|
+
## Overall Quality Score
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Overall = (Completeness × 0.25) + (Consistency × 0.25) +
|
|
103
|
+
(Depth × 0.25) + (Readability × 0.25)
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Quality Gates**:
|
|
107
|
+
|
|
108
|
+
| Gate | Threshold | Action |
|
|
109
|
+
|------|-----------|--------|
|
|
110
|
+
| Pass | ≥ 80% | Proceed to HTML generation |
|
|
111
|
+
| Review | 60-79% | Address warnings, proceed with caution |
|
|
112
|
+
| Fail | < 60% | Must address errors before continuing |
|
|
113
|
+
|
|
114
|
+
## Issue Classification
|
|
115
|
+
|
|
116
|
+
### Errors (Must Fix)
|
|
117
|
+
|
|
118
|
+
- Missing required sections
|
|
119
|
+
- Invalid cross-references
|
|
120
|
+
- Broken screenshot markers
|
|
121
|
+
- Code blocks without language
|
|
122
|
+
- Incomplete procedures (missing steps)
|
|
123
|
+
|
|
124
|
+
### Warnings (Should Fix)
|
|
125
|
+
|
|
126
|
+
- Terminology inconsistencies
|
|
127
|
+
- Sections lacking depth
|
|
128
|
+
- Missing examples
|
|
129
|
+
- Long paragraphs (> 7 sentences)
|
|
130
|
+
- Screenshots missing captions
|
|
131
|
+
|
|
132
|
+
### Info (Nice to Have)
|
|
133
|
+
|
|
134
|
+
- Optimization suggestions
|
|
135
|
+
- Additional example opportunities
|
|
136
|
+
- Alternative explanations
|
|
137
|
+
- Enhancement ideas
|
|
138
|
+
|
|
139
|
+
## Quality Checklist
|
|
140
|
+
|
|
141
|
+
### Pre-Generation
|
|
142
|
+
|
|
143
|
+
- [ ] All agents completed successfully
|
|
144
|
+
- [ ] No errors in consolidation report
|
|
145
|
+
- [ ] Overall score ≥ 60%
|
|
146
|
+
|
|
147
|
+
### Post-Generation
|
|
148
|
+
|
|
149
|
+
- [ ] HTML renders correctly
|
|
150
|
+
- [ ] Search returns relevant results
|
|
151
|
+
- [ ] All screenshots display
|
|
152
|
+
- [ ] Theme toggle works
|
|
153
|
+
- [ ] Print preview looks good
|
|
154
|
+
|
|
155
|
+
### Final Review
|
|
156
|
+
|
|
157
|
+
- [ ] User previewed and approved
|
|
158
|
+
- [ ] File size reasonable (< 10MB)
|
|
159
|
+
- [ ] No console errors in browser
|
|
160
|
+
- [ ] Accessible (keyboard navigation works)
|
|
161
|
+
|
|
162
|
+
## Automated Checks
|
|
163
|
+
|
|
164
|
+
```javascript
|
|
165
|
+
function runQualityChecks(workDir) {
|
|
166
|
+
const results = {
|
|
167
|
+
completeness: checkCompleteness(workDir),
|
|
168
|
+
consistency: checkConsistency(workDir),
|
|
169
|
+
depth: checkDepth(workDir),
|
|
170
|
+
readability: checkReadability(workDir)
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
results.overall = (
|
|
174
|
+
results.completeness * 0.25 +
|
|
175
|
+
results.consistency * 0.25 +
|
|
176
|
+
results.depth * 0.25 +
|
|
177
|
+
results.readability * 0.25
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
return results;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
function checkCompleteness(workDir) {
|
|
184
|
+
const requiredSections = [
|
|
185
|
+
'section-overview.md',
|
|
186
|
+
'section-ui-guide.md',
|
|
187
|
+
'section-api-reference.md',
|
|
188
|
+
'section-configuration.md',
|
|
189
|
+
'section-troubleshooting.md',
|
|
190
|
+
'section-examples.md'
|
|
191
|
+
];
|
|
192
|
+
|
|
193
|
+
const existing = Glob(`${workDir}/sections/section-*.md`);
|
|
194
|
+
const found = requiredSections.filter(s =>
|
|
195
|
+
existing.some(e => e.endsWith(s))
|
|
196
|
+
);
|
|
197
|
+
|
|
198
|
+
return (found.length / requiredSections.length) * 100;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
function checkConsistency(workDir) {
|
|
202
|
+
// Check terminology, cross-references, naming conventions
|
|
203
|
+
const issues = [];
|
|
204
|
+
|
|
205
|
+
// ... implementation ...
|
|
206
|
+
|
|
207
|
+
return Math.max(0, 100 - issues.length * 10);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
function checkDepth(workDir) {
|
|
211
|
+
// Check content length, examples, edge cases
|
|
212
|
+
const sections = Glob(`${workDir}/sections/section-*.md`);
|
|
213
|
+
let totalScore = 0;
|
|
214
|
+
|
|
215
|
+
for (const section of sections) {
|
|
216
|
+
const content = Read(section);
|
|
217
|
+
let sectionScore = 0;
|
|
218
|
+
|
|
219
|
+
if (content.length > 500) sectionScore += 20;
|
|
220
|
+
if (content.includes('```')) sectionScore += 20;
|
|
221
|
+
if (content.includes('Example')) sectionScore += 20;
|
|
222
|
+
if (content.match(/\d+\./g)?.length > 3) sectionScore += 20;
|
|
223
|
+
if (content.includes('Note:') || content.includes('Tip:')) sectionScore += 20;
|
|
224
|
+
|
|
225
|
+
totalScore += sectionScore;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return totalScore / sections.length;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function checkReadability(workDir) {
|
|
232
|
+
// Check structure, formatting, organization
|
|
233
|
+
const sections = Glob(`${workDir}/sections/section-*.md`);
|
|
234
|
+
let issues = 0;
|
|
235
|
+
|
|
236
|
+
for (const section of sections) {
|
|
237
|
+
const content = Read(section);
|
|
238
|
+
|
|
239
|
+
// Check heading hierarchy
|
|
240
|
+
if (!content.startsWith('# ')) issues++;
|
|
241
|
+
|
|
242
|
+
// Check code block languages
|
|
243
|
+
const codeBlocks = content.match(/```\w*/g);
|
|
244
|
+
if (codeBlocks?.some(b => b === '```')) issues++;
|
|
245
|
+
|
|
246
|
+
// Check paragraph length
|
|
247
|
+
const paragraphs = content.split('\n\n');
|
|
248
|
+
if (paragraphs.some(p => p.split('. ').length > 7)) issues++;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return Math.max(0, 100 - issues * 10);
|
|
252
|
+
}
|
|
253
|
+
```
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
# Writing Style Guide
|
|
2
|
+
|
|
3
|
+
User-friendly writing standards for software manuals.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
### 1. User-Centered
|
|
8
|
+
|
|
9
|
+
Write for the user, not the developer.
|
|
10
|
+
|
|
11
|
+
**Do**:
|
|
12
|
+
- "Click the **Save** button to save your changes"
|
|
13
|
+
- "Enter your email address in the login form"
|
|
14
|
+
|
|
15
|
+
**Don't**:
|
|
16
|
+
- "The onClick handler triggers the save mutation"
|
|
17
|
+
- "POST to /api/auth/login with email in body"
|
|
18
|
+
|
|
19
|
+
### 2. Action-Oriented
|
|
20
|
+
|
|
21
|
+
Focus on what users can **do**, not what the system does.
|
|
22
|
+
|
|
23
|
+
**Do**:
|
|
24
|
+
- "You can export your data as CSV"
|
|
25
|
+
- "To create a new project, click **New Project**"
|
|
26
|
+
|
|
27
|
+
**Don't**:
|
|
28
|
+
- "The system exports data in CSV format"
|
|
29
|
+
- "A new project is created when the button is clicked"
|
|
30
|
+
|
|
31
|
+
### 3. Clear and Direct
|
|
32
|
+
|
|
33
|
+
Use simple, straightforward language.
|
|
34
|
+
|
|
35
|
+
**Do**:
|
|
36
|
+
- "Select a file to upload"
|
|
37
|
+
- "The maximum file size is 10MB"
|
|
38
|
+
|
|
39
|
+
**Don't**:
|
|
40
|
+
- "Utilize the file selection interface to designate a file for uploading"
|
|
41
|
+
- "File size constraints limit uploads to 10 megabytes"
|
|
42
|
+
|
|
43
|
+
## Tone
|
|
44
|
+
|
|
45
|
+
### Friendly but Professional
|
|
46
|
+
|
|
47
|
+
- Conversational but not casual
|
|
48
|
+
- Helpful but not condescending
|
|
49
|
+
- Confident but not arrogant
|
|
50
|
+
|
|
51
|
+
**Examples**:
|
|
52
|
+
|
|
53
|
+
| Too Casual | Just Right | Too Formal |
|
|
54
|
+
|------------|------------|------------|
|
|
55
|
+
| "Yo, here's how..." | "Here's how to..." | "The following procedure describes..." |
|
|
56
|
+
| "Easy peasy!" | "That's all you need to do." | "The procedure has been completed." |
|
|
57
|
+
| "Don't worry about it" | "You don't need to change this" | "This parameter does not require modification" |
|
|
58
|
+
|
|
59
|
+
### Second Person
|
|
60
|
+
|
|
61
|
+
Address the user directly as "you".
|
|
62
|
+
|
|
63
|
+
**Do**: "You can customize your dashboard..."
|
|
64
|
+
**Don't**: "Users can customize their dashboards..."
|
|
65
|
+
|
|
66
|
+
## Structure
|
|
67
|
+
|
|
68
|
+
### Headings
|
|
69
|
+
|
|
70
|
+
Use clear, descriptive headings that tell users what they'll learn.
|
|
71
|
+
|
|
72
|
+
**Good Headings**:
|
|
73
|
+
- "Getting Started"
|
|
74
|
+
- "Creating Your First Project"
|
|
75
|
+
- "Configuring Email Notifications"
|
|
76
|
+
- "Troubleshooting Login Issues"
|
|
77
|
+
|
|
78
|
+
**Weak Headings**:
|
|
79
|
+
- "Overview"
|
|
80
|
+
- "Step 1"
|
|
81
|
+
- "Settings"
|
|
82
|
+
- "FAQ"
|
|
83
|
+
|
|
84
|
+
### Procedures
|
|
85
|
+
|
|
86
|
+
Number steps for sequential tasks.
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
## Creating a New User
|
|
90
|
+
|
|
91
|
+
1. Navigate to **Settings** > **Users**.
|
|
92
|
+
2. Click the **Add User** button.
|
|
93
|
+
3. Enter the user's email address.
|
|
94
|
+
4. Select a role from the dropdown.
|
|
95
|
+
5. Click **Save**.
|
|
96
|
+
|
|
97
|
+
The new user will receive an invitation email.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Features/Options
|
|
101
|
+
|
|
102
|
+
Use bullet lists for non-sequential items.
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
## Export Options
|
|
106
|
+
|
|
107
|
+
You can export your data in several formats:
|
|
108
|
+
|
|
109
|
+
- **CSV**: Compatible with spreadsheets
|
|
110
|
+
- **JSON**: Best for developers
|
|
111
|
+
- **PDF**: Ideal for sharing reports
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Comparisons
|
|
115
|
+
|
|
116
|
+
Use tables for comparing options.
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
## Plan Comparison
|
|
120
|
+
|
|
121
|
+
| Feature | Free | Pro | Enterprise |
|
|
122
|
+
|---------|------|-----|------------|
|
|
123
|
+
| Projects | 3 | Unlimited | Unlimited |
|
|
124
|
+
| Storage | 1GB | 10GB | 100GB |
|
|
125
|
+
| Support | Community | Email | Dedicated |
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Content Types
|
|
129
|
+
|
|
130
|
+
### Conceptual (What Is)
|
|
131
|
+
|
|
132
|
+
Explain what something is and why it matters.
|
|
133
|
+
|
|
134
|
+
```markdown
|
|
135
|
+
## What is a Workspace?
|
|
136
|
+
|
|
137
|
+
A workspace is a container for your projects and team members. Each workspace
|
|
138
|
+
has its own settings, billing, and permissions. You might create separate
|
|
139
|
+
workspaces for different clients or departments.
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Procedural (How To)
|
|
143
|
+
|
|
144
|
+
Step-by-step instructions for completing a task.
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
## How to Create a Workspace
|
|
148
|
+
|
|
149
|
+
1. Click your profile icon in the top-right corner.
|
|
150
|
+
2. Select **Create Workspace**.
|
|
151
|
+
3. Enter a name for your workspace.
|
|
152
|
+
4. Choose a plan (you can upgrade later).
|
|
153
|
+
5. Click **Create**.
|
|
154
|
+
|
|
155
|
+
Your new workspace is ready to use.
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Reference (API/Config)
|
|
159
|
+
|
|
160
|
+
Detailed specifications and parameters.
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
## Configuration Options
|
|
164
|
+
|
|
165
|
+
### `DATABASE_URL`
|
|
166
|
+
|
|
167
|
+
- **Type**: String (required)
|
|
168
|
+
- **Format**: `postgresql://user:password@host:port/database`
|
|
169
|
+
- **Example**: `postgresql://admin:secret@localhost:5432/myapp`
|
|
170
|
+
|
|
171
|
+
Database connection string for PostgreSQL.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Formatting
|
|
175
|
+
|
|
176
|
+
### Bold
|
|
177
|
+
|
|
178
|
+
Use for:
|
|
179
|
+
- UI elements: Click **Save**
|
|
180
|
+
- First use of key terms: **Workspaces** contain projects
|
|
181
|
+
- Emphasis: **Never** share your API key
|
|
182
|
+
|
|
183
|
+
### Italic
|
|
184
|
+
|
|
185
|
+
Use for:
|
|
186
|
+
- Introducing new terms: A *workspace* is...
|
|
187
|
+
- Placeholders: Replace *your-api-key* with...
|
|
188
|
+
- Emphasis (sparingly): This is *really* important
|
|
189
|
+
|
|
190
|
+
### Code
|
|
191
|
+
|
|
192
|
+
Use for:
|
|
193
|
+
- Commands: Run `npm install`
|
|
194
|
+
- File paths: Edit `config/settings.json`
|
|
195
|
+
- Environment variables: Set `DATABASE_URL`
|
|
196
|
+
- API endpoints: POST `/api/users`
|
|
197
|
+
- Code references: The `handleSubmit` function
|
|
198
|
+
|
|
199
|
+
### Code Blocks
|
|
200
|
+
|
|
201
|
+
Always specify the language.
|
|
202
|
+
|
|
203
|
+
```javascript
|
|
204
|
+
// Example: Fetching user data
|
|
205
|
+
const response = await fetch('/api/user');
|
|
206
|
+
const user = await response.json();
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Notes and Warnings
|
|
210
|
+
|
|
211
|
+
Use for important callouts.
|
|
212
|
+
|
|
213
|
+
```markdown
|
|
214
|
+
> **Note**: This feature requires a Pro plan.
|
|
215
|
+
|
|
216
|
+
> **Warning**: Deleting a workspace cannot be undone.
|
|
217
|
+
|
|
218
|
+
> **Tip**: Use keyboard shortcuts to work faster.
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Screenshots
|
|
222
|
+
|
|
223
|
+
### When to Include
|
|
224
|
+
|
|
225
|
+
- First time showing a UI element
|
|
226
|
+
- Complex interfaces
|
|
227
|
+
- Before/after comparisons
|
|
228
|
+
- Error states
|
|
229
|
+
|
|
230
|
+
### Guidelines
|
|
231
|
+
|
|
232
|
+
- Capture just the relevant area
|
|
233
|
+
- Use consistent dimensions
|
|
234
|
+
- Highlight important elements
|
|
235
|
+
- Add descriptive captions
|
|
236
|
+
|
|
237
|
+
```markdown
|
|
238
|
+
<!-- SCREENSHOT: id="ss-dashboard" description="Main dashboard showing project list" -->
|
|
239
|
+
|
|
240
|
+
*The dashboard displays all your projects with their status.*
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Examples
|
|
244
|
+
|
|
245
|
+
### Good Section Example
|
|
246
|
+
|
|
247
|
+
```markdown
|
|
248
|
+
## Inviting Team Members
|
|
249
|
+
|
|
250
|
+
You can invite colleagues to collaborate on your projects.
|
|
251
|
+
|
|
252
|
+
### To invite a team member:
|
|
253
|
+
|
|
254
|
+
1. Open **Settings** > **Team**.
|
|
255
|
+
2. Click **Invite Member**.
|
|
256
|
+
3. Enter their email address.
|
|
257
|
+
4. Select their role:
|
|
258
|
+
- **Admin**: Full access to all settings
|
|
259
|
+
- **Editor**: Can edit projects
|
|
260
|
+
- **Viewer**: Read-only access
|
|
261
|
+
5. Click **Send Invite**.
|
|
262
|
+
|
|
263
|
+
The person will receive an email with a link to join your workspace.
|
|
264
|
+
|
|
265
|
+
> **Note**: You can have up to 5 team members on the Free plan.
|
|
266
|
+
|
|
267
|
+
<!-- SCREENSHOT: id="ss-invite-team" description="Team invitation dialog" -->
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Language Guidelines
|
|
271
|
+
|
|
272
|
+
### Avoid Jargon
|
|
273
|
+
|
|
274
|
+
| Technical | User-Friendly |
|
|
275
|
+
|-----------|---------------|
|
|
276
|
+
| Execute | Run |
|
|
277
|
+
| Terminate | Stop, End |
|
|
278
|
+
| Instantiate | Create |
|
|
279
|
+
| Invoke | Call, Use |
|
|
280
|
+
| Parameterize | Set, Configure |
|
|
281
|
+
| Persist | Save |
|
|
282
|
+
|
|
283
|
+
### Be Specific
|
|
284
|
+
|
|
285
|
+
| Vague | Specific |
|
|
286
|
+
|-------|----------|
|
|
287
|
+
| "Click the button" | "Click **Save**" |
|
|
288
|
+
| "Enter information" | "Enter your email address" |
|
|
289
|
+
| "An error occurred" | "Your password must be at least 8 characters" |
|
|
290
|
+
| "It takes a moment" | "This typically takes 2-3 seconds" |
|
|
291
|
+
|
|
292
|
+
### Use Active Voice
|
|
293
|
+
|
|
294
|
+
| Passive | Active |
|
|
295
|
+
|---------|--------|
|
|
296
|
+
| "The file is uploaded" | "Upload the file" |
|
|
297
|
+
| "Settings are saved" | "Click **Save** to keep your changes" |
|
|
298
|
+
| "Errors are displayed" | "The form shows any errors" |
|