olympus-ai 4.5.13 → 4.5.14
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-plugin/plugin.json +1 -1
- package/dist/cli/index.js +63 -27
- package/dist/cli/index.js.map +1 -1
- package/dist/hooks/olympus-hooks.cjs +257 -257
- package/dist/installer/hooks.d.ts +47 -14
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +45 -77
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +8 -7
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +49 -46
- package/dist/installer/index.js.map +1 -1
- package/package.json +1 -1
- package/resources/config/risk-keywords.json +5 -5
- package/resources/rules/common/ascii-diagram-standards.md +115 -115
- package/resources/rules/common/content-validation.md +131 -131
- package/resources/rules/common/error-handling.md +430 -430
- package/resources/rules/common/markdown-formatting.md +170 -170
- package/resources/rules/common/overconfidence-prevention.md +100 -100
- package/resources/rules/common/pathway-behaviors.json +60 -60
- package/resources/rules/common/pathway-behaviors.md +100 -100
- package/resources/rules/common/process-overview.md +157 -157
- package/resources/rules/common/terminal-formatting.md +161 -161
- package/resources/rules/common/terminology.md +189 -189
- package/resources/rules/common/welcome-message.md +118 -118
- package/resources/rules/common/workflow-changes.md +285 -285
- package/resources/rules/construction/bolt-planning.md +153 -153
- package/resources/rules/construction/bolt-review.md +143 -143
- package/resources/rules/construction/build-and-test.md +527 -527
- package/resources/rules/construction/code-generation.md +414 -414
- package/resources/rules/construction/documentation.md +201 -201
- package/resources/rules/construction/functional-design.md +135 -135
- package/resources/rules/construction/infrastructure-design.md +110 -110
- package/resources/rules/construction/nfr-design.md +106 -106
- package/resources/rules/construction/nfr-requirements.md +118 -118
- package/resources/rules/construction/test-generation.md +112 -112
- package/resources/rules/core-workflow.md +196 -196
- package/resources/rules/inception/application-design.md +195 -195
- package/resources/rules/inception/bolt-planning.md +588 -588
- package/resources/rules/inception/reverse-engineering.md +354 -354
- package/resources/rules/inception/units-generation.md +505 -505
- package/resources/rules/inception/user-stories.md +527 -527
- package/resources/rules/inception/workspace-detection.md +82 -82
- package/resources/rules/operations/operations.md +19 -19
- package/resources/skills/brief/templates/ai-dlc-intent-brief-template.md +149 -149
- package/resources/skills/getting-started/SKILL.md +79 -79
- package/resources/templates/construction/bolt-spec-template.md +270 -270
- package/resources/templates/inception/unit-brief-template.md +188 -188
- package/resources/templates/inception/units-template.md +99 -99
|
@@ -1,170 +1,170 @@
|
|
|
1
|
-
# Markdown Formatting Standards
|
|
2
|
-
|
|
3
|
-
## MANDATORY: All Generated Markdown Must Pass markdownlint
|
|
4
|
-
|
|
5
|
-
**CRITICAL**: Every markdown file you create or modify MUST comply with the [markdownlint](https://github.com/DavidAnson/markdownlint) rule set (v0.40.0). The project enforces these rules via `.markdownlint.json` at the workspace root. Violations will cause linter failures on save.
|
|
6
|
-
|
|
7
|
-
## Project Configuration Overrides
|
|
8
|
-
|
|
9
|
-
The project `.markdownlint.json` modifies the defaults as follows. **Always respect these overrides:**
|
|
10
|
-
|
|
11
|
-
| Setting | Value | Effect |
|
|
12
|
-
|---------------|----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
|
|
13
|
-
| `default` | `true` | All rules enabled unless explicitly disabled |
|
|
14
|
-
| `frontMatter` | `"^---\s*$[\s\S]*?^---\s*$"` | YAML frontmatter blocks are recognized and excluded from rules |
|
|
15
|
-
| `MD013` | `false` | **Line length is NOT enforced** — no maximum line width |
|
|
16
|
-
| `MD024` | `{ "siblings_only": true }` | Duplicate headings allowed if they are NOT siblings (same parent) |
|
|
17
|
-
| `MD033` | `{ "allowed_elements": ["br", "details", "summary", "sup", "sub"] }` | Inline HTML forbidden EXCEPT these five elements |
|
|
18
|
-
| `MD036` | `false` | **Emphasis-as-heading is allowed** — bold text may serve as pseudo-headings |
|
|
19
|
-
| `MD041` | `false` | **First line need not be an H1** — files may start with frontmatter, badges, or other content |
|
|
20
|
-
|
|
21
|
-
## Editor Integration
|
|
22
|
-
|
|
23
|
-
The project `.vscode/settings.json` configures:
|
|
24
|
-
|
|
25
|
-
- **markdownlint runs on save** — violations are flagged immediately
|
|
26
|
-
- **Format on save** enabled with `markdown-table-prettify` as the default formatter
|
|
27
|
-
- **Word wrap off** — lines are not soft-wrapped in the editor
|
|
28
|
-
|
|
29
|
-
When generating tables, produce clean pipe-aligned tables since the prettifier will reformat them on save.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Rule Reference
|
|
34
|
-
|
|
35
|
-
All 54 active markdownlint rules organized by category. Rules disabled by project config are marked with **(DISABLED)**.
|
|
36
|
-
|
|
37
|
-
### Document Structure
|
|
38
|
-
|
|
39
|
-
| Rule | Alias | Requirement |
|
|
40
|
-
|-------|---------------------------|------------------------------------------------------------------------|
|
|
41
|
-
| MD001 | `heading-increment` | Heading levels must increment by one (no skipping H2 to H4) |
|
|
42
|
-
| MD025 | `single-h1` | Only one H1 (`#`) per document. YAML frontmatter `title:` counts as H1 |
|
|
43
|
-
| MD041 | `first-line-h1` | **(DISABLED)** First line need not be a top-level heading |
|
|
44
|
-
| MD043 | `required-headings` | Required heading structure if configured (default: not configured) |
|
|
45
|
-
| MD047 | `single-trailing-newline` | File MUST end with exactly one newline character |
|
|
46
|
-
|
|
47
|
-
### Headings
|
|
48
|
-
|
|
49
|
-
| Rule | Alias | Requirement |
|
|
50
|
-
|-------|--------------------------------|------------------------------------------------------------------------------------------------|
|
|
51
|
-
| MD003 | `heading-style` | Use consistent heading style — use ATX style (`# Heading`) throughout |
|
|
52
|
-
| MD018 | `no-missing-space-atx` | Must have a space after `#` in headings: `# Heading` not `#Heading` |
|
|
53
|
-
| MD019 | `no-multiple-space-atx` | Only one space after `#`: `# Heading` not `# Heading` |
|
|
54
|
-
| MD020 | `no-missing-space-closed-atx` | Closed ATX headings need inner spaces: `# Heading #` |
|
|
55
|
-
| MD021 | `no-multiple-space-closed-atx` | Only one space inside closed ATX hashes |
|
|
56
|
-
| MD022 | `blanks-around-headings` | One blank line BEFORE and AFTER every heading |
|
|
57
|
-
| MD023 | `heading-start-left` | Headings must start at column 1 (no indentation) |
|
|
58
|
-
| MD024 | `no-duplicate-heading` | No duplicate heading text among **siblings** (same-parent headings may repeat across sections) |
|
|
59
|
-
| MD026 | `no-trailing-punctuation` | Headings must not end with `.` `,` `;` `:` `!` or their CJK equivalents |
|
|
60
|
-
| MD036 | `no-emphasis-as-heading` | **(DISABLED)** Bold/italic text may be used as pseudo-headings |
|
|
61
|
-
|
|
62
|
-
### Lists
|
|
63
|
-
|
|
64
|
-
| Rule | Alias | Requirement |
|
|
65
|
-
|-------|-----------------------|--------------------------------------------------------------------------------|
|
|
66
|
-
| MD004 | `ul-style` | Use consistent unordered list markers — use `-` (dash) for all unordered lists |
|
|
67
|
-
| MD005 | `list-indent` | Sibling list items must have consistent indentation |
|
|
68
|
-
| MD007 | `ul-indent` | Indent nested unordered list items by **2 spaces** |
|
|
69
|
-
| MD029 | `ol-prefix` | Ordered lists: use `1.` for all items OR sequential numbering — be consistent |
|
|
70
|
-
| MD030 | `list-marker-space` | Exactly one space after list markers (`-`, `1.`) |
|
|
71
|
-
| MD032 | `blanks-around-lists` | One blank line BEFORE and AFTER every list block |
|
|
72
|
-
|
|
73
|
-
### Code Blocks and Fences
|
|
74
|
-
|
|
75
|
-
| Rule | Alias | Requirement |
|
|
76
|
-
|-------|------------------------|------------------------------------------------------------|
|
|
77
|
-
| MD010 | `no-hard-tabs` | No tab characters — use spaces only |
|
|
78
|
-
| MD014 | `commands-show-output` | Don't prefix commands with `$` unless showing output below |
|
|
79
|
-
| MD031 | `blanks-around-fences` | One blank line BEFORE and AFTER every fenced code block |
|
|
80
|
-
| MD040 | `fenced-code-language` | Fenced code blocks MUST specify a language (e.g., ` ```typescript `) |
|
|
81
|
-
| MD046 | `code-block-style` | Use consistent code block style — use **fenced** (backtick) style, not indented |
|
|
82
|
-
| MD048 | `code-fence-style` | Use consistent fence delimiters — use **backticks** (`` ` ``), not tildes (`~`) |
|
|
83
|
-
|
|
84
|
-
### Whitespace and Formatting
|
|
85
|
-
|
|
86
|
-
| Rule | Alias | Requirement |
|
|
87
|
-
|-------|------------------------|----------------------------------------------------------------------------------------|
|
|
88
|
-
| MD009 | `no-trailing-spaces` | No trailing whitespace at end of lines. Use `<br>` for intentional line breaks |
|
|
89
|
-
| MD012 | `no-multiple-blanks` | Maximum one consecutive blank line between elements |
|
|
90
|
-
| MD013 | `line-length` | **(DISABLED)** No maximum line length enforced |
|
|
91
|
-
| MD035 | `hr-style` | Use consistent horizontal rules — use `---` |
|
|
92
|
-
| MD037 | `no-space-in-emphasis` | No spaces inside emphasis: `**bold**` not `** bold **` |
|
|
93
|
-
| MD038 | `no-space-in-code` | No leading/trailing spaces inside backtick code spans: `` `code` `` not `` ` code ` `` |
|
|
94
|
-
| MD049 | `emphasis-style` | Use consistent emphasis markers — use `*` (asterisk) for italics |
|
|
95
|
-
| MD050 | `strong-style` | Use consistent strong markers — use `**` (double asterisk) for bold |
|
|
96
|
-
|
|
97
|
-
### Links and Images
|
|
98
|
-
|
|
99
|
-
| Rule | Alias | Requirement |
|
|
100
|
-
|-------|------------------------------------|---------------------------------------------------------------------------|
|
|
101
|
-
| MD011 | `no-reversed-links` | Correct link syntax: `[text](url)` not `(text)[url]` |
|
|
102
|
-
| MD034 | `no-bare-urls` | URLs must be wrapped: `<https://example.com>` or `[text](url)` — not bare |
|
|
103
|
-
| MD039 | `no-space-in-links` | No spaces inside link brackets: `[text](url)` not `[ text ](url)` |
|
|
104
|
-
| MD042 | `no-empty-links` | Links must have a non-empty destination |
|
|
105
|
-
| MD044 | `proper-names` | Proper names must use correct capitalization if configured |
|
|
106
|
-
| MD045 | `no-alt-text` | Images MUST have alt text: `` |
|
|
107
|
-
| MD051 | `link-fragments` | Link fragment anchors (`#section`) must reference valid headings |
|
|
108
|
-
| MD052 | `reference-links-images` | Reference-style links must use defined labels |
|
|
109
|
-
| MD053 | `link-image-reference-definitions` | Reference definitions must be used (no orphaned definitions) |
|
|
110
|
-
| MD054 | `link-image-style` | Use consistent link style (inline, reference, etc.) |
|
|
111
|
-
| MD059 | `descriptive-link-text` | Avoid generic link text like "click here", "here", "link", "more" |
|
|
112
|
-
|
|
113
|
-
### Blockquotes
|
|
114
|
-
|
|
115
|
-
| Rule | Alias | Requirement |
|
|
116
|
-
|-------|--------------------------------|---------------------------------------------------------|
|
|
117
|
-
| MD027 | `no-multiple-space-blockquote` | Only one space after `>`: `> text` not `> text` |
|
|
118
|
-
| MD028 | `no-blanks-blockquote` | No blank lines inside a blockquote (splits it into two) |
|
|
119
|
-
|
|
120
|
-
### Tables
|
|
121
|
-
|
|
122
|
-
| Rule | Alias | Requirement |
|
|
123
|
-
|-------|------------------------|----------------------------------------------------------------|
|
|
124
|
-
| MD055 | `table-pipe-style` | Use consistent pipe style — include leading and trailing pipes |
|
|
125
|
-
| MD056 | `table-column-count` | All rows must have the same number of columns |
|
|
126
|
-
| MD058 | `blanks-around-tables` | One blank line BEFORE and AFTER every table |
|
|
127
|
-
| MD060 | `table-column-style` | Use consistent column alignment syntax in delimiter rows |
|
|
128
|
-
|
|
129
|
-
### Inline HTML
|
|
130
|
-
|
|
131
|
-
| Rule | Alias | Requirement |
|
|
132
|
-
|-------|------------------|-----------------------------------------------------------------------------------------|
|
|
133
|
-
| MD033 | `no-inline-html` | Inline HTML is **forbidden** except: `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` |
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## Quick Reference: Most Common Violations
|
|
138
|
-
|
|
139
|
-
When generating markdown, watch for these frequent issues:
|
|
140
|
-
|
|
141
|
-
1. **Missing blank lines** (MD022, MD031, MD032, MD058) — Always surround headings, code blocks, lists, and tables with blank lines
|
|
142
|
-
2. **Trailing whitespace** (MD009) — Strip trailing spaces from every line
|
|
143
|
-
3. **No language on code fences** (MD040) — Always specify a language: use `text` or `markdown` when no syntax applies
|
|
144
|
-
4. **Multiple H1 headings** (MD025) — Only one `#` per file; use `##` and below for sections
|
|
145
|
-
5. **Inconsistent list markers** (MD004) — Always use `-` for unordered lists
|
|
146
|
-
6. **Bare URLs** (MD034) — Wrap URLs in angle brackets or make them proper links
|
|
147
|
-
7. **Missing final newline** (MD047) — Files must end with exactly one `\n`
|
|
148
|
-
8. **Heading level skips** (MD001) — Go `#` then `##` then `###` — never skip levels
|
|
149
|
-
9. **Missing image alt text** (MD045) — Every `` needs descriptive alt text
|
|
150
|
-
10. **Spaces inside emphasis/code** (MD037, MD038) — No spaces inside `**`, `*`, or backticks
|
|
151
|
-
|
|
152
|
-
## Pre-Write Validation Checklist
|
|
153
|
-
|
|
154
|
-
Before writing ANY markdown file, verify:
|
|
155
|
-
|
|
156
|
-
- [ ] Single `#` H1 (or none if frontmatter has `title:`)
|
|
157
|
-
- [ ] Heading levels increment by one (no skips)
|
|
158
|
-
- [ ] Blank lines around all block elements (headings, lists, code blocks, tables, blockquotes)
|
|
159
|
-
- [ ] No trailing whitespace on any line
|
|
160
|
-
- [ ] No consecutive blank lines
|
|
161
|
-
- [ ] All code fences specify a language
|
|
162
|
-
- [ ] Code fences use backticks, not tildes
|
|
163
|
-
- [ ] Unordered lists use `-` consistently
|
|
164
|
-
- [ ] List indentation uses 2 spaces
|
|
165
|
-
- [ ] No bare URLs
|
|
166
|
-
- [ ] All images have alt text
|
|
167
|
-
- [ ] No forbidden inline HTML (only `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` allowed)
|
|
168
|
-
- [ ] File ends with exactly one newline
|
|
169
|
-
- [ ] No tab characters anywhere
|
|
170
|
-
- [ ] Tables have consistent column counts and pipe style
|
|
1
|
+
# Markdown Formatting Standards
|
|
2
|
+
|
|
3
|
+
## MANDATORY: All Generated Markdown Must Pass markdownlint
|
|
4
|
+
|
|
5
|
+
**CRITICAL**: Every markdown file you create or modify MUST comply with the [markdownlint](https://github.com/DavidAnson/markdownlint) rule set (v0.40.0). The project enforces these rules via `.markdownlint.json` at the workspace root. Violations will cause linter failures on save.
|
|
6
|
+
|
|
7
|
+
## Project Configuration Overrides
|
|
8
|
+
|
|
9
|
+
The project `.markdownlint.json` modifies the defaults as follows. **Always respect these overrides:**
|
|
10
|
+
|
|
11
|
+
| Setting | Value | Effect |
|
|
12
|
+
|---------------|----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
|
|
13
|
+
| `default` | `true` | All rules enabled unless explicitly disabled |
|
|
14
|
+
| `frontMatter` | `"^---\s*$[\s\S]*?^---\s*$"` | YAML frontmatter blocks are recognized and excluded from rules |
|
|
15
|
+
| `MD013` | `false` | **Line length is NOT enforced** — no maximum line width |
|
|
16
|
+
| `MD024` | `{ "siblings_only": true }` | Duplicate headings allowed if they are NOT siblings (same parent) |
|
|
17
|
+
| `MD033` | `{ "allowed_elements": ["br", "details", "summary", "sup", "sub"] }` | Inline HTML forbidden EXCEPT these five elements |
|
|
18
|
+
| `MD036` | `false` | **Emphasis-as-heading is allowed** — bold text may serve as pseudo-headings |
|
|
19
|
+
| `MD041` | `false` | **First line need not be an H1** — files may start with frontmatter, badges, or other content |
|
|
20
|
+
|
|
21
|
+
## Editor Integration
|
|
22
|
+
|
|
23
|
+
The project `.vscode/settings.json` configures:
|
|
24
|
+
|
|
25
|
+
- **markdownlint runs on save** — violations are flagged immediately
|
|
26
|
+
- **Format on save** enabled with `markdown-table-prettify` as the default formatter
|
|
27
|
+
- **Word wrap off** — lines are not soft-wrapped in the editor
|
|
28
|
+
|
|
29
|
+
When generating tables, produce clean pipe-aligned tables since the prettifier will reformat them on save.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Rule Reference
|
|
34
|
+
|
|
35
|
+
All 54 active markdownlint rules organized by category. Rules disabled by project config are marked with **(DISABLED)**.
|
|
36
|
+
|
|
37
|
+
### Document Structure
|
|
38
|
+
|
|
39
|
+
| Rule | Alias | Requirement |
|
|
40
|
+
|-------|---------------------------|------------------------------------------------------------------------|
|
|
41
|
+
| MD001 | `heading-increment` | Heading levels must increment by one (no skipping H2 to H4) |
|
|
42
|
+
| MD025 | `single-h1` | Only one H1 (`#`) per document. YAML frontmatter `title:` counts as H1 |
|
|
43
|
+
| MD041 | `first-line-h1` | **(DISABLED)** First line need not be a top-level heading |
|
|
44
|
+
| MD043 | `required-headings` | Required heading structure if configured (default: not configured) |
|
|
45
|
+
| MD047 | `single-trailing-newline` | File MUST end with exactly one newline character |
|
|
46
|
+
|
|
47
|
+
### Headings
|
|
48
|
+
|
|
49
|
+
| Rule | Alias | Requirement |
|
|
50
|
+
|-------|--------------------------------|------------------------------------------------------------------------------------------------|
|
|
51
|
+
| MD003 | `heading-style` | Use consistent heading style — use ATX style (`# Heading`) throughout |
|
|
52
|
+
| MD018 | `no-missing-space-atx` | Must have a space after `#` in headings: `# Heading` not `#Heading` |
|
|
53
|
+
| MD019 | `no-multiple-space-atx` | Only one space after `#`: `# Heading` not `# Heading` |
|
|
54
|
+
| MD020 | `no-missing-space-closed-atx` | Closed ATX headings need inner spaces: `# Heading #` |
|
|
55
|
+
| MD021 | `no-multiple-space-closed-atx` | Only one space inside closed ATX hashes |
|
|
56
|
+
| MD022 | `blanks-around-headings` | One blank line BEFORE and AFTER every heading |
|
|
57
|
+
| MD023 | `heading-start-left` | Headings must start at column 1 (no indentation) |
|
|
58
|
+
| MD024 | `no-duplicate-heading` | No duplicate heading text among **siblings** (same-parent headings may repeat across sections) |
|
|
59
|
+
| MD026 | `no-trailing-punctuation` | Headings must not end with `.` `,` `;` `:` `!` or their CJK equivalents |
|
|
60
|
+
| MD036 | `no-emphasis-as-heading` | **(DISABLED)** Bold/italic text may be used as pseudo-headings |
|
|
61
|
+
|
|
62
|
+
### Lists
|
|
63
|
+
|
|
64
|
+
| Rule | Alias | Requirement |
|
|
65
|
+
|-------|-----------------------|--------------------------------------------------------------------------------|
|
|
66
|
+
| MD004 | `ul-style` | Use consistent unordered list markers — use `-` (dash) for all unordered lists |
|
|
67
|
+
| MD005 | `list-indent` | Sibling list items must have consistent indentation |
|
|
68
|
+
| MD007 | `ul-indent` | Indent nested unordered list items by **2 spaces** |
|
|
69
|
+
| MD029 | `ol-prefix` | Ordered lists: use `1.` for all items OR sequential numbering — be consistent |
|
|
70
|
+
| MD030 | `list-marker-space` | Exactly one space after list markers (`-`, `1.`) |
|
|
71
|
+
| MD032 | `blanks-around-lists` | One blank line BEFORE and AFTER every list block |
|
|
72
|
+
|
|
73
|
+
### Code Blocks and Fences
|
|
74
|
+
|
|
75
|
+
| Rule | Alias | Requirement |
|
|
76
|
+
|-------|------------------------|------------------------------------------------------------|
|
|
77
|
+
| MD010 | `no-hard-tabs` | No tab characters — use spaces only |
|
|
78
|
+
| MD014 | `commands-show-output` | Don't prefix commands with `$` unless showing output below |
|
|
79
|
+
| MD031 | `blanks-around-fences` | One blank line BEFORE and AFTER every fenced code block |
|
|
80
|
+
| MD040 | `fenced-code-language` | Fenced code blocks MUST specify a language (e.g., ` ```typescript `) |
|
|
81
|
+
| MD046 | `code-block-style` | Use consistent code block style — use **fenced** (backtick) style, not indented |
|
|
82
|
+
| MD048 | `code-fence-style` | Use consistent fence delimiters — use **backticks** (`` ` ``), not tildes (`~`) |
|
|
83
|
+
|
|
84
|
+
### Whitespace and Formatting
|
|
85
|
+
|
|
86
|
+
| Rule | Alias | Requirement |
|
|
87
|
+
|-------|------------------------|----------------------------------------------------------------------------------------|
|
|
88
|
+
| MD009 | `no-trailing-spaces` | No trailing whitespace at end of lines. Use `<br>` for intentional line breaks |
|
|
89
|
+
| MD012 | `no-multiple-blanks` | Maximum one consecutive blank line between elements |
|
|
90
|
+
| MD013 | `line-length` | **(DISABLED)** No maximum line length enforced |
|
|
91
|
+
| MD035 | `hr-style` | Use consistent horizontal rules — use `---` |
|
|
92
|
+
| MD037 | `no-space-in-emphasis` | No spaces inside emphasis: `**bold**` not `** bold **` |
|
|
93
|
+
| MD038 | `no-space-in-code` | No leading/trailing spaces inside backtick code spans: `` `code` `` not `` ` code ` `` |
|
|
94
|
+
| MD049 | `emphasis-style` | Use consistent emphasis markers — use `*` (asterisk) for italics |
|
|
95
|
+
| MD050 | `strong-style` | Use consistent strong markers — use `**` (double asterisk) for bold |
|
|
96
|
+
|
|
97
|
+
### Links and Images
|
|
98
|
+
|
|
99
|
+
| Rule | Alias | Requirement |
|
|
100
|
+
|-------|------------------------------------|---------------------------------------------------------------------------|
|
|
101
|
+
| MD011 | `no-reversed-links` | Correct link syntax: `[text](url)` not `(text)[url]` |
|
|
102
|
+
| MD034 | `no-bare-urls` | URLs must be wrapped: `<https://example.com>` or `[text](url)` — not bare |
|
|
103
|
+
| MD039 | `no-space-in-links` | No spaces inside link brackets: `[text](url)` not `[ text ](url)` |
|
|
104
|
+
| MD042 | `no-empty-links` | Links must have a non-empty destination |
|
|
105
|
+
| MD044 | `proper-names` | Proper names must use correct capitalization if configured |
|
|
106
|
+
| MD045 | `no-alt-text` | Images MUST have alt text: `` |
|
|
107
|
+
| MD051 | `link-fragments` | Link fragment anchors (`#section`) must reference valid headings |
|
|
108
|
+
| MD052 | `reference-links-images` | Reference-style links must use defined labels |
|
|
109
|
+
| MD053 | `link-image-reference-definitions` | Reference definitions must be used (no orphaned definitions) |
|
|
110
|
+
| MD054 | `link-image-style` | Use consistent link style (inline, reference, etc.) |
|
|
111
|
+
| MD059 | `descriptive-link-text` | Avoid generic link text like "click here", "here", "link", "more" |
|
|
112
|
+
|
|
113
|
+
### Blockquotes
|
|
114
|
+
|
|
115
|
+
| Rule | Alias | Requirement |
|
|
116
|
+
|-------|--------------------------------|---------------------------------------------------------|
|
|
117
|
+
| MD027 | `no-multiple-space-blockquote` | Only one space after `>`: `> text` not `> text` |
|
|
118
|
+
| MD028 | `no-blanks-blockquote` | No blank lines inside a blockquote (splits it into two) |
|
|
119
|
+
|
|
120
|
+
### Tables
|
|
121
|
+
|
|
122
|
+
| Rule | Alias | Requirement |
|
|
123
|
+
|-------|------------------------|----------------------------------------------------------------|
|
|
124
|
+
| MD055 | `table-pipe-style` | Use consistent pipe style — include leading and trailing pipes |
|
|
125
|
+
| MD056 | `table-column-count` | All rows must have the same number of columns |
|
|
126
|
+
| MD058 | `blanks-around-tables` | One blank line BEFORE and AFTER every table |
|
|
127
|
+
| MD060 | `table-column-style` | Use consistent column alignment syntax in delimiter rows |
|
|
128
|
+
|
|
129
|
+
### Inline HTML
|
|
130
|
+
|
|
131
|
+
| Rule | Alias | Requirement |
|
|
132
|
+
|-------|------------------|-----------------------------------------------------------------------------------------|
|
|
133
|
+
| MD033 | `no-inline-html` | Inline HTML is **forbidden** except: `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Quick Reference: Most Common Violations
|
|
138
|
+
|
|
139
|
+
When generating markdown, watch for these frequent issues:
|
|
140
|
+
|
|
141
|
+
1. **Missing blank lines** (MD022, MD031, MD032, MD058) — Always surround headings, code blocks, lists, and tables with blank lines
|
|
142
|
+
2. **Trailing whitespace** (MD009) — Strip trailing spaces from every line
|
|
143
|
+
3. **No language on code fences** (MD040) — Always specify a language: use `text` or `markdown` when no syntax applies
|
|
144
|
+
4. **Multiple H1 headings** (MD025) — Only one `#` per file; use `##` and below for sections
|
|
145
|
+
5. **Inconsistent list markers** (MD004) — Always use `-` for unordered lists
|
|
146
|
+
6. **Bare URLs** (MD034) — Wrap URLs in angle brackets or make them proper links
|
|
147
|
+
7. **Missing final newline** (MD047) — Files must end with exactly one `\n`
|
|
148
|
+
8. **Heading level skips** (MD001) — Go `#` then `##` then `###` — never skip levels
|
|
149
|
+
9. **Missing image alt text** (MD045) — Every `` needs descriptive alt text
|
|
150
|
+
10. **Spaces inside emphasis/code** (MD037, MD038) — No spaces inside `**`, `*`, or backticks
|
|
151
|
+
|
|
152
|
+
## Pre-Write Validation Checklist
|
|
153
|
+
|
|
154
|
+
Before writing ANY markdown file, verify:
|
|
155
|
+
|
|
156
|
+
- [ ] Single `#` H1 (or none if frontmatter has `title:`)
|
|
157
|
+
- [ ] Heading levels increment by one (no skips)
|
|
158
|
+
- [ ] Blank lines around all block elements (headings, lists, code blocks, tables, blockquotes)
|
|
159
|
+
- [ ] No trailing whitespace on any line
|
|
160
|
+
- [ ] No consecutive blank lines
|
|
161
|
+
- [ ] All code fences specify a language
|
|
162
|
+
- [ ] Code fences use backticks, not tildes
|
|
163
|
+
- [ ] Unordered lists use `-` consistently
|
|
164
|
+
- [ ] List indentation uses 2 spaces
|
|
165
|
+
- [ ] No bare URLs
|
|
166
|
+
- [ ] All images have alt text
|
|
167
|
+
- [ ] No forbidden inline HTML (only `<br>`, `<details>`, `<summary>`, `<sup>`, `<sub>` allowed)
|
|
168
|
+
- [ ] File ends with exactly one newline
|
|
169
|
+
- [ ] No tab characters anywhere
|
|
170
|
+
- [ ] Tables have consistent column counts and pipe style
|
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
# Overconfidence Prevention Guide
|
|
2
|
-
|
|
3
|
-
## Problem Statement
|
|
4
|
-
|
|
5
|
-
AI-DLC was exhibiting overconfidence by not asking enough clarifying questions, even for complex project intent statements. This led to assumptions being made instead of gathering proper requirements.
|
|
6
|
-
|
|
7
|
-
## Root Cause Analysis
|
|
8
|
-
|
|
9
|
-
The overconfidence issue was caused by directives in multiple stages that encouraged skipping questions:
|
|
10
|
-
|
|
11
|
-
1. **Functional Design**: "Skip entire categories if not applicable"
|
|
12
|
-
2. **User Stories**: "Use categories as inspiration, NOT as mandatory checklist"
|
|
13
|
-
3. **Requirements Analysis**: Similar patterns encouraging minimal questioning
|
|
14
|
-
4. **NFR Requirements**: "Only if" conditions that discouraged thorough analysis
|
|
15
|
-
|
|
16
|
-
These directives were telling the AI to avoid asking questions rather than encouraging comprehensive requirements gathering.
|
|
17
|
-
|
|
18
|
-
## Solution Implemented
|
|
19
|
-
|
|
20
|
-
### Updated Question Generation Philosophy
|
|
21
|
-
|
|
22
|
-
**OLD APPROACH**: "Only ask questions if absolutely necessary"
|
|
23
|
-
**NEW APPROACH**: "When in doubt, ask the question - overconfidence leads to poor outcomes"
|
|
24
|
-
|
|
25
|
-
### Key Changes Made
|
|
26
|
-
|
|
27
|
-
#### 1. Requirements Analysis Stage
|
|
28
|
-
- Changed from "only if needed" to "ALWAYS create questions unless exceptionally clear"
|
|
29
|
-
- Added comprehensive evaluation areas (functional, non-functional, business context, technical context)
|
|
30
|
-
- Emphasized proactive questioning approach
|
|
31
|
-
|
|
32
|
-
#### 2. User Stories Stage
|
|
33
|
-
- Removed "skip entire categories" directive
|
|
34
|
-
- Added comprehensive question categories to evaluate
|
|
35
|
-
- Enhanced answer analysis requirements
|
|
36
|
-
- Strengthened follow-up question mandates
|
|
37
|
-
|
|
38
|
-
#### 3. Functional Design Stage
|
|
39
|
-
- Replaced "only if" conditions with comprehensive evaluation
|
|
40
|
-
- Added more question categories (data flow, integration points, error handling)
|
|
41
|
-
- Strengthened ambiguity detection and resolution requirements
|
|
42
|
-
|
|
43
|
-
#### 4. NFR Requirements Stage
|
|
44
|
-
- Expanded question categories beyond basic NFRs
|
|
45
|
-
- Added reliability, maintainability, and usability considerations
|
|
46
|
-
- Enhanced answer analysis for technical ambiguities
|
|
47
|
-
|
|
48
|
-
### New Guiding Principles
|
|
49
|
-
|
|
50
|
-
1. **Default to Asking**: When there's any ambiguity, ask clarifying questions
|
|
51
|
-
2. **Comprehensive Coverage**: Evaluate ALL relevant categories, don't skip areas
|
|
52
|
-
3. **Thorough Analysis**: Carefully analyze ALL user responses for ambiguities
|
|
53
|
-
4. **Mandatory Follow-up**: Create follow-up questions for ANY unclear responses
|
|
54
|
-
5. **No Proceeding with Ambiguity**: Don't move forward until ALL ambiguities are resolved
|
|
55
|
-
|
|
56
|
-
## Implementation Guidelines
|
|
57
|
-
|
|
58
|
-
### For Question Generation
|
|
59
|
-
- Evaluate ALL question categories, don't skip any
|
|
60
|
-
- Ask questions wherever clarification would improve quality
|
|
61
|
-
- Include comprehensive question categories in each stage
|
|
62
|
-
- Default to inclusion rather than exclusion of questions
|
|
63
|
-
|
|
64
|
-
### For Answer Analysis
|
|
65
|
-
- Look for vague responses: "depends", "maybe", "not sure", "mix of", "somewhere between"
|
|
66
|
-
- Detect undefined terms and references to external concepts
|
|
67
|
-
- Identify contradictory or incomplete answers
|
|
68
|
-
- Create follow-up questions for ANY ambiguities
|
|
69
|
-
|
|
70
|
-
### For Follow-up Questions
|
|
71
|
-
- Create separate clarification files when ambiguities are detected
|
|
72
|
-
- Ask specific questions to resolve each ambiguity
|
|
73
|
-
- Don't proceed until ALL unclear responses are clarified
|
|
74
|
-
- Be thorough - better to over-clarify than under-clarify
|
|
75
|
-
|
|
76
|
-
## Quality Assurance
|
|
77
|
-
|
|
78
|
-
### Red Flags to Watch For
|
|
79
|
-
- Stages completing without asking any questions on complex projects
|
|
80
|
-
- Proceeding with vague or ambiguous user responses
|
|
81
|
-
- Skipping entire question categories without justification
|
|
82
|
-
- Making assumptions instead of asking for clarification
|
|
83
|
-
|
|
84
|
-
### Success Indicators
|
|
85
|
-
- Appropriate number of clarifying questions for project complexity
|
|
86
|
-
- Thorough analysis of user responses with follow-up when needed
|
|
87
|
-
- Clear, unambiguous requirements before proceeding to implementation
|
|
88
|
-
- Reduced need for changes during later stages due to better upfront clarification
|
|
89
|
-
|
|
90
|
-
## Maintenance
|
|
91
|
-
|
|
92
|
-
This guide should be referenced when:
|
|
93
|
-
- Adding new stages to AI-DLC
|
|
94
|
-
- Updating existing stage instructions
|
|
95
|
-
- Reviewing AI-DLC performance for overconfidence issues
|
|
96
|
-
- Training team members on AI-DLC question generation principles
|
|
97
|
-
|
|
98
|
-
## Key Takeaway
|
|
99
|
-
|
|
100
|
-
**It's better to ask too many questions than to make incorrect assumptions.** The cost of asking clarifying questions upfront is far less than the cost of implementing the wrong solution based on assumptions.
|
|
1
|
+
# Overconfidence Prevention Guide
|
|
2
|
+
|
|
3
|
+
## Problem Statement
|
|
4
|
+
|
|
5
|
+
AI-DLC was exhibiting overconfidence by not asking enough clarifying questions, even for complex project intent statements. This led to assumptions being made instead of gathering proper requirements.
|
|
6
|
+
|
|
7
|
+
## Root Cause Analysis
|
|
8
|
+
|
|
9
|
+
The overconfidence issue was caused by directives in multiple stages that encouraged skipping questions:
|
|
10
|
+
|
|
11
|
+
1. **Functional Design**: "Skip entire categories if not applicable"
|
|
12
|
+
2. **User Stories**: "Use categories as inspiration, NOT as mandatory checklist"
|
|
13
|
+
3. **Requirements Analysis**: Similar patterns encouraging minimal questioning
|
|
14
|
+
4. **NFR Requirements**: "Only if" conditions that discouraged thorough analysis
|
|
15
|
+
|
|
16
|
+
These directives were telling the AI to avoid asking questions rather than encouraging comprehensive requirements gathering.
|
|
17
|
+
|
|
18
|
+
## Solution Implemented
|
|
19
|
+
|
|
20
|
+
### Updated Question Generation Philosophy
|
|
21
|
+
|
|
22
|
+
**OLD APPROACH**: "Only ask questions if absolutely necessary"
|
|
23
|
+
**NEW APPROACH**: "When in doubt, ask the question - overconfidence leads to poor outcomes"
|
|
24
|
+
|
|
25
|
+
### Key Changes Made
|
|
26
|
+
|
|
27
|
+
#### 1. Requirements Analysis Stage
|
|
28
|
+
- Changed from "only if needed" to "ALWAYS create questions unless exceptionally clear"
|
|
29
|
+
- Added comprehensive evaluation areas (functional, non-functional, business context, technical context)
|
|
30
|
+
- Emphasized proactive questioning approach
|
|
31
|
+
|
|
32
|
+
#### 2. User Stories Stage
|
|
33
|
+
- Removed "skip entire categories" directive
|
|
34
|
+
- Added comprehensive question categories to evaluate
|
|
35
|
+
- Enhanced answer analysis requirements
|
|
36
|
+
- Strengthened follow-up question mandates
|
|
37
|
+
|
|
38
|
+
#### 3. Functional Design Stage
|
|
39
|
+
- Replaced "only if" conditions with comprehensive evaluation
|
|
40
|
+
- Added more question categories (data flow, integration points, error handling)
|
|
41
|
+
- Strengthened ambiguity detection and resolution requirements
|
|
42
|
+
|
|
43
|
+
#### 4. NFR Requirements Stage
|
|
44
|
+
- Expanded question categories beyond basic NFRs
|
|
45
|
+
- Added reliability, maintainability, and usability considerations
|
|
46
|
+
- Enhanced answer analysis for technical ambiguities
|
|
47
|
+
|
|
48
|
+
### New Guiding Principles
|
|
49
|
+
|
|
50
|
+
1. **Default to Asking**: When there's any ambiguity, ask clarifying questions
|
|
51
|
+
2. **Comprehensive Coverage**: Evaluate ALL relevant categories, don't skip areas
|
|
52
|
+
3. **Thorough Analysis**: Carefully analyze ALL user responses for ambiguities
|
|
53
|
+
4. **Mandatory Follow-up**: Create follow-up questions for ANY unclear responses
|
|
54
|
+
5. **No Proceeding with Ambiguity**: Don't move forward until ALL ambiguities are resolved
|
|
55
|
+
|
|
56
|
+
## Implementation Guidelines
|
|
57
|
+
|
|
58
|
+
### For Question Generation
|
|
59
|
+
- Evaluate ALL question categories, don't skip any
|
|
60
|
+
- Ask questions wherever clarification would improve quality
|
|
61
|
+
- Include comprehensive question categories in each stage
|
|
62
|
+
- Default to inclusion rather than exclusion of questions
|
|
63
|
+
|
|
64
|
+
### For Answer Analysis
|
|
65
|
+
- Look for vague responses: "depends", "maybe", "not sure", "mix of", "somewhere between"
|
|
66
|
+
- Detect undefined terms and references to external concepts
|
|
67
|
+
- Identify contradictory or incomplete answers
|
|
68
|
+
- Create follow-up questions for ANY ambiguities
|
|
69
|
+
|
|
70
|
+
### For Follow-up Questions
|
|
71
|
+
- Create separate clarification files when ambiguities are detected
|
|
72
|
+
- Ask specific questions to resolve each ambiguity
|
|
73
|
+
- Don't proceed until ALL unclear responses are clarified
|
|
74
|
+
- Be thorough - better to over-clarify than under-clarify
|
|
75
|
+
|
|
76
|
+
## Quality Assurance
|
|
77
|
+
|
|
78
|
+
### Red Flags to Watch For
|
|
79
|
+
- Stages completing without asking any questions on complex projects
|
|
80
|
+
- Proceeding with vague or ambiguous user responses
|
|
81
|
+
- Skipping entire question categories without justification
|
|
82
|
+
- Making assumptions instead of asking for clarification
|
|
83
|
+
|
|
84
|
+
### Success Indicators
|
|
85
|
+
- Appropriate number of clarifying questions for project complexity
|
|
86
|
+
- Thorough analysis of user responses with follow-up when needed
|
|
87
|
+
- Clear, unambiguous requirements before proceeding to implementation
|
|
88
|
+
- Reduced need for changes during later stages due to better upfront clarification
|
|
89
|
+
|
|
90
|
+
## Maintenance
|
|
91
|
+
|
|
92
|
+
This guide should be referenced when:
|
|
93
|
+
- Adding new stages to AI-DLC
|
|
94
|
+
- Updating existing stage instructions
|
|
95
|
+
- Reviewing AI-DLC performance for overconfidence issues
|
|
96
|
+
- Training team members on AI-DLC question generation principles
|
|
97
|
+
|
|
98
|
+
## Key Takeaway
|
|
99
|
+
|
|
100
|
+
**It's better to ask too many questions than to make incorrect assumptions.** The cost of asking clarifying questions upfront is far less than the cost of implementing the wrong solution based on assumptions.
|