@theglitchking/hit-em-with-the-docs 2.0.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.
Files changed (200) hide show
  1. package/.claude-plugin/marketplace.json +46 -0
  2. package/.claude-plugin/plugin.json +114 -0
  3. package/LICENSE +21 -0
  4. package/MIGRATION.md +255 -0
  5. package/README.backup.md +714 -0
  6. package/README.md +869 -0
  7. package/action.yml +56 -0
  8. package/dist/action/action/index.d.ts +2 -0
  9. package/dist/action/action/index.d.ts.map +1 -0
  10. package/dist/action/cli/index.d.ts +3 -0
  11. package/dist/action/cli/index.d.ts.map +1 -0
  12. package/dist/action/core/audit/auditor.d.ts +43 -0
  13. package/dist/action/core/audit/auditor.d.ts.map +1 -0
  14. package/dist/action/core/audit/rules.d.ts +37 -0
  15. package/dist/action/core/audit/rules.d.ts.map +1 -0
  16. package/dist/action/core/discover/antipatterns.d.ts +24 -0
  17. package/dist/action/core/discover/antipatterns.d.ts.map +1 -0
  18. package/dist/action/core/discover/dependencies.d.ts +57 -0
  19. package/dist/action/core/discover/dependencies.d.ts.map +1 -0
  20. package/dist/action/core/discover/patterns.d.ts +38 -0
  21. package/dist/action/core/discover/patterns.d.ts.map +1 -0
  22. package/dist/action/core/discover/standards.d.ts +58 -0
  23. package/dist/action/core/discover/standards.d.ts.map +1 -0
  24. package/dist/action/core/domains/classifier.d.ts +41 -0
  25. package/dist/action/core/domains/classifier.d.ts.map +1 -0
  26. package/dist/action/core/domains/constants.d.ts +40 -0
  27. package/dist/action/core/domains/constants.d.ts.map +1 -0
  28. package/dist/action/core/domains/detector.d.ts +35 -0
  29. package/dist/action/core/domains/detector.d.ts.map +1 -0
  30. package/dist/action/core/integrate/integrator.d.ts +35 -0
  31. package/dist/action/core/integrate/integrator.d.ts.map +1 -0
  32. package/dist/action/core/links/checker.d.ts +64 -0
  33. package/dist/action/core/links/checker.d.ts.map +1 -0
  34. package/dist/action/core/links/tracker.d.ts +69 -0
  35. package/dist/action/core/links/tracker.d.ts.map +1 -0
  36. package/dist/action/core/maintain/orchestrator.d.ts +39 -0
  37. package/dist/action/core/maintain/orchestrator.d.ts.map +1 -0
  38. package/dist/action/core/metadata/generator.d.ts +26 -0
  39. package/dist/action/core/metadata/generator.d.ts.map +1 -0
  40. package/dist/action/core/metadata/schema.d.ts +201 -0
  41. package/dist/action/core/metadata/schema.d.ts.map +1 -0
  42. package/dist/action/core/metadata/sync.d.ts +36 -0
  43. package/dist/action/core/metadata/sync.d.ts.map +1 -0
  44. package/dist/action/generators/index-generator.d.ts +19 -0
  45. package/dist/action/generators/index-generator.d.ts.map +1 -0
  46. package/dist/action/generators/registry-generator.d.ts +11 -0
  47. package/dist/action/generators/registry-generator.d.ts.map +1 -0
  48. package/dist/action/generators/scaffold.d.ts +30 -0
  49. package/dist/action/generators/scaffold.d.ts.map +1 -0
  50. package/dist/action/generators/templates/document.d.ts +14 -0
  51. package/dist/action/generators/templates/document.d.ts.map +1 -0
  52. package/dist/action/generators/templates/domain-index.d.ts +6 -0
  53. package/dist/action/generators/templates/domain-index.d.ts.map +1 -0
  54. package/dist/action/generators/templates/domain-registry.d.ts +6 -0
  55. package/dist/action/generators/templates/domain-registry.d.ts.map +1 -0
  56. package/dist/action/index.d.ts +31 -0
  57. package/dist/action/index.d.ts.map +1 -0
  58. package/dist/action/index.js +17 -0
  59. package/dist/action/index.js.map +1 -0
  60. package/dist/action/package.json +3 -0
  61. package/dist/action/reports/audit-report.d.ts +15 -0
  62. package/dist/action/reports/audit-report.d.ts.map +1 -0
  63. package/dist/action/reports/health-report.d.ts +15 -0
  64. package/dist/action/reports/health-report.d.ts.map +1 -0
  65. package/dist/action/reports/link-report.d.ts +15 -0
  66. package/dist/action/reports/link-report.d.ts.map +1 -0
  67. package/dist/action/utils/frontmatter.d.ts +50 -0
  68. package/dist/action/utils/frontmatter.d.ts.map +1 -0
  69. package/dist/action/utils/glob.d.ts +63 -0
  70. package/dist/action/utils/glob.d.ts.map +1 -0
  71. package/dist/action/utils/logger.d.ts +42 -0
  72. package/dist/action/utils/logger.d.ts.map +1 -0
  73. package/dist/action/utils/markdown.d.ts +89 -0
  74. package/dist/action/utils/markdown.d.ts.map +1 -0
  75. package/dist/cli/index.d.ts +3 -0
  76. package/dist/cli/index.d.ts.map +1 -0
  77. package/dist/cli/index.js +287 -0
  78. package/dist/cli/index.js.map +1 -0
  79. package/dist/core/audit/auditor.d.ts +43 -0
  80. package/dist/core/audit/auditor.d.ts.map +1 -0
  81. package/dist/core/audit/auditor.js +273 -0
  82. package/dist/core/audit/auditor.js.map +1 -0
  83. package/dist/core/audit/rules.d.ts +37 -0
  84. package/dist/core/audit/rules.d.ts.map +1 -0
  85. package/dist/core/audit/rules.js +223 -0
  86. package/dist/core/audit/rules.js.map +1 -0
  87. package/dist/core/discover/antipatterns.d.ts +24 -0
  88. package/dist/core/discover/antipatterns.d.ts.map +1 -0
  89. package/dist/core/discover/antipatterns.js +354 -0
  90. package/dist/core/discover/antipatterns.js.map +1 -0
  91. package/dist/core/discover/dependencies.d.ts +57 -0
  92. package/dist/core/discover/dependencies.d.ts.map +1 -0
  93. package/dist/core/discover/dependencies.js +311 -0
  94. package/dist/core/discover/dependencies.js.map +1 -0
  95. package/dist/core/discover/patterns.d.ts +38 -0
  96. package/dist/core/discover/patterns.d.ts.map +1 -0
  97. package/dist/core/discover/patterns.js +371 -0
  98. package/dist/core/discover/patterns.js.map +1 -0
  99. package/dist/core/discover/standards.d.ts +58 -0
  100. package/dist/core/discover/standards.d.ts.map +1 -0
  101. package/dist/core/discover/standards.js +359 -0
  102. package/dist/core/discover/standards.js.map +1 -0
  103. package/dist/core/domains/classifier.d.ts +41 -0
  104. package/dist/core/domains/classifier.d.ts.map +1 -0
  105. package/dist/core/domains/classifier.js +208 -0
  106. package/dist/core/domains/classifier.js.map +1 -0
  107. package/dist/core/domains/constants.d.ts +40 -0
  108. package/dist/core/domains/constants.d.ts.map +1 -0
  109. package/dist/core/domains/constants.js +252 -0
  110. package/dist/core/domains/constants.js.map +1 -0
  111. package/dist/core/domains/detector.d.ts +35 -0
  112. package/dist/core/domains/detector.d.ts.map +1 -0
  113. package/dist/core/domains/detector.js +176 -0
  114. package/dist/core/domains/detector.js.map +1 -0
  115. package/dist/core/integrate/integrator.d.ts +35 -0
  116. package/dist/core/integrate/integrator.d.ts.map +1 -0
  117. package/dist/core/integrate/integrator.js +216 -0
  118. package/dist/core/integrate/integrator.js.map +1 -0
  119. package/dist/core/links/checker.d.ts +64 -0
  120. package/dist/core/links/checker.d.ts.map +1 -0
  121. package/dist/core/links/checker.js +190 -0
  122. package/dist/core/links/checker.js.map +1 -0
  123. package/dist/core/links/tracker.d.ts +69 -0
  124. package/dist/core/links/tracker.d.ts.map +1 -0
  125. package/dist/core/links/tracker.js +184 -0
  126. package/dist/core/links/tracker.js.map +1 -0
  127. package/dist/core/maintain/orchestrator.d.ts +39 -0
  128. package/dist/core/maintain/orchestrator.d.ts.map +1 -0
  129. package/dist/core/maintain/orchestrator.js +372 -0
  130. package/dist/core/maintain/orchestrator.js.map +1 -0
  131. package/dist/core/metadata/generator.d.ts +26 -0
  132. package/dist/core/metadata/generator.d.ts.map +1 -0
  133. package/dist/core/metadata/generator.js +221 -0
  134. package/dist/core/metadata/generator.js.map +1 -0
  135. package/dist/core/metadata/schema.d.ts +201 -0
  136. package/dist/core/metadata/schema.d.ts.map +1 -0
  137. package/dist/core/metadata/schema.js +184 -0
  138. package/dist/core/metadata/schema.js.map +1 -0
  139. package/dist/core/metadata/sync.d.ts +36 -0
  140. package/dist/core/metadata/sync.d.ts.map +1 -0
  141. package/dist/core/metadata/sync.js +195 -0
  142. package/dist/core/metadata/sync.js.map +1 -0
  143. package/dist/generators/index-generator.d.ts +19 -0
  144. package/dist/generators/index-generator.d.ts.map +1 -0
  145. package/dist/generators/index-generator.js +191 -0
  146. package/dist/generators/index-generator.js.map +1 -0
  147. package/dist/generators/registry-generator.d.ts +11 -0
  148. package/dist/generators/registry-generator.d.ts.map +1 -0
  149. package/dist/generators/registry-generator.js +156 -0
  150. package/dist/generators/registry-generator.js.map +1 -0
  151. package/dist/generators/scaffold.d.ts +30 -0
  152. package/dist/generators/scaffold.d.ts.map +1 -0
  153. package/dist/generators/scaffold.js +213 -0
  154. package/dist/generators/scaffold.js.map +1 -0
  155. package/dist/generators/templates/document.d.ts +14 -0
  156. package/dist/generators/templates/document.d.ts.map +1 -0
  157. package/dist/generators/templates/document.js +305 -0
  158. package/dist/generators/templates/document.js.map +1 -0
  159. package/dist/generators/templates/domain-index.d.ts +6 -0
  160. package/dist/generators/templates/domain-index.d.ts.map +1 -0
  161. package/dist/generators/templates/domain-index.js +68 -0
  162. package/dist/generators/templates/domain-index.js.map +1 -0
  163. package/dist/generators/templates/domain-registry.d.ts +6 -0
  164. package/dist/generators/templates/domain-registry.d.ts.map +1 -0
  165. package/dist/generators/templates/domain-registry.js +59 -0
  166. package/dist/generators/templates/domain-registry.js.map +1 -0
  167. package/dist/index.d.ts +32 -0
  168. package/dist/index.d.ts.map +1 -0
  169. package/dist/index.js +39 -0
  170. package/dist/index.js.map +1 -0
  171. package/dist/reports/audit-report.d.ts +15 -0
  172. package/dist/reports/audit-report.d.ts.map +1 -0
  173. package/dist/reports/audit-report.js +150 -0
  174. package/dist/reports/audit-report.js.map +1 -0
  175. package/dist/reports/health-report.d.ts +15 -0
  176. package/dist/reports/health-report.d.ts.map +1 -0
  177. package/dist/reports/health-report.js +175 -0
  178. package/dist/reports/health-report.js.map +1 -0
  179. package/dist/reports/link-report.d.ts +15 -0
  180. package/dist/reports/link-report.d.ts.map +1 -0
  181. package/dist/reports/link-report.js +165 -0
  182. package/dist/reports/link-report.js.map +1 -0
  183. package/dist/utils/frontmatter.d.ts +50 -0
  184. package/dist/utils/frontmatter.d.ts.map +1 -0
  185. package/dist/utils/frontmatter.js +93 -0
  186. package/dist/utils/frontmatter.js.map +1 -0
  187. package/dist/utils/glob.d.ts +63 -0
  188. package/dist/utils/glob.d.ts.map +1 -0
  189. package/dist/utils/glob.js +128 -0
  190. package/dist/utils/glob.js.map +1 -0
  191. package/dist/utils/logger.d.ts +42 -0
  192. package/dist/utils/logger.d.ts.map +1 -0
  193. package/dist/utils/logger.js +118 -0
  194. package/dist/utils/logger.js.map +1 -0
  195. package/dist/utils/markdown.d.ts +89 -0
  196. package/dist/utils/markdown.d.ts.map +1 -0
  197. package/dist/utils/markdown.js +192 -0
  198. package/dist/utils/markdown.js.map +1 -0
  199. package/package.json +100 -0
  200. package/templates/claude/CLAUDE.md +204 -0
package/README.md ADDED
@@ -0,0 +1,869 @@
1
+ # hit-em-with-the-docs
2
+
3
+ > A self-managing documentation system that keeps your docs organized, accurate, and easy to find.
4
+
5
+ [![GitHub Action](https://img.shields.io/badge/GitHub-Action-blue?logo=github)](https://github.com/marketplace/actions/hit-em-with-the-docs)
6
+ [![npm version](https://img.shields.io/npm/v/hit-em-with-the-docs.svg)](https://www.npmjs.com/package/hit-em-with-the-docs)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+
9
+
10
+ > [!IMPORTANT]
11
+ > You will still need to remember to invoke this plugin for document creation! As projects continue to scale, documetnation will need to be created / maintained. a user will still need to invoke this plugin or ask and LLM for that documentation to be created for your > feature / workflow / infrastructure, or create it yourself using the commands from this plugin. This plugin needs to be invoked to either create / update / maintain it all.
12
+
13
+
14
+
15
+ ## Summary
16
+
17
+ Documentation often becomes messy and hard to find as projects grow. Important information gets scattered across many files, links break when files move, and nobody knows if docs are up to date. Hit-em-with-the-docs solves these problems by organizing your documentation into 15 clear categories, checking links automatically, and making sure every document has proper information about what it contains. It keeps your documentation healthy without you having to think about it.
18
+
19
+ ## Operational Summary
20
+
21
+ The plugin creates a special folder called `.documentation` in your project with 15 organized sections (called "domains") like security, API, database, and testing. Each document gets tagged with metadata - information like title, category, and last update date - that helps you and the system understand what it's about.
22
+
23
+ The system has built-in tools that automatically check your documentation for problems. It finds broken links between documents, makes sure metadata is complete, and verifies files are named correctly. You can run these checks manually or set them up to run automatically in your build process. The plugin can also scan your actual code to discover patterns and create documentation from what it finds. Everything is designed to work with markdown files and integrates seamlessly with GitHub Actions for continuous monitoring.
24
+
25
+ ## Features
26
+
27
+ - **Organized Structure**: Automatically creates 15 specialized categories for different types of documentation
28
+ - **Smart Classification**: Analyzes your documents and automatically puts them in the right category
29
+ - **Metadata Management**: Tracks 22 different pieces of information about each document (title, status, tags, etc.)
30
+ - **Link Checking**: Finds and reports broken links between documents
31
+ - **Auto-Fixing**: Can automatically repair common problems like missing metadata
32
+ - **Pattern Discovery**: Scans your code to find and document coding patterns
33
+ - **Health Reports**: Generates reports showing the overall quality of your documentation
34
+ - **GitHub Integration**: Works as a GitHub Action for automated checks
35
+ - **CLI Tool**: Full command-line interface for all operations
36
+ - **Search Functionality**: Quick search across all documentation
37
+
38
+ ## Quick Start
39
+
40
+ ### Installation Methods
41
+
42
+ #### Method 1: Global Installation (Recommended for CLI use)
43
+
44
+ This method installs the tool on your computer so you can use it anywhere.
45
+
46
+ 1. Open your terminal or command prompt
47
+ 2. Type this command and press Enter:
48
+ ```bash
49
+ npm install -g hit-em-with-the-docs
50
+ ```
51
+ 3. Wait for the installation to complete
52
+ 4. Verify it worked by typing:
53
+ ```bash
54
+ hewtd --version
55
+ ```
56
+ 5. You should see the version number
57
+
58
+ #### Method 2: Project Installation
59
+
60
+ This method installs the tool only for your current project.
61
+
62
+ 1. Open your terminal in your project folder
63
+ 2. Type this command:
64
+ ```bash
65
+ npm install --save-dev hit-em-with-the-docs
66
+ ```
67
+ 3. Add a script to your `package.json`:
68
+ ```json
69
+ "scripts": {
70
+ "docs": "hewtd"
71
+ }
72
+ ```
73
+ 4. Use it with: `npm run docs`
74
+
75
+ #### Method 3: One-Time Use (No Installation)
76
+
77
+ You can run the tool without installing it using `npx`:
78
+
79
+ ```bash
80
+ npx hit-em-with-the-docs <command>
81
+ ```
82
+
83
+ #### Method 4: GitHub Action
84
+
85
+ Add this to your repository at `.github/workflows/docs-check.yml`:
86
+
87
+ ```yaml
88
+ name: Documentation Health Check
89
+
90
+ on:
91
+ push:
92
+ paths:
93
+ - '.documentation/**'
94
+ schedule:
95
+ - cron: '0 16 * * 5' # Every Friday at 4 PM
96
+
97
+ jobs:
98
+ docs-check:
99
+ runs-on: ubuntu-latest
100
+ steps:
101
+ - uses: actions/checkout@v4
102
+
103
+ - name: Run Documentation Health Check
104
+ uses: TheGlitchKing/hit-em-with-the-docs@v1
105
+ with:
106
+ command: maintain
107
+ mode: quick
108
+ fail-on-error: true
109
+ ```
110
+
111
+ ### Initializing the Plugin
112
+
113
+ After installing, you need to create the documentation structure:
114
+
115
+ ```bash
116
+ # Create .documentation folder with all 15 categories
117
+ hewtd init
118
+
119
+ # Or specify a different location
120
+ hewtd init --path ./docs
121
+ ```
122
+
123
+ This creates a folder structure like:
124
+ ```
125
+ .documentation/
126
+ ├── INDEX.md # Main navigation page
127
+ ├── REGISTRY.md # Quick reference list
128
+ ├── README.md # Overview of the documentation
129
+ ├── security/ # Security-related docs
130
+ ├── api/ # API documentation
131
+ ├── database/ # Database docs
132
+ ├── testing/ # Test documentation
133
+ └── ... (11 more categories)
134
+ ```
135
+
136
+ ---
137
+
138
+ ## CLI Commands
139
+
140
+ ### Basic Commands
141
+
142
+ | Command | Description |
143
+ |---------|-------------|
144
+ | `hewtd init` | Create the documentation structure |
145
+ | `hewtd maintain` | Run full health check and maintenance |
146
+ | `hewtd integrate <file>` | Add a document to the system |
147
+ | `hewtd list` | Show all documentation categories |
148
+ | `hewtd search <query>` | Search for content in documentation |
149
+
150
+ ### Maintenance Commands
151
+
152
+ | Command | Description |
153
+ |---------|-------------|
154
+ | `hewtd metadata-sync` | Update and fix document metadata |
155
+ | `hewtd link-check` | Find broken links |
156
+ | `hewtd audit` | Check documentation quality |
157
+ | `hewtd report <type>` | Generate reports (health, audit, links) |
158
+
159
+ ### Discovery Commands
160
+
161
+ | Command | Description |
162
+ |---------|-------------|
163
+ | `hewtd discover patterns` | Find coding patterns in your codebase |
164
+ | `hewtd discover anti-patterns` | Find problematic code patterns |
165
+ | `hewtd discover standards` | Extract coding standards from code |
166
+ | `hewtd discover dependencies` | Analyze project dependencies |
167
+
168
+ ---
169
+
170
+ ### Command Details and Examples
171
+
172
+ #### `hewtd init` - Create Documentation Structure
173
+
174
+ **When to use**: First time setting up documentation in a project.
175
+
176
+ **What it does**: Creates the `.documentation` folder with 15 organized categories and starter files.
177
+
178
+ **Examples**:
179
+ ```bash
180
+ # Basic initialization
181
+ hewtd init
182
+
183
+ # Custom location
184
+ hewtd init --path ./my-docs
185
+
186
+ # Overwrite existing structure
187
+ hewtd init --force
188
+ ```
189
+
190
+ **What to expect**: You'll see 53 files and folders created. Each category gets an INDEX.md (table of contents) and REGISTRY.md (quick reference list).
191
+
192
+ ---
193
+
194
+ #### `hewtd maintain` - Full Documentation Maintenance
195
+
196
+ **When to use**: Weekly checkups, before releases, or after adding lots of documentation.
197
+
198
+ **What it does**: Runs a complete health check - fixes metadata, checks links, and creates a report with a score.
199
+
200
+ **Examples**:
201
+ ```bash
202
+ # Full maintenance (checks everything)
203
+ hewtd maintain
204
+
205
+ # Quick mode (skips link checking - faster)
206
+ hewtd maintain --quick
207
+
208
+ # Quick mode with auto-fix
209
+ hewtd maintain --quick --fix
210
+
211
+ # Specific folder
212
+ hewtd maintain --path ./docs
213
+ ```
214
+
215
+ **What to expect**:
216
+ - See a health score from 0 to 100
217
+ - Get a list of issues found
218
+ - See how many issues were fixed
219
+ - Find a detailed report in `.documentation/reports/`
220
+
221
+ **Use it on**: Your entire documentation folder, especially before merging code or releasing.
222
+
223
+ ---
224
+
225
+ #### `hewtd integrate` - Add Documents to the System
226
+
227
+ **When to use**: Adding new documentation files or organizing existing ones.
228
+
229
+ **What it does**: Reads your document, figures out which category it belongs in, adds metadata, and moves it to the right place.
230
+
231
+ **Examples**:
232
+ ```bash
233
+ # Add a single document
234
+ hewtd integrate ./my-guide.md
235
+
236
+ # Preview where it would go (doesn't actually move it)
237
+ hewtd integrate ./my-guide.md --dry-run
238
+
239
+ # Automatic mode (no questions asked)
240
+ hewtd integrate ./my-guide.md --auto
241
+
242
+ # Add multiple documents
243
+ for file in old-docs/*.md; do
244
+ hewtd integrate "$file" --auto
245
+ done
246
+ ```
247
+
248
+ **What to expect**: The tool will read your document and suggest a category like "security" or "api" based on its content. It adds metadata and moves the file.
249
+
250
+ **Use it on**: New markdown files you want to add to your documentation system.
251
+
252
+ ---
253
+
254
+ #### `hewtd metadata-sync` - Update Document Information
255
+
256
+ **When to use**: After manually editing files or when metadata is missing.
257
+
258
+ **What it does**: Checks all documents for proper metadata and fills in missing information automatically.
259
+
260
+ **Examples**:
261
+ ```bash
262
+ # Check everything (preview only)
263
+ hewtd metadata-sync
264
+
265
+ # Fix all issues
266
+ hewtd metadata-sync --fix
267
+
268
+ # Only check security documentation
269
+ hewtd metadata-sync --domain security --fix
270
+ ```
271
+
272
+ **What to expect**: Sees how many documents have complete information, automatically adds things like word count and reading time.
273
+
274
+ **Use it on**: The entire `.documentation` folder or specific categories.
275
+
276
+ ---
277
+
278
+ #### `hewtd link-check` - Find Broken Links
279
+
280
+ **When to use**: Before releases, after moving files, or monthly maintenance.
281
+
282
+ **What it does**: Checks every link in your documentation to make sure it points to a real file.
283
+
284
+ **Examples**:
285
+ ```bash
286
+ # Check all links
287
+ hewtd link-check
288
+
289
+ # Check specific category
290
+ hewtd link-check --domain api
291
+
292
+ # Generate detailed report
293
+ hewtd link-check --report
294
+ ```
295
+
296
+ **What to expect**: See a list of broken links with file names and line numbers. The report saves to `.documentation/reports/`.
297
+
298
+ **Use it on**: Your entire documentation, especially after reorganizing files.
299
+
300
+ ---
301
+
302
+ #### `hewtd audit` - Check Documentation Quality
303
+
304
+ **When to use**: Quality checks, code reviews, or establishing a baseline.
305
+
306
+ **What it does**: Checks if files follow naming rules, are in the right categories, and have complete metadata.
307
+
308
+ **Examples**:
309
+ ```bash
310
+ # Audit everything
311
+ hewtd audit
312
+
313
+ # Only show problems
314
+ hewtd audit --issues-only
315
+
316
+ # Audit specific category
317
+ hewtd audit --domain standards
318
+
319
+ # Generate full report
320
+ hewtd audit --report
321
+ ```
322
+
323
+ **What to expect**: Get a quality score and detailed list of what needs fixing.
324
+
325
+ **Use it on**: The entire documentation system to measure quality.
326
+
327
+ ---
328
+
329
+ #### `hewtd discover patterns` - Find Code Patterns
330
+
331
+ **When to use**: Creating architecture documentation, onboarding guides, or style guides.
332
+
333
+ **What it does**: Scans your code and creates documentation about patterns it finds (like Singleton, Factory, Repository).
334
+
335
+ **Examples**:
336
+ ```bash
337
+ # Find all patterns
338
+ hewtd discover patterns
339
+
340
+ # Only TypeScript files
341
+ hewtd discover patterns --language typescript
342
+
343
+ # Scan specific folder
344
+ hewtd discover patterns --root ./src
345
+ ```
346
+
347
+ **What to expect**: Creates markdown files with examples of patterns found in your code, including file locations.
348
+
349
+ **Use it on**: Your source code folders (automatically skips node_modules and other common folders).
350
+
351
+ ---
352
+
353
+ #### `hewtd list` - Show All Categories
354
+
355
+ **When to use**: Quick reference to see available categories.
356
+
357
+ **What it does**: Displays all 15 categories with descriptions.
358
+
359
+ **Example**:
360
+ ```bash
361
+ hewtd list
362
+ ```
363
+
364
+ **What to expect**: A table showing category names, priority, and descriptions.
365
+
366
+ ---
367
+
368
+ #### `hewtd search` - Find Documentation
369
+
370
+ **When to use**: Looking for specific information across all docs.
371
+
372
+ **What it does**: Searches through all documentation files for your search term.
373
+
374
+ **Examples**:
375
+ ```bash
376
+ # Basic search
377
+ hewtd search "authentication"
378
+
379
+ # Search in specific category
380
+ hewtd search "authentication" --domain security
381
+ ```
382
+
383
+ **What to expect**: List of files containing your search term, sorted by relevance.
384
+
385
+ **Use it on**: Any topic you need to find in your documentation.
386
+
387
+ ---
388
+
389
+ #### `hewtd report` - Generate Reports
390
+
391
+ **When to use**: Weekly metrics, stakeholder updates, or dashboards.
392
+
393
+ **What it does**: Creates comprehensive reports in markdown or JSON format.
394
+
395
+ **Examples**:
396
+ ```bash
397
+ # Health report
398
+ hewtd report health
399
+
400
+ # Audit report
401
+ hewtd report audit
402
+
403
+ # Link topology report
404
+ hewtd report links
405
+
406
+ # JSON output for automation
407
+ hewtd report health --format json
408
+ ```
409
+
410
+ **What to expect**: Detailed report saved to `.documentation/reports/` with scores, statistics, and recommendations.
411
+
412
+ **Use it on**: Your documentation system to get metrics and trends.
413
+
414
+ ---
415
+
416
+ ## Claude Code Integration
417
+
418
+ This tool works as a Claude Code plugin to help Claude understand and work with your documentation.
419
+
420
+ ### Available Claude Commands
421
+
422
+ These commands can be used in conversation with Claude when the plugin is installed:
423
+
424
+ | Command | Description |
425
+ |---------|-------------|
426
+ | `/docs load <domain>` | Load a specific category of documentation |
427
+ | `/docs list` | Show all documentation categories |
428
+ | `/docs search <query>` | Search through documentation |
429
+ | `/docs stats` | Display documentation statistics |
430
+ | `/docs maintain` | Run maintenance checks |
431
+
432
+ ### Setting Up Claude Integration
433
+
434
+ Create or update `.claude/CLAUDE.md` in your project:
435
+
436
+ ```markdown
437
+ # Documentation System
438
+
439
+ This project uses hit-em-with-the-docs for documentation management.
440
+
441
+ ## Available Documentation Commands
442
+
443
+ - `/docs load <domain>` - Load specific documentation domain
444
+ - `/docs list` - List all available domains
445
+ - `/docs search <query>` - Search documentation
446
+ - `/docs stats` - Show documentation statistics
447
+ - `/docs maintain` - Run documentation maintenance
448
+
449
+ ## Documentation Structure
450
+
451
+ Documentation is organized into 15 domains:
452
+ - security: Authentication, authorization, security practices
453
+ - api: API endpoints and specifications
454
+ - database: Database schema and queries
455
+ - testing: Test strategies and patterns
456
+ - And 11 more specialized categories
457
+ ```
458
+
459
+ ### How to Use with Claude
460
+
461
+ **Loading documentation**:
462
+ ```
463
+ You: /docs load security
464
+ Claude: [Loads all security-related documentation and can answer questions about it]
465
+ ```
466
+
467
+ **Searching documentation**:
468
+ ```
469
+ You: /docs search authentication
470
+ Claude: [Shows files containing "authentication"]
471
+ ```
472
+
473
+ **Getting statistics**:
474
+ ```
475
+ You: /docs stats
476
+ Claude: [Shows health score, document counts, recent updates]
477
+ ```
478
+
479
+ **Running maintenance**:
480
+ ```
481
+ You: /docs maintain
482
+ Claude: [Runs health check and reports issues]
483
+ ```
484
+
485
+ **When to use these commands**:
486
+ - Use `/docs load` when asking Claude questions about specific topics
487
+ - Use `/docs search` to find existing documentation before writing new content
488
+ - Use `/docs stats` to check documentation health
489
+ - Use `/docs maintain` before committing changes
490
+
491
+ **What to expect**: Claude will have full context of your documentation and can answer questions, suggest improvements, or help maintain it.
492
+
493
+ ---
494
+
495
+ ## Common Workflows
496
+
497
+ ### Daily Development
498
+ ```bash
499
+ # Quick health check before committing
500
+ hewtd maintain --quick
501
+ ```
502
+
503
+ ### Adding New Documentation
504
+ ```bash
505
+ # 1. Write your document
506
+ vim my-new-guide.md
507
+
508
+ # 2. Add it to the system
509
+ hewtd integrate my-new-guide.md
510
+
511
+ # 3. Quick check
512
+ hewtd maintain --quick --fix
513
+ ```
514
+
515
+ ### Weekly Maintenance
516
+ ```bash
517
+ # Auto-fix all issues
518
+ hewtd maintain --quick --fix
519
+
520
+ # Review the report
521
+ cat .documentation/reports/maintenance-*.md
522
+ ```
523
+
524
+ ### Before Releasing
525
+ ```bash
526
+ # 1. Full maintenance with link checking
527
+ hewtd maintain --fix
528
+
529
+ # 2. Generate health report
530
+ hewtd report health
531
+
532
+ # 3. Make sure score is above 80
533
+ # 4. Commit changes
534
+ ```
535
+
536
+ ### Migrating Existing Documentation
537
+ ```bash
538
+ # 1. Create structure
539
+ hewtd init
540
+
541
+ # 2. Preview where files will go
542
+ for file in old-docs/*.md; do
543
+ hewtd integrate "$file" --dry-run
544
+ done
545
+
546
+ # 3. Integrate all files
547
+ for file in old-docs/*.md; do
548
+ hewtd integrate "$file" --auto
549
+ done
550
+
551
+ # 4. Run maintenance
552
+ hewtd maintain --fix
553
+
554
+ # 5. Check results
555
+ hewtd report health
556
+ ```
557
+
558
+ ---
559
+
560
+ ## Technical Details
561
+
562
+ ### Architecture Overview
563
+
564
+ The system is built with TypeScript and organized into several core modules:
565
+
566
+ ```
567
+ src/
568
+ ├── cli/ # Command-line interface
569
+ ├── core/
570
+ │ ├── audit/ # Documentation quality auditing
571
+ │ ├── discover/ # Code pattern discovery
572
+ │ ├── domains/ # Domain classification system
573
+ │ ├── integrate/ # Document integration
574
+ │ ├── links/ # Link checking and tracking
575
+ │ ├── maintain/ # Maintenance orchestration
576
+ │ └── metadata/ # Metadata management
577
+ ├── generators/ # Scaffold and template generation
578
+ ├── reports/ # Report generation
579
+ └── utils/ # Shared utilities
580
+ ```
581
+
582
+ ### File Structure
583
+
584
+ **Root Documentation Files**:
585
+ - `INDEX.md` - Main navigation hub with links to all domains
586
+ - `REGISTRY.md` - Quick reference list of all documents
587
+ - `README.md` - Overview and getting started guide
588
+
589
+ **Domain Structure**:
590
+ Each of the 15 domains follows this pattern:
591
+ ```
592
+ domain-name/
593
+ ├── INDEX.md # Domain table of contents
594
+ ├── REGISTRY.md # Quick reference for this domain
595
+ └── *.md # Individual documentation files
596
+ ```
597
+
598
+ **Generated Files**:
599
+ ```
600
+ .documentation/
601
+ ├── reports/ # Health, audit, and link reports
602
+ │ ├── maintenance-YYYYMMDD-HHMMSS.md
603
+ │ ├── audit-YYYYMMDD-HHMMSS.md
604
+ │ └── links-YYYYMMDD-HHMMSS.md
605
+ └── drafts/ # Work-in-progress documents
606
+ ```
607
+
608
+ ### Domain System
609
+
610
+ The system organizes documentation into 15 specialized domains:
611
+
612
+ | Domain | Category | Priority | Description |
613
+ |--------|----------|----------|-------------|
614
+ | `standards` | development | 10 | Coding standards and conventions |
615
+ | `security` | core | 9 | Security, auth, encryption |
616
+ | `quickstart` | features | 9 | Setup and onboarding |
617
+ | `devops` | core | 8 | Deployment and infrastructure |
618
+ | `database` | core | 8 | Schema and queries |
619
+ | `api` | core | 8 | API endpoints and specs |
620
+ | `testing` | development | 7 | Test strategies and patterns |
621
+ | `architecture` | development | 7 | System design and patterns |
622
+ | `features` | features | 6 | Feature implementation guides |
623
+ | `procedures` | features | 6 | Step-by-step operations |
624
+ | `troubleshooting` | advanced | 6 | Debug guides and solutions |
625
+ | `workflows` | features | 5 | Process documentation |
626
+ | `agents` | advanced | 5 | AI agent documentation |
627
+ | `backups` | advanced | 4 | Backup and recovery |
628
+ | `plans` | advanced | 3 | Planning and roadmaps |
629
+
630
+ **Priority System**: Domains with higher priority (1-10 scale) are loaded first by Claude Code and other integrations.
631
+
632
+ **Categories**:
633
+ - `core`: Essential project infrastructure
634
+ - `development`: Development practices and patterns
635
+ - `features`: Feature-specific documentation
636
+ - `advanced`: Specialized or less-frequently accessed
637
+
638
+ ### Metadata Schema
639
+
640
+ Every document includes YAML frontmatter with up to 22 fields:
641
+
642
+ **Required Fields**:
643
+ ```yaml
644
+ title: "Document Title"
645
+ tier: guide|standard|example|reference|admin
646
+ domains: [primary-domain, secondary-domain]
647
+ status: draft|active|deprecated|archived
648
+ ```
649
+
650
+ **Auto-Generated Fields**:
651
+ ```yaml
652
+ word_count: 1234 # Calculated from content
653
+ estimated_read_time: "5 minutes" # Based on 200 words/minute
654
+ last_validated: '2024-01-15' # Date of last metadata sync
655
+ ```
656
+
657
+ **Optional Fields**:
658
+ ```yaml
659
+ # Discovery
660
+ purpose: "One-sentence description"
661
+ tags: [tag1, tag2, tag3]
662
+ audience: [developers|devops|admin|all]
663
+ related_docs: [./other-doc.md]
664
+
665
+ # Lifecycle
666
+ last_updated: '2024-01-15'
667
+ version: '1.0.0'
668
+ review_frequency: monthly|quarterly|annually
669
+
670
+ # Ownership
671
+ author: "Name"
672
+ maintainer: "Team Name"
673
+
674
+ # Implementation
675
+ implementation_status: planned|in_progress|complete
676
+ tested: true|false
677
+ production_ready: true|false
678
+ load_priority: 1-10
679
+ backlinks: [] # Auto-generated by link checker
680
+ ```
681
+
682
+ ### Classification Algorithm
683
+
684
+ The domain classifier uses keyword-based scoring with Levenshtein distance:
685
+
686
+ 1. **Keyword Matching** (`src/core/domains/classifier.ts`):
687
+ - Extracts words from document title and content
688
+ - Scores each domain based on keyword matches
689
+ - Uses weighted scoring (title matches count more)
690
+
691
+ 2. **Fuzzy Matching**:
692
+ - Uses Levenshtein distance for similar words
693
+ - Catches variations (e.g., "authenticate" matches "authentication")
694
+ - Configurable similarity threshold
695
+
696
+ 3. **Confidence Scoring**:
697
+ - Returns confidence percentage for each domain
698
+ - Suggests top 3 matches
699
+ - Falls back to user selection if confidence is low
700
+
701
+ ### Link Tracking
702
+
703
+ The link checker (`src/core/links/checker.ts`) maintains a topology map:
704
+
705
+ - Parses markdown links in all documents
706
+ - Resolves relative paths
707
+ - Tracks cross-domain references
708
+ - Builds backlink map
709
+ - Detects broken links and orphaned documents
710
+
711
+ ### Maintenance Orchestrator
712
+
713
+ The maintenance system (`src/core/maintain/orchestrator.ts`) coordinates:
714
+
715
+ 1. **Metadata Sync**: Updates frontmatter across all documents
716
+ 2. **Link Check**: Validates internal links (optional in quick mode)
717
+ 3. **Audit**: Checks naming conventions and file placement
718
+ 4. **Report Generation**: Creates health score and detailed report
719
+
720
+ Health score calculation:
721
+ - Metadata completeness: 40%
722
+ - Link health: 30%
723
+ - Naming compliance: 20%
724
+ - File placement accuracy: 10%
725
+
726
+ ### GitHub Action
727
+
728
+ The action (`src/action/index.ts`) wraps the CLI for GitHub workflows:
729
+
730
+ **Inputs**:
731
+ - `command`: CLI command to run
732
+ - `mode`: Execution mode (quick/full/fix)
733
+ - `docs-path`: Path to documentation
734
+ - `domain`: Specific domain filter
735
+ - `fail-on-error`: Exit code behavior
736
+ - `fail-threshold`: Minimum health score
737
+
738
+ **Outputs**:
739
+ - `health-score`: Overall quality (0-100)
740
+ - `total-documents`: Document count
741
+ - `issues-found`: Problem count
742
+ - `issues-fixed`: Auto-fixed count
743
+ - `broken-links`: Broken link count
744
+ - `metadata-compliance`: Metadata completeness %
745
+ - `report-path`: Generated report location
746
+
747
+ ### Edge Cases and Handling
748
+
749
+ **Duplicate Documents**:
750
+ - Detected during integration
751
+ - User prompted to merge or keep separate
752
+ - Can force integration with `--force` flag
753
+
754
+ **Missing Metadata**:
755
+ - Auto-generated with sensible defaults
756
+ - Required fields must be provided
757
+ - Validation prevents invalid values
758
+
759
+ **Circular Links**:
760
+ - Detected but not flagged as errors
761
+ - Logged in link topology report
762
+ - Useful for navigation structures
763
+
764
+ **Large Files**:
765
+ - Configurable size limit (default: 50KB)
766
+ - Warning for oversized documents
767
+ - Suggest splitting into multiple files
768
+
769
+ **Non-Standard Domains**:
770
+ - Custom domains via configuration
771
+ - Must include keywords and description
772
+ - Integrated into classification system
773
+
774
+ **Empty Documents**:
775
+ - Flagged in audit
776
+ - Not counted in health score
777
+ - Suggested for removal or completion
778
+
779
+ ### Configuration
780
+
781
+ Create `.hewtd.config.json` for customization:
782
+
783
+ ```json
784
+ {
785
+ "docsPath": ".documentation",
786
+ "domains": {
787
+ "custom-domain": {
788
+ "description": "Custom domain description",
789
+ "keywords": ["keyword1", "keyword2"],
790
+ "loadPriority": 5,
791
+ "category": "features"
792
+ }
793
+ },
794
+ "metadata": {
795
+ "requiredFields": ["title", "tier", "domains", "status"],
796
+ "autoGenerate": ["word_count", "estimated_read_time", "last_validated"]
797
+ },
798
+ "audit": {
799
+ "namingConvention": "kebab-case",
800
+ "maxFileSize": 50000,
801
+ "allowedTiers": ["guide", "standard", "example", "reference", "admin"]
802
+ },
803
+ "discover": {
804
+ "excludePaths": ["node_modules", "dist", "vendor", ".git"],
805
+ "languages": ["typescript", "javascript", "python", "go"],
806
+ "patterns": {
807
+ "enabled": true,
808
+ "minOccurrences": 2
809
+ }
810
+ },
811
+ "links": {
812
+ "checkExternal": false,
813
+ "ignorePatterns": ["http://localhost", "*.example.com"]
814
+ },
815
+ "reports": {
816
+ "outputPath": ".documentation/reports",
817
+ "format": "markdown",
818
+ "includeTimestamp": true
819
+ }
820
+ }
821
+ ```
822
+
823
+ ### Performance Considerations
824
+
825
+ **Large Repositories**:
826
+ - Uses streaming for file reads
827
+ - Parallel processing where possible
828
+ - Configurable concurrency limits
829
+ - Quick mode skips expensive operations
830
+
831
+ **Memory Usage**:
832
+ - Metadata cached in memory during operations
833
+ - Link topology built incrementally
834
+ - Reports streamed to disk
835
+
836
+ **CI/CD Optimization**:
837
+ - Quick mode recommended for frequent checks
838
+ - Full mode for scheduled/release checks
839
+ - Use `fail-threshold` to allow gradual improvement
840
+
841
+ ---
842
+
843
+ ## Requirements
844
+
845
+ - Node.js >= 20.0.0
846
+ - npm or yarn
847
+ - Git (for GitHub Action)
848
+
849
+ ## Contributing
850
+
851
+ Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details on:
852
+ - Setting up development environment
853
+ - Running tests
854
+ - Code style guidelines
855
+ - Submitting pull requests
856
+
857
+ ## License
858
+
859
+ MIT - see [LICENSE](LICENSE) for details.
860
+
861
+ ## Support
862
+
863
+ - **Issues**: [GitHub Issues](https://github.com/TheGlitchKing/hit-em-with-the-docs/issues)
864
+ - **Discussions**: [GitHub Discussions](https://github.com/TheGlitchKing/hit-em-with-the-docs/discussions)
865
+ - **Documentation**: This README and `.documentation/` in your project
866
+
867
+ ## Changelog
868
+
869
+ See [releases](https://github.com/TheGlitchKing/hit-em-with-the-docs/releases) for version history and changes.