@voodocs/cli 2.1.3 → 2.2.1

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 (51) hide show
  1. package/CHANGELOG.md +215 -38
  2. package/LICENSE +1 -1
  3. package/PRIVACY.md +10 -10
  4. package/README.md +39 -35
  5. package/USAGE.md +50 -27
  6. package/examples/.cursorrules +9 -9
  7. package/examples/instructions/.claude/instructions.md +77 -65
  8. package/examples/instructions/.cursorrules +9 -9
  9. package/examples/instructions/.windsurfrules +9 -9
  10. package/examples/instructions/VOODOCS_INSTRUCTIONS.md +74 -62
  11. package/examples/math_example.py +1 -1
  12. package/examples/phase2_test.py +1 -1
  13. package/examples/test_function_invariants.py +1 -1
  14. package/lib/cli/__init__.py +3 -3
  15. package/lib/cli/benchmark.py +3 -3
  16. package/lib/cli/context.py +1 -1
  17. package/lib/cli/fix.py +1 -1
  18. package/lib/cli/generate.py +60 -1
  19. package/lib/cli/init.py +10 -10
  20. package/lib/cli/instruct.py +1 -1
  21. package/lib/cli/validate.py +3 -3
  22. package/lib/darkarts/annotations/DARKARTS_SYMBOLS.md +110 -95
  23. package/lib/darkarts/annotations/TRANSFORMATION_EXAMPLES.md +29 -27
  24. package/lib/darkarts/annotations/parser.py +1 -1
  25. package/lib/darkarts/cli_darkarts.py +5 -5
  26. package/lib/darkarts/context/ai_instructions.py +12 -12
  27. package/lib/darkarts/context/ai_integrations.py +16 -16
  28. package/lib/darkarts/context/commands.py +4 -4
  29. package/lib/darkarts/context/errors.py +1 -1
  30. package/lib/darkarts/context/models.py +1 -1
  31. package/lib/darkarts/context/ui.py +4 -4
  32. package/lib/darkarts/context/yaml_utils.py +3 -3
  33. package/lib/darkarts/core/loader.py +1 -1
  34. package/lib/darkarts/documentation/__init__.py +10 -0
  35. package/lib/darkarts/documentation/categorizer.py +137 -0
  36. package/lib/darkarts/documentation/consolidator.py +303 -0
  37. package/lib/darkarts/exceptions.py +3 -3
  38. package/lib/darkarts/plugins/voodocs/ai_native_plugin.py +1 -1
  39. package/lib/darkarts/plugins/voodocs/annotation_validator.py +2 -2
  40. package/lib/darkarts/plugins/voodocs/documentation_generator.py +3 -3
  41. package/lib/darkarts/plugins/voodocs/html_exporter.py +4 -4
  42. package/lib/darkarts/plugins/voodocs/instruction_generator.py +10 -10
  43. package/lib/darkarts/plugins/voodocs/pdf_exporter.py +1 -1
  44. package/lib/darkarts/plugins/voodocs/test_generator.py +1 -1
  45. package/lib/darkarts/telemetry.py +5 -5
  46. package/lib/darkarts/validation/README.md +6 -3
  47. package/package.json +2 -1
  48. package/requirements.txt +2 -2
  49. package/templates/ci/github-actions.yml +64 -64
  50. package/templates/ci/pre-commit-hook.sh +4 -4
  51. package/voodocs_cli.py +1 -1
package/CHANGELOG.md CHANGED
@@ -1,19 +1,23 @@
1
1
  ## [2.1.2] - 2025-12-21
2
2
 
3
3
  ### Fixed
4
+
4
5
  ## [2.1.3] - 2025-12-21
5
6
 
6
7
  ### Added
8
+
7
9
  - Full AI integration system wired to `voodocs init`
8
10
  - Claude Code skill generation (`.claude/skills/voodocs-context/`)
9
11
  - Automatic instructions.md generation with context reference
10
12
 
11
13
  ### Fixed
14
+
12
15
  - Context generation bug (write_context_yaml import issue)
13
16
  - AI integration parameter order
14
17
  - Claude integration now generates both skill and instructions
15
18
 
16
19
  ### Changed
20
+
17
21
  - `voodocs init` now sets up complete AI integration in one command
18
22
  - No need for separate `voodocs instruct` command
19
23
 
@@ -23,11 +27,13 @@
23
27
  ## [2.1.1] - 2025-12-21
24
28
 
25
29
  ### Fixed
30
+
26
31
  - npm publish issue (version bump to resolve registry conflict)
27
32
 
28
33
  ## [2.1.0] - 2025-12-21
29
34
 
30
35
  ### Added
36
+
31
37
  - **Context System Integration**: Full AI context generation from @darkarts annotations
32
38
  - New `voodocs context` command group (init, generate, view, status, validate)
33
39
  - Automatic context generation during `voodocs generate`
@@ -44,11 +50,13 @@
44
50
  - **Examples in Output Directory**: Examples now created in `./voodocs/examples/`
45
51
 
46
52
  ### Fixed
53
+
47
54
  - Parser now correctly handles @darkarts-only format (removed @voodocs pattern lookup)
48
55
  - Context system now recognizes @darkarts annotations instead of @voodocs
49
56
  - Git hooks installation for automatic context updates
50
57
 
51
58
  ### Changed
59
+
52
60
  - Default output directory changed from `./docs/` to `./voodocs/`
53
61
  - Examples directory moved from project root to output directory
54
62
  - Context generation is now opt-in via config (enabled by default)
@@ -58,12 +66,14 @@
58
66
  ## [2.0.2] - 2024-12-21
59
67
 
60
68
  ### Added
69
+
61
70
  - **Default paths in config** - `.voodocs.json` now includes `paths` section with `source`, `output`, and `recursive` settings
62
71
  - **Generate without arguments** - `voodocs generate` now uses config defaults, no need to specify source/output every time
63
72
  - **Recursive by default** - New projects default to recursive scanning (can be overridden with explicit flag)
64
73
  - **Examples in output directory** - Example files now created in `{output}/examples/` instead of project root
65
74
 
66
75
  ### Changed
76
+
67
77
  - **Default output directory** - Changed from `./docs` to `./voodocs` for better branding
68
78
  - **Examples location** - Examples now created in `./voodocs/examples/` instead of `./voodocs-examples/`
69
79
  - `voodocs generate` SOURCE and OUTPUT arguments are now optional
@@ -71,6 +81,7 @@
71
81
  - Improved user experience - simpler workflow after `voodocs init`
72
82
 
73
83
  ### Documentation
84
+
74
85
  - Updated generate command help text to show config-based usage
75
86
  - Added example: `voodocs generate` (uses config defaults)
76
87
 
@@ -79,16 +90,19 @@
79
90
  ## [2.0.1] - 2024-12-21
80
91
 
81
92
  ### Fixed
93
+
82
94
  - Removed non-existent conversion script reference from CHANGELOG migration guide
83
95
  - Updated parser to check for `@darkarts` annotations instead of `@voodocs`
84
96
  - Removed "incorrect format" examples from instruction files for cleaner documentation
85
97
 
86
98
  ### Changed
99
+
87
100
  - Simplified migration guide to manual-only approach
88
101
  - Updated all internal references from `@voodocs` annotation format to `@darkarts`
89
102
  - Instruction files now focus exclusively on `@darkarts` format without showing legacy examples
90
103
 
91
104
  ### Documentation
105
+
92
106
  - Clarified that v2.0.0+ is DarkArts-only (no migration tooling needed)
93
107
  - Emphasized distinction between Voodocs (product) and DarkArts (language)
94
108
 
@@ -96,20 +110,21 @@
96
110
 
97
111
  ## [2.0.0] - 2024-12-21
98
112
 
99
-
100
113
  ### 🚨 BREAKING CHANGES
101
114
 
102
- **VooDocs is now DarkArts-only!**
115
+ **Voodocs is now DarkArts-only!**
103
116
 
104
117
  This major version removes support for natural language `@voodocs` annotations and focuses exclusively on the symbolic `@darkarts` format.
105
118
 
106
119
  ### Removed
120
+
107
121
  - **Natural language format (`@voodocs`)** - No longer supported
108
122
  - Parser no longer recognizes `@voodocs` tags
109
123
  - Generator no longer processes natural language annotations
110
124
  - Init wizard no longer offers format choice
111
125
 
112
126
  ### Changed
127
+
113
128
  - **DarkArts symbolic format is now the only format**
114
129
  - All annotations must use `@darkarts` tag
115
130
  - All annotations must use symbolic notation (⊢, ∂, ⚠, ⊳, ⊲, ⊨, ⚡, 🔒)
@@ -126,9 +141,10 @@ This major version removes support for natural language `@voodocs` annotations a
126
141
 
127
142
  ### Migration Guide
128
143
 
129
- VooDocs v2.0.0 only supports `@darkarts` symbolic format. If you have existing `@voodocs` annotations, you'll need to manually update them:
144
+ Voodocs v2.0.0 only supports `@darkarts` symbolic format. If you have existing `@voodocs` annotations, you'll need to manually update them:
130
145
 
131
146
  **Before (v1.x):**
147
+
132
148
  ```typescript
133
149
  /**@voodocs
134
150
  module_purpose: "User service"
@@ -137,6 +153,7 @@ dependencies: ["database"]
137
153
  ```
138
154
 
139
155
  **After (v2.0):**
156
+
140
157
  ```typescript
141
158
  /**@darkarts
142
159
  ⊢{User service}
@@ -155,6 +172,7 @@ dependencies: ["database"]
155
172
  ## [1.0.7] - 2024-12-21
156
173
 
157
174
  ### Added
175
+
158
176
  - **Enhanced Init Wizard**: Complete interactive setup experience
159
177
  - Auto-detects project details (name, version, repository)
160
178
  - Generates AI instructions automatically
@@ -165,11 +183,13 @@ dependencies: ["database"]
165
183
  - Beautiful CLI interface with status icons and summaries
166
184
 
167
185
  ### Changed
186
+
168
187
  - `voodocs init` now includes full wizard experience
169
188
  - Wizard supports both fresh install and upgrade scenarios
170
189
  - Auto-detection of AI environment (Cursor, Claude)
171
190
 
172
191
  ### Fixed
192
+
173
193
  - Init command now properly integrates with instruct command
174
194
  - Upgrade path for users installing new versions
175
195
 
@@ -197,11 +217,11 @@ dependencies: ["database"]
197
217
 
198
218
  ### Testing
199
219
 
200
- | Test Case | Status |
201
- |-----------|--------|
220
+ | Test Case | Status |
221
+ | ------------------------------------------ | ------- |
202
222
  | Instructions directory included in package | ✅ Pass |
203
- | `voodocs instruct --list-templates` | ✅ Pass |
204
- | `voodocs instruct --ai cursor` | ✅ Pass |
223
+ | `voodocs instruct --list-templates` | ✅ Pass |
224
+ | `voodocs instruct --ai cursor` | ✅ Pass |
205
225
 
206
226
  ---
207
227
 
@@ -234,13 +254,13 @@ npm install -g @voodocs/cli@1.0.6
234
254
 
235
255
  ### Testing
236
256
 
237
- | Test Case | Status |
238
- |-----------|--------|
239
- | `voodocs instruct --list-templates` | ✅ Pass |
240
- | `voodocs instruct --ai cursor` | ✅ Pass |
241
- | `voodocs instruct --ai claude` | ✅ Pass |
257
+ | Test Case | Status |
258
+ | ---------------------------------------- | ------- |
259
+ | `voodocs instruct --list-templates` | ✅ Pass |
260
+ | `voodocs instruct --ai cursor` | ✅ Pass |
261
+ | `voodocs instruct --ai claude` | ✅ Pass |
242
262
  | `voodocs instruct --output .cursorrules` | ✅ Pass |
243
- | AI auto-detection | ✅ Pass |
263
+ | AI auto-detection | ✅ Pass |
244
264
 
245
265
  ---
246
266
 
@@ -261,28 +281,34 @@ This release fixes critical bugs that prevented documentation generation for Typ
261
281
  ### Fixed
262
282
 
263
283
  #### Issue 1: Annotation Parsing Failure
284
+
264
285
  **Problem:** The generator failed to recognize valid `@voodocs` or `@darkarts` annotations in TypeScript/JavaScript files.
265
286
 
266
287
  **Root Cause:** The `_extract_annotation` function only looked for Python docstring format (`"""@darkarts`), not TypeScript/JavaScript block comments (`/**@voodocs` or `/**@darkarts`).
267
288
 
268
289
  **Fix:**
290
+
269
291
  - Added regex pattern matching for TypeScript/JavaScript block comments
270
292
  - Support both `/**@voodocs` and `/**@darkarts` tags
271
293
  - Support both Python (`"""`) and JS/TS (`/**`) comment styles
272
294
 
273
295
  #### Issue 2: File Discovery Limitations
296
+
274
297
  **Problem:** When running `voodocs generate . ./docs` in a directory, the tool reported "No Python files found to process" even when TypeScript or Solidity files were present.
275
298
 
276
299
  **Root Cause:** The file discovery logic only looked for `.py` files.
277
300
 
278
301
  **Fix:**
302
+
279
303
  - Extended file discovery to include: `.py`, `.ts`, `.js`, `.jsx`, `.tsx`, `.sol`
280
304
  - Updated error message to list all supported extensions
281
305
 
282
306
  #### Issue 3: Natural Language Format Parsing
307
+
283
308
  **Problem:** YAML-style annotations (e.g., `module_purpose: "..."`, `dependencies: []`) were not being parsed correctly.
284
309
 
285
310
  **Fix:**
311
+
286
312
  - Added support for natural language format alongside symbolic format
287
313
  - Properly handle YAML-style lists with `-` markers
288
314
  - Clean up formatting and remove trailing comment markers
@@ -301,20 +327,21 @@ This release fixes critical bugs that prevented documentation generation for Typ
301
327
 
302
328
  All reported issues have been tested and verified:
303
329
 
304
- | Test Case | Status |
305
- |-----------|--------|
306
- | TypeScript file with `/**@voodocs` | ✅ Pass |
330
+ | Test Case | Status |
331
+ | ----------------------------------- | ------- |
332
+ | TypeScript file with `/**@voodocs` | ✅ Pass |
307
333
  | TypeScript file with `/**@darkarts` | ✅ Pass |
308
- | Natural language format | ✅ Pass |
309
- | Symbolic format | ✅ Pass |
310
- | Directory discovery (`.ts` files) | ✅ Pass |
311
- | Multiple files in directory | ✅ Pass |
334
+ | Natural language format | ✅ Pass |
335
+ | Symbolic format | ✅ Pass |
336
+ | Directory discovery (`.ts` files) | ✅ Pass |
337
+ | Multiple files in directory | ✅ Pass |
312
338
 
313
339
  ---
314
340
 
315
341
  ### Example: Now Working
316
342
 
317
343
  **File: test.ts**
344
+
318
345
  ```typescript
319
346
  /**@voodocs
320
347
  module_purpose: Test module
@@ -328,11 +355,13 @@ export function hello(name: string): string {
328
355
  ```
329
356
 
330
357
  **Command:**
358
+
331
359
  ```bash
332
360
  voodocs generate ./test.ts ./docs
333
361
  ```
334
362
 
335
363
  **Result:**
364
+
336
365
  ```markdown
337
366
  # test.ts
338
367
 
@@ -348,6 +377,7 @@ Node.js environment
348
377
  ### Upgrade Notes
349
378
 
350
379
  No breaking changes. Simply upgrade:
380
+
351
381
  ```bash
352
382
  npm install -g @voodocs/cli@1.0.4
353
383
  ```
@@ -365,12 +395,14 @@ This release adds the `voodocs instruct` command to automatically generate AI-sp
365
395
  ### Added
366
396
 
367
397
  #### `voodocs instruct` Command
398
+
368
399
  - **Auto-detects AI environment** (Cursor, Claude, Gemini, etc.)
369
400
  - **Generates tailored instructions** for each AI assistant
370
401
  - **Supports multiple output formats** (console or file)
371
402
  - **Lists available templates** with `--list-templates` flag
372
403
 
373
404
  **Usage:**
405
+
374
406
  ```bash
375
407
  voodocs instruct # Auto-detect and print instructions
376
408
  voodocs instruct --ai cursor # Generate for specific AI
@@ -379,6 +411,7 @@ voodocs instruct --list-templates # List available templates
379
411
  ```
380
412
 
381
413
  #### Updated Instruction Templates
414
+
382
415
  - **Symbolic DarkArts format** - All templates updated to use symbolic annotations
383
416
  - **Cursor template** - Tailored for Cursor AI
384
417
  - **Claude template** - Tailored for Claude AI
@@ -396,6 +429,7 @@ voodocs instruct --list-templates # List available templates
396
429
  ### What This Means
397
430
 
398
431
  With `voodocs instruct`, you can now:
432
+
399
433
  1. Run the command in your project
400
434
  2. Get AI-specific instructions
401
435
  3. Add them to your `.cursorrules` or Claude project settings
@@ -427,6 +461,7 @@ voodocs instruct --output .cursorrules
427
461
  ### Upgrade Notes
428
462
 
429
463
  No breaking changes. Simply upgrade:
464
+
430
465
  ```bash
431
466
  npm install -g @voodocs/cli@1.0.3
432
467
  ```
@@ -442,6 +477,7 @@ This patch release fixes critical issues that prevented @voodocs/cli from workin
442
477
  ### Fixed
443
478
 
444
479
  #### 1. CLI Entry Point (ModuleNotFoundError)
480
+
445
481
  - **Fixed:** CLI entry point now correctly resolves symlinks for npm global installs
446
482
  - **Before:** `voodocs` command failed with `ModuleNotFoundError: No module named 'cli'`
447
483
  - **After:** Works correctly when installed globally via npm
@@ -449,6 +485,7 @@ This patch release fixes critical issues that prevented @voodocs/cli from workin
449
485
  - **Solution:** Added `.resolve()` to follow symlinks to actual package location
450
486
 
451
487
  #### 2. Missing `init` Command
488
+
452
489
  - **Fixed:** Implemented and registered the `voodocs init` command
453
490
  - **Before:** Command referenced in documentation but didn't exist
454
491
  - **After:** `voodocs init` creates `.voodocs.json` config and example files
@@ -459,12 +496,14 @@ This patch release fixes critical issues that prevented @voodocs/cli from workin
459
496
  - `--config-only` flag to skip example generation
460
497
 
461
498
  #### 3. Annotation Parsing Failure for TypeScript
499
+
462
500
  - **Fixed:** TypeScript parser now correctly identifies `/**@voodocs` and `/**@darkarts` blocks
463
501
  - **Before:** Parser looked for `/*@voodocs` (single asterisk) and failed to find annotations
464
502
  - **After:** Correctly matches JSDoc-style comments with `/**@voodocs` (double asterisk)
465
503
  - **Impact:** All TypeScript/JavaScript annotations now parse correctly
466
504
 
467
505
  #### 4. Inconsistent Terminology
506
+
468
507
  - **Fixed:** Standardized support for both `@voodocs` and `@darkarts` tags
469
508
  - **Before:** README used `@voodocs`, but CLI complained about missing `@darkarts`
470
509
  - **After:** Both tags are supported and documented
@@ -495,6 +534,7 @@ This patch release fixes critical issues that prevented @voodocs/cli from workin
495
534
  ### Testing
496
535
 
497
536
  All fixes have been tested and verified:
537
+
498
538
  - ✅ CLI entry point works with global npm install
499
539
  - ✅ `voodocs init` creates config and examples
500
540
  - ✅ TypeScript annotation parsing works correctly
@@ -528,12 +568,14 @@ This patch release fixes critical issues with the `voodocs darkarts convert` com
528
568
  ### Fixed
529
569
 
530
570
  #### 1. TypeScript/JavaScript Support
571
+
531
572
  - **Fixed:** Convert command now properly handles TypeScript and JavaScript files
532
573
  - **Before:** Only worked with Python files (`"""@voodocs`)
533
574
  - **After:** Supports Python (`"""@voodocs`), TypeScript/JavaScript (`/**@voodocs`)
534
575
  - **Impact:** Can now convert annotations in multi-language codebases
535
576
 
536
577
  #### 2. Preserve ALL Annotation Fields
578
+
537
579
  - **Fixed:** Now converts all annotation fields, not just module-level basics
538
580
  - **Before:** Only converted 3 fields (module_purpose, dependencies, assumptions) - lost 95% of documentation
539
581
  - **After:** Converts all fields:
@@ -543,6 +585,7 @@ This patch release fixes critical issues with the `voodocs darkarts convert` com
543
585
  - **Impact:** No data loss during conversion
544
586
 
545
587
  #### 3. Fixed Symbol Conversion (Word Boundaries)
588
+
546
589
  - **Fixed:** Symbol conversion now uses word boundaries to prevent mid-word replacements
547
590
  - **Before:** "authenticated" → "au⇒ticated", "verification" → "ver⇒ication"
548
591
  - **After:** Only replaces whole words/phrases
@@ -553,6 +596,7 @@ This patch release fixes critical issues with the `voodocs darkarts convert` com
553
596
  - **Impact:** No text corruption during conversion
554
597
 
555
598
  #### 4. Working --in-place Flag
599
+
556
600
  - **Fixed:** --in-place flag now properly modifies files
557
601
  - **Before:** Broken replacement logic, only worked for Python
558
602
  - **After:** Works for Python, TypeScript, JavaScript with proper syntax preservation
@@ -563,14 +607,17 @@ This patch release fixes critical issues with the `voodocs darkarts convert` com
563
607
  ### Additional Fixes
564
608
 
565
609
  #### Syntax Errors
610
+
566
611
  - Fixed 40+ files with unterminated string literals (`""""` → `"""`)
567
612
  - Files affected: types.py, exceptions.py, ai_detector.py, cli.py, and 36 more
568
613
 
569
614
  #### Missing Imports
615
+
570
616
  - Added missing `re` module import in cli_darkarts.py
571
617
  - Added missing `Language` enum import
572
618
 
573
619
  #### Complexity Serialization
620
+
574
621
  - Fixed ComplexityAnnotation object serialization
575
622
  - Now properly extracts time complexity string for output
576
623
 
@@ -583,6 +630,7 @@ This patch release fixes critical issues with the `voodocs darkarts convert` com
583
630
  **Lines Changed:** +418, -60
584
631
 
585
632
  **Core Changes:**
633
+
586
634
  - `lib/darkarts/cli_darkarts.py` - Complete rewrite of `cmd_darkarts_convert()`
587
635
  - `lib/darkarts/annotations/translator.py` - Fixed `natural_to_symbols()` and `create_darkarts_from_voodocs()`
588
636
  - Added `_replace_annotations_in_file()` helper function for proper file modification
@@ -592,6 +640,7 @@ This patch release fixes critical issues with the `voodocs darkarts convert` com
592
640
  ### Testing
593
641
 
594
642
  **Python Files:**
643
+
595
644
  ```bash
596
645
  voodocs darkarts convert test.py
597
646
  # ✅ Module + function annotations converted
@@ -600,6 +649,7 @@ voodocs darkarts convert test.py
600
649
  ```
601
650
 
602
651
  **TypeScript Files:**
652
+
603
653
  ```bash
604
654
  voodocs darkarts convert test.ts
605
655
  # ✅ TypeScript syntax recognized
@@ -608,6 +658,7 @@ voodocs darkarts convert test.ts
608
658
  ```
609
659
 
610
660
  **In-Place Modification:**
661
+
611
662
  ```bash
612
663
  voodocs darkarts convert test.py --in-place
613
664
  # ✅ File modified successfully
@@ -636,11 +687,12 @@ The convert command now works as originally intended with full multi-language su
636
687
  ---
637
688
 
638
689
  **Full Changelog:** https://github.com/3vilEnterprises/vooodooo-magic/compare/v1.0.0...v1.0.1
690
+
639
691
  ## [1.0.0] - 2024-12-21
640
692
 
641
693
  ### 🎉 Major Release: Validation Integration - The Only Documentation Tool That Validates Annotations
642
694
 
643
- This release transforms VooDocs from a documentation generator into a **production-ready validation tool** that guarantees annotation accuracy. VooDocs is now the only documentation tool that validates your annotations and guarantees accuracy.
695
+ This release transforms Voodocs from a documentation generator into a **production-ready validation tool** that guarantees annotation accuracy. Voodocs is now the only documentation tool that validates your annotations and guarantees accuracy.
644
696
 
645
697
  ---
646
698
 
@@ -651,6 +703,7 @@ This release transforms VooDocs from a documentation generator into a **producti
651
703
  **Four New CLI Commands:**
652
704
 
653
705
  1. **`voodocs validate`** - Validate @darkarts annotations for correctness
706
+
654
707
  - Semantic validation (dependencies match imports)
655
708
  - Performance validation (complexity claims verified)
656
709
  - Multiple output formats (text, json, html)
@@ -659,6 +712,7 @@ This release transforms VooDocs from a documentation generator into a **producti
659
712
  - Exit codes for automation
660
713
 
661
714
  2. **`voodocs fix`** - Automatically fix validation issues
715
+
662
716
  - Dry-run mode (preview changes)
663
717
  - Automatic backups before changes
664
718
  - Selective fixing (dependencies or performance)
@@ -666,6 +720,7 @@ This release transforms VooDocs from a documentation generator into a **producti
666
720
  - Rollback support
667
721
 
668
722
  3. **`voodocs benchmark`** - Benchmark performance to validate complexity claims
723
+
669
724
  - Configurable iterations
670
725
  - Multiple output formats (text, json, html)
671
726
  - HTML reports with detailed metrics
@@ -680,6 +735,7 @@ This release transforms VooDocs from a documentation generator into a **producti
680
735
  - Extracts all @darkarts sections
681
736
 
682
737
  **Validation Module:**
738
+
683
739
  - New module: `lib/darkarts/validation/` (13 files, ~2700 lines)
684
740
  - `semantic.py` - Semantic validation (dependencies vs imports)
685
741
  - `performance.py` - Performance tracking and complexity analysis
@@ -691,6 +747,7 @@ This release transforms VooDocs from a documentation generator into a **producti
691
747
  - Wrapper modules for easy integration
692
748
 
693
749
  **CLI Infrastructure:**
750
+
694
751
  - New module: `lib/cli/` (5 files, ~960 lines)
695
752
  - Migrated from argparse to Click framework
696
753
  - Professional command structure
@@ -699,6 +756,7 @@ This release transforms VooDocs from a documentation generator into a **producti
699
756
  - Rich output formatting
700
757
 
701
758
  **Features:**
759
+
702
760
  - ✅ **100% Annotation Coverage** - All 86 files validated
703
761
  - ✅ **Semantic Validation** - Dependencies match actual imports
704
762
  - ✅ **Performance Validation** - Complexity claims verified via static analysis
@@ -715,6 +773,7 @@ This release transforms VooDocs from a documentation generator into a **producti
715
773
  **Comprehensive User Documentation:**
716
774
 
717
775
  1. **USER_GUIDE.md** (~800 lines)
776
+
718
777
  - Installation instructions
719
778
  - Quick start guide
720
779
  - Detailed command reference
@@ -723,12 +782,14 @@ This release transforms VooDocs from a documentation generator into a **producti
723
782
  - Troubleshooting section
724
783
 
725
784
  2. **API_REFERENCE.md** (~400 lines)
785
+
726
786
  - Core class documentation
727
787
  - Method signatures with examples
728
788
  - Data structure reference
729
789
  - Programmatic usage examples
730
790
 
731
791
  3. **TUTORIALS.md** (~500 lines)
792
+
732
793
  - First validation tutorial
733
794
  - Documentation generation tutorial
734
795
  - CI/CD setup tutorial
@@ -745,12 +806,14 @@ This release transforms VooDocs from a documentation generator into a **producti
745
806
  ### Testing
746
807
 
747
808
  **Comprehensive Test Suite:**
809
+
748
810
  - 11 new CLI integration tests (100% pass rate)
749
811
  - Test coverage: 7% (CLI commands only, as expected)
750
812
  - Validation module: 100% self-validation (dog-fooding)
751
813
  - All tests passing ✅
752
814
 
753
815
  **Test Coverage:**
816
+
754
817
  - `test_validate_command_valid_file` - Validates correct annotations
755
818
  - `test_validate_command_invalid_file` - Detects validation errors
756
819
  - `test_validate_command_json_output` - JSON format output
@@ -768,6 +831,7 @@ This release transforms VooDocs from a documentation generator into a **producti
768
831
  ### Changed
769
832
 
770
833
  **CLI Structure:**
834
+
771
835
  - **Breaking Change**: Main CLI entry point changed from `cli.py` to `voodocs_cli.py`
772
836
  - Migrated from argparse to Click framework for better UX
773
837
  - All commands now have consistent option naming
@@ -775,12 +839,14 @@ This release transforms VooDocs from a documentation generator into a **producti
775
839
  - Better output formatting
776
840
 
777
841
  **Package Structure:**
842
+
778
843
  - Added `lib/cli/` directory for command implementations
779
844
  - Added `lib/darkarts/validation/` directory for validation module
780
845
  - Updated package.json to include new files
781
846
  - Updated bin entry point to `voodocs_cli.py`
782
847
 
783
848
  **Validation Coverage:**
849
+
784
850
  - Achieved 100% @darkarts annotation coverage (86/86 files)
785
851
  - Fixed 11 validation module files with incorrect complexity claims
786
852
  - Converted 4 @voodocs files to @darkarts format
@@ -791,6 +857,7 @@ This release transforms VooDocs from a documentation generator into a **producti
791
857
  ### Fixed
792
858
 
793
859
  **Validation Issues:**
860
+
794
861
  - Fixed complexity claims in 11 validation module files
795
862
  - Corrected dependency declarations across codebase
796
863
  - Fixed validate.py complexity claim (O(n) → O(n²))
@@ -801,12 +868,14 @@ This release transforms VooDocs from a documentation generator into a **producti
801
868
  ### Performance
802
869
 
803
870
  **Validation Performance:**
871
+
804
872
  - Semantic validation: O(n) per file
805
- - Performance validation: O(n*m) per file (n=lines, m=functions)
873
+ - Performance validation: O(n\*m) per file (n=lines, m=functions)
806
874
  - Benchmarking: O(n*m*k) (k=iterations)
807
875
  - Auto-fix: O(n) per file
808
876
 
809
877
  **Optimization:**
878
+
810
879
  - Static analysis for complexity detection
811
880
  - Efficient import parsing
812
881
  - Minimal overhead for validation
@@ -816,6 +885,7 @@ This release transforms VooDocs from a documentation generator into a **producti
816
885
  ### Code Statistics
817
886
 
818
887
  **New Code:**
888
+
819
889
  - CLI code: 960 lines (4 commands)
820
890
  - Validation module: ~2700 lines (13 files)
821
891
  - Test code: 300+ lines (11 tests)
@@ -823,6 +893,7 @@ This release transforms VooDocs from a documentation generator into a **producti
823
893
  - **Total: ~5900 lines**
824
894
 
825
895
  **Files Created:**
896
+
826
897
  - 5 CLI command files
827
898
  - 13 validation module files
828
899
  - 1 test file
@@ -837,10 +908,11 @@ This release transforms VooDocs from a documentation generator into a **producti
837
908
  **From 0.4.x to 1.0.0:**
838
909
 
839
910
  1. **CLI Entry Point Changed:**
911
+
840
912
  ```bash
841
913
  # Old (still works via npm bin)
842
914
  voodocs context init
843
-
915
+
844
916
  # New commands available
845
917
  voodocs validate lib/ -r
846
918
  voodocs fix lib/ -r
@@ -849,22 +921,25 @@ This release transforms VooDocs from a documentation generator into a **producti
849
921
  ```
850
922
 
851
923
  2. **New Dependencies:**
924
+
852
925
  - Click >= 8.0.0 (for CLI framework)
853
926
  - All other dependencies remain the same
854
927
 
855
928
  3. **No Breaking Changes for Existing Features:**
929
+
856
930
  - All `voodocs context` commands work unchanged
857
931
  - All `voodocs darkarts` commands work unchanged
858
932
  - Existing annotations remain valid
859
933
 
860
934
  4. **Recommended Actions:**
935
+
861
936
  ```bash
862
937
  # Validate your codebase
863
938
  voodocs validate your_project/ -r
864
-
939
+
865
940
  # Fix any issues
866
941
  voodocs fix your_project/ -r
867
-
942
+
868
943
  # Generate documentation with validation
869
944
  voodocs generate your_project/ docs/ -r --validate
870
945
  ```
@@ -874,6 +949,7 @@ This release transforms VooDocs from a documentation generator into a **producti
874
949
  ### CI/CD Integration
875
950
 
876
951
  **GitHub Actions Example:**
952
+
877
953
  ```yaml
878
954
  name: Validate Annotations
879
955
  on: [push, pull_request]
@@ -883,13 +959,14 @@ jobs:
883
959
  runs-on: ubuntu-latest
884
960
  steps:
885
961
  - uses: actions/checkout@v2
886
- - name: Install VooDocs
962
+ - name: Install Voodocs
887
963
  run: npm install -g @voodocs/cli
888
964
  - name: Validate
889
965
  run: voodocs validate lib/ -r --strict
890
966
  ```
891
967
 
892
968
  **Pre-commit Hook Example:**
969
+
893
970
  ```yaml
894
971
  repos:
895
972
  - repo: local
@@ -898,7 +975,7 @@ repos:
898
975
  name: Validate @darkarts annotations
899
976
  entry: voodocs validate
900
977
  language: system
901
- args: ['-r', '--strict']
978
+ args: ["-r", "--strict"]
902
979
  pass_filenames: false
903
980
  ```
904
981
 
@@ -909,12 +986,14 @@ repos:
909
986
  **The Only Tool That Validates Annotations:**
910
987
 
911
988
  Other documentation tools:
989
+
912
990
  - ❌ Generate documentation from annotations
913
991
  - ❌ No validation of accuracy
914
992
  - ❌ Annotations can drift over time
915
993
  - ❌ Manual quality checking required
916
994
 
917
- VooDocs v1.0.0:
995
+ Voodocs v1.0.0:
996
+
918
997
  - ✅ Generates documentation
919
998
  - ✅ Validates annotation accuracy
920
999
  - ✅ Auto-fixes issues
@@ -922,13 +1001,14 @@ VooDocs v1.0.0:
922
1001
  - ✅ Guarantees accuracy
923
1002
  - ✅ CI/CD integration
924
1003
 
925
- **VooDocs is now the only documentation tool that validates your annotations and guarantees accuracy.**
1004
+ **Voodocs is now the only documentation tool that validates your annotations and guarantees accuracy.**
926
1005
 
927
1006
  ---
928
1007
 
929
1008
  ### Acknowledgments
930
1009
 
931
1010
  This release represents 4 phases of development:
1011
+
932
1012
  - **Phase 1**: Validation module structure
933
1013
  - **Phase 2**: CLI integration
934
1014
  - **Phase 3**: Core commands implementation
@@ -951,6 +1031,7 @@ All objectives achieved. All tests passing. Production ready.
951
1031
  ## [0.4.2] - 2024-12-20
952
1032
 
953
1033
  ### Fixed
1034
+
954
1035
  - **npm package**: Added missing `cli_darkarts.py` to package files list
955
1036
  - Fixes "ModuleNotFoundError: No module named 'darkarts.cli_darkarts'" error
956
1037
  - DarkArts CLI commands now work correctly after npm install
@@ -961,6 +1042,7 @@ All objectives achieved. All tests passing. Production ready.
961
1042
  ## [0.4.1] - 2024-12-20
962
1043
 
963
1044
  ### Fixed
1045
+
964
1046
  - **Python version compatibility**: Changed CLI shebang from `python3.11` to `python3` to support Python 3.7+ installations
965
1047
  - Fixes "python3.11: not found" error on systems with Python 3.8, 3.9, 3.10, 3.12, 3.13, etc.
966
1048
  - CLI now works with any Python 3.7+ version (matches package.json requirement)
@@ -981,6 +1063,7 @@ This release introduces **DarkArts**, a revolutionary symbolic documentation lan
981
1063
  #### DarkArts Symbolic Documentation Language
982
1064
 
983
1065
  **The Innovation:**
1066
+
984
1067
  - **AI-native syntax** using mathematical symbols instead of verbose natural language
985
1068
  - **70% compression** - Annotations are 3x more information-dense
986
1069
  - **10x faster parsing** - AI understands symbols instantly
@@ -988,6 +1071,7 @@ This release introduces **DarkArts**, a revolutionary symbolic documentation lan
988
1071
  - **Fully compatible** - Works alongside existing @voodocs annotations
989
1072
 
990
1073
  **Symbol Vocabulary:**
1074
+
991
1075
  - `⊢` - Module declaration
992
1076
  - `∂` - Dependencies
993
1077
  - `⚠` - Assumptions
@@ -1003,6 +1087,7 @@ This release introduces **DarkArts**, a revolutionary symbolic documentation lan
1003
1087
  - And 40+ more symbols for comprehensive documentation
1004
1088
 
1005
1089
  **Example:**
1090
+
1006
1091
  ```python
1007
1092
  """@darkarts
1008
1093
  ⊢module:auth.validation
@@ -1015,6 +1100,7 @@ This release introduces **DarkArts**, a revolutionary symbolic documentation lan
1015
1100
  ```
1016
1101
 
1017
1102
  **Translates to:**
1103
+
1018
1104
  ```python
1019
1105
  """@voodocs
1020
1106
  module_purpose: "Module auth.validation"
@@ -1030,12 +1116,14 @@ performance_model: "O(1) complexity"
1030
1116
  ```
1031
1117
 
1032
1118
  **New CLI Commands:**
1119
+
1033
1120
  - `voodocs darkarts translate <file>` - Translate @darkarts to natural language
1034
1121
  - `voodocs darkarts convert <file>` - Convert @voodocs to @darkarts
1035
1122
  - `voodocs darkarts stats <dir>` - Show DarkArts usage statistics
1036
1123
  - `voodocs darkarts validate <dir>` - Validate @darkarts annotations
1037
1124
 
1038
1125
  **Implementation:**
1126
+
1039
1127
  - New module: `lib/darkarts/annotations/symbols.py` (Symbol vocabulary and types)
1040
1128
  - New module: `lib/darkarts/annotations/darkarts_parser.py` (DarkArts annotation parser)
1041
1129
  - New module: `lib/darkarts/annotations/translator.py` (Bidirectional translator)
@@ -1043,17 +1131,20 @@ performance_model: "O(1) complexity"
1043
1131
  - Integration: `lib/darkarts/annotations/parser.py` (Auto-detect and translate @darkarts)
1044
1132
 
1045
1133
  **Testing:**
1134
+
1046
1135
  - 18 comprehensive unit tests
1047
1136
  - 100% code coverage for new modules
1048
1137
  - Integration tests with context generation
1049
- - Real-world usage: 12 files converted in VooDocs codebase
1138
+ - Real-world usage: 12 files converted in Voodocs codebase
1050
1139
 
1051
1140
  **Documentation:**
1141
+
1052
1142
  - `lib/darkarts/annotations/DARKARTS_SYMBOLS.md` - Complete symbol reference
1053
1143
  - `lib/darkarts/annotations/TRANSFORMATION_EXAMPLES.md` - Real conversion examples
1054
1144
  - `UPGRADE_v0.4.0.md` - Upgrade guide with DarkArts introduction
1055
1145
 
1056
1146
  **Impact:**
1147
+
1057
1148
  - **For AI:** Instant comprehension, no parsing overhead, unambiguous meaning
1058
1149
  - **For Humans:** Translate on demand, learn symbols gradually, optional adoption
1059
1150
  - **For Projects:** Mix @voodocs and @darkarts freely, no migration required
@@ -1063,6 +1154,7 @@ performance_model: "O(1) complexity"
1063
1154
  #### Professional Error Handling & UX (Phase A)
1064
1155
 
1065
1156
  **Error Handling Framework:**
1157
+
1066
1158
  - New module: `lib/darkarts/context/errors.py` (10+ custom exception classes)
1067
1159
  - Every exception includes:
1068
1160
  - Clear error message with emoji (❌)
@@ -1070,6 +1162,7 @@ performance_model: "O(1) complexity"
1070
1162
  - User-friendly language (no jargon)
1071
1163
 
1072
1164
  **Custom Exceptions:**
1165
+
1073
1166
  - `ContextFileNotFoundError` - With recovery suggestions
1074
1167
  - `InvalidContextError` - With validation guidance
1075
1168
  - `GitNotAvailableError` - With installation instructions
@@ -1080,6 +1173,7 @@ performance_model: "O(1) complexity"
1080
1173
  - And more...
1081
1174
 
1082
1175
  **Input Validation:**
1176
+
1083
1177
  - New module: `lib/darkarts/context/validation.py` (8 validation functions)
1084
1178
  - `validate_project_name()` - Filesystem-safe names
1085
1179
  - `validate_version()` - Semantic versioning
@@ -1088,6 +1182,7 @@ performance_model: "O(1) complexity"
1088
1182
  - `validate_url()`, `validate_email()`, `validate_choice()` - And more
1089
1183
 
1090
1184
  **UI Utilities:**
1185
+
1091
1186
  - New module: `lib/darkarts/context/ui.py` (Professional UI functions)
1092
1187
  - Colored output (success ✅, error ❌, warning ⚠️, info ℹ️)
1093
1188
  - Progress bars with tqdm
@@ -1097,6 +1192,7 @@ performance_model: "O(1) complexity"
1097
1192
 
1098
1193
  **Updated Commands:**
1099
1194
  All 12 context commands now have professional error handling:
1195
+
1100
1196
  - `voodocs context init` - Validation, confirmations, step messages
1101
1197
  - `voodocs context view` - Error handling, file output validation
1102
1198
  - `voodocs context check` - Dependency checks, error handling
@@ -1111,6 +1207,7 @@ All 12 context commands now have professional error handling:
1111
1207
  - `voodocs context diagram` - Error handling, step messages
1112
1208
 
1113
1209
  **Impact:**
1210
+
1114
1211
  - Users get helpful error messages instead of stack traces
1115
1212
  - Clear guidance on how to fix problems
1116
1213
  - Professional user experience
@@ -1121,12 +1218,14 @@ All 12 context commands now have professional error handling:
1121
1218
  #### Comprehensive Testing (Phase B)
1122
1219
 
1123
1220
  **Test Suite Expansion:**
1221
+
1124
1222
  - **176 existing tests** (from previous versions)
1125
1223
  - **18 new tests** for DarkArts (100% coverage)
1126
1224
  - **Total: 194 tests**
1127
1225
  - **Overall coverage: 94%** (exceeded 80% goal by 14%)
1128
1226
 
1129
1227
  **New Test Files:**
1228
+
1130
1229
  - `tests/unit/context/test_errors.py` (53 tests for error classes)
1131
1230
  - `tests/unit/context/test_validation.py` (63 tests for validation functions)
1132
1231
  - `tests/unit/context/test_ui.py` (60 tests for UI utilities)
@@ -1134,6 +1233,7 @@ All 12 context commands now have professional error handling:
1134
1233
  - `tests/test_darkarts_annotations.py` (18 tests for DarkArts system)
1135
1234
 
1136
1235
  **Coverage Breakdown:**
1236
+
1137
1237
  - `errors.py`: 100% coverage
1138
1238
  - `validation.py`: 96% coverage
1139
1239
  - `ui.py`: 86% coverage
@@ -1142,11 +1242,13 @@ All 12 context commands now have professional error handling:
1142
1242
  - `translator.py`: 100% coverage
1143
1243
 
1144
1244
  **Test Infrastructure:**
1245
+
1145
1246
  - pytest framework
1146
1247
  - pytest-cov for coverage reporting
1147
1248
  - Comprehensive test documentation (`tests/README.md`)
1148
1249
 
1149
1250
  **Quality Assurance:**
1251
+
1150
1252
  - All tests passing ✅
1151
1253
  - No regressions
1152
1254
  - Production-ready code quality
@@ -1158,6 +1260,7 @@ All 12 context commands now have professional error handling:
1158
1260
  #### Module Model Bug (Critical Fix)
1159
1261
 
1160
1262
  **Problem:**
1263
+
1161
1264
  ```python
1162
1265
  # Before: BROKEN
1163
1266
  modules_info[rel_path] = {
@@ -1168,6 +1271,7 @@ modules_info[rel_path] = {
1168
1271
  ```
1169
1272
 
1170
1273
  **Solution:**
1274
+
1171
1275
  - New module: `lib/darkarts/context/module_utils.py` (Dedicated helper functions)
1172
1276
  - `detect_language()` - Auto-detect language from 20+ file extensions
1173
1277
  - `extract_public_api()` - Extract public functions/classes
@@ -1175,6 +1279,7 @@ modules_info[rel_path] = {
1175
1279
  - `extract_modules_from_results()` - Batch extraction
1176
1280
 
1177
1281
  **Result:**
1282
+
1178
1283
  ```python
1179
1284
  # After: FIXED
1180
1285
  modules_info = extract_modules_from_results(results, scan_path)
@@ -1182,6 +1287,7 @@ modules_info = extract_modules_from_results(results, scan_path)
1182
1287
  ```
1183
1288
 
1184
1289
  **Impact:**
1290
+
1185
1291
  - Context generation now works end-to-end
1186
1292
  - Complete module information (description, path, language, dependencies, public_api)
1187
1293
  - Auto-detect 20+ programming languages
@@ -1198,18 +1304,21 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1198
1304
  #### Context Generation Improvements
1199
1305
 
1200
1306
  **Enhanced Module Extraction:**
1307
+
1201
1308
  - Now populates all 5 Module fields (was only 2)
1202
1309
  - Auto-detects programming language
1203
1310
  - Extracts public API automatically
1204
1311
  - Calculates relative paths correctly
1205
1312
 
1206
1313
  **DarkArts Integration:**
1314
+
1207
1315
  - Context generation now supports @darkarts annotations
1208
1316
  - Automatic translation to @voodocs format
1209
1317
  - Seamless integration with existing parser
1210
1318
  - No configuration needed
1211
1319
 
1212
1320
  **Error Messages:**
1321
+
1213
1322
  - All commands now have colored, helpful error messages
1214
1323
  - Progress indicators for long operations
1215
1324
  - User confirmations for destructive actions
@@ -1220,12 +1329,14 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1220
1329
  ### Documentation
1221
1330
 
1222
1331
  **New Documentation:**
1332
+
1223
1333
  - `UPGRADE_v0.4.0.md` - Comprehensive upgrade guide
1224
1334
  - `lib/darkarts/annotations/DARKARTS_SYMBOLS.md` - Symbol reference (50+ symbols)
1225
1335
  - `lib/darkarts/annotations/TRANSFORMATION_EXAMPLES.md` - Real conversion examples
1226
1336
  - `tests/README.md` - Test suite documentation
1227
1337
 
1228
1338
  **Updated Documentation:**
1339
+
1229
1340
  - `CHANGELOG.md` - This comprehensive changelog
1230
1341
  - `README.md` - Updated with DarkArts information (to be done)
1231
1342
 
@@ -1234,12 +1345,14 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1234
1345
  ### Performance
1235
1346
 
1236
1347
  **DarkArts Performance:**
1348
+
1237
1349
  - 70% smaller annotations (3x compression)
1238
1350
  - 10x faster parsing for AI
1239
1351
  - Negligible overhead for translation
1240
1352
  - Same context generation speed
1241
1353
 
1242
1354
  **Module Extraction:**
1355
+
1243
1356
  - O(1) for language detection
1244
1357
  - O(n) for public API extraction (n = number of functions/classes)
1245
1358
  - Minimal overhead added to context generation
@@ -1249,6 +1362,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1249
1362
  ### Code Statistics
1250
1363
 
1251
1364
  **Lines Added:**
1365
+
1252
1366
  - DarkArts implementation: ~1,500 lines
1253
1367
  - Error handling framework: ~750 lines
1254
1368
  - Module utilities: ~500 lines
@@ -1257,12 +1371,14 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1257
1371
  - **Total: ~5,600 lines**
1258
1372
 
1259
1373
  **Files Created:**
1374
+
1260
1375
  - 12 new Python modules
1261
1376
  - 5 new test files
1262
1377
  - 4 new documentation files
1263
1378
  - **Total: 21 new files**
1264
1379
 
1265
1380
  **Code Quality:**
1381
+
1266
1382
  - 194 tests (all passing)
1267
1383
  - 94% code coverage
1268
1384
  - Professional error handling
@@ -1275,7 +1391,8 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1275
1391
 
1276
1392
  **Upgrading from v0.3.x:**
1277
1393
 
1278
- 1. Update VooDocs:
1394
+ 1. Update Voodocs:
1395
+
1279
1396
  ```bash
1280
1397
  npm update -g @voodocs/cli
1281
1398
  # or
@@ -1283,6 +1400,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1283
1400
  ```
1284
1401
 
1285
1402
  2. Verify installation:
1403
+
1286
1404
  ```bash
1287
1405
  voodocs --version # Should show 0.4.0
1288
1406
  ```
@@ -1308,6 +1426,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1308
1426
  **No security issues fixed in this release.**
1309
1427
 
1310
1428
  **Security Model:**
1429
+
1311
1430
  - DarkArts parser: Read-only, no code execution
1312
1431
  - Module extraction: Read-only, no file modification
1313
1432
  - Error handling: No sensitive data in error messages
@@ -1317,6 +1436,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1317
1436
  ### Contributors
1318
1437
 
1319
1438
  **Development:**
1439
+
1320
1440
  - Error handling framework implementation
1321
1441
  - DarkArts language design and implementation
1322
1442
  - Module extraction refactoring
@@ -1324,6 +1444,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1324
1444
  - Documentation
1325
1445
 
1326
1446
  **Testing:**
1447
+
1327
1448
  - 194 tests written and verified
1328
1449
  - 94% code coverage achieved
1329
1450
  - Real-world usage validation
@@ -1333,6 +1454,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1333
1454
  ### Acknowledgments
1334
1455
 
1335
1456
  **Special Thanks:**
1457
+
1336
1458
  - To the AI community for inspiring DarkArts
1337
1459
  - To early adopters for feedback
1338
1460
  - To the open-source community for tools and libraries
@@ -1362,6 +1484,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1362
1484
  **Easy** - No breaking changes, 5-minute upgrade
1363
1485
 
1364
1486
  **Steps:**
1487
+
1365
1488
  1. Update package (1 minute)
1366
1489
  2. Verify installation (1 minute)
1367
1490
  3. (Optional) Try DarkArts (3 minutes)
@@ -1373,6 +1496,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1373
1496
  ### What's Next?
1374
1497
 
1375
1498
  **Coming in v0.5.0:**
1499
+
1376
1500
  - Documentation website
1377
1501
  - More DarkArts symbols for domain-specific use
1378
1502
  - Performance optimizations
@@ -1386,6 +1510,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1386
1510
  **v0.4.0 is a MAJOR release** that introduces revolutionary AI-native documentation while maintaining 100% backward compatibility.
1387
1511
 
1388
1512
  **Key Achievements:**
1513
+
1389
1514
  - 🎉 World's first AI-native documentation language (DarkArts)
1390
1515
  - ✅ Professional error handling across all commands
1391
1516
  - 🧪 194 tests, 94% coverage
@@ -1394,6 +1519,7 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1394
1519
  - 🚀 Production-ready quality
1395
1520
 
1396
1521
  **Impact:**
1522
+
1397
1523
  - **For AI:** Instant comprehension, no parsing overhead
1398
1524
  - **For Developers:** Better UX, helpful error messages
1399
1525
  - **For Projects:** Complete module information, working context generation
@@ -1412,19 +1538,22 @@ Python, JavaScript, TypeScript, Java, Go, Rust, C, C++, C#, Objective-C, Swift,
1412
1538
  ## [0.3.2] - 2025-12-20
1413
1539
 
1414
1540
  ### Fixed
1541
+
1415
1542
  - Fixed architecture decisions and modules parsing in yaml_utils.py
1416
1543
  - Now properly converts dict objects to ArchitectureDecision and Module objects
1417
1544
  - Fixes "'dict' object has no attribute 'decision'" error in context view
1418
- - Discovered during dogfooding (setting up VooDocs in vooodooo-magic repo)
1545
+ - Discovered during dogfooding (setting up Voodocs in vooodooo-magic repo)
1419
1546
 
1420
1547
  ### Added
1548
+
1421
1549
  - Comprehensive @voodocs annotations to 4 core modules (commands, ai_integrations, checker, diagram)
1422
- - Self-documentation: VooDocs now documents itself using its own annotation system
1550
+ - Self-documentation: Voodocs now documents itself using its own annotation system
1423
1551
  - 93 lines of detailed annotations with dependencies, assumptions, invariants, security and performance models
1424
1552
 
1425
1553
  ## [0.3.1] - 2025-12-20
1426
1554
 
1427
1555
  ### Fixed
1556
+
1428
1557
  - Improved AI selection prompt handling in `voodocs context init`
1429
1558
  - Changed prompt text from '[6 for all]' to '[default: 6]' for clarity
1430
1559
  - Added EOFError and KeyboardInterrupt handling for graceful abort
@@ -1440,28 +1569,34 @@ This patch fixes the hanging issue some users experienced at the AI selection pr
1440
1569
  #### AI-Aware Integration System
1441
1570
 
1442
1571
  **Native AI Assistant Integration**
1572
+
1443
1573
  - Auto-detects existing AI configurations (Claude, Cursor, Copilot, Gemini, Junie)
1444
1574
  - Interactive menu for selecting AI assistant(s) during `voodocs context init`
1445
1575
  - Generates native configuration files for each AI assistant
1446
1576
  - Supports 5+ AI assistants with more coming
1447
1577
 
1448
1578
  **Supported AI Assistants:**
1579
+
1449
1580
  1. **Claude Code** - Generates `.claude/skills/voodocs-context/SKILL.md` (2,341 chars)
1581
+
1450
1582
  - Full skill with YAML frontmatter
1451
1583
  - On-demand context loading
1452
1584
  - Executable scripts support
1453
1585
 
1454
1586
  2. **Cursor** - Generates `.cursor/rules/voodocs-context.mdc` (2,560 chars)
1587
+
1455
1588
  - Comprehensive rules file
1456
1589
  - Context system commands
1457
1590
  - Workflow best practices
1458
1591
 
1459
1592
  3. **GitHub Copilot** - Generates `.github/copilot-instructions.md` (1,981 chars)
1593
+
1460
1594
  - Project-specific instructions
1461
1595
  - Context integration guide
1462
1596
  - Annotation format examples
1463
1597
 
1464
1598
  4. **Windsurf** - Generates `.windsurfrules` (1,180 chars)
1599
+
1465
1600
  - Concise rules format
1466
1601
  - Essential commands
1467
1602
  - Quick reference
@@ -1472,6 +1607,7 @@ This patch fixes the hanging issue some users experienced at the AI selection pr
1472
1607
  - Context basics
1473
1608
 
1474
1609
  **Integration Features:**
1610
+
1475
1611
  - Context system overview and commands
1476
1612
  - @voodocs annotation format (Python & TypeScript)
1477
1613
  - Development workflow best practices
@@ -1480,6 +1616,7 @@ This patch fixes the hanging issue some users experienced at the AI selection pr
1480
1616
  - AI-specific guidance and tips
1481
1617
 
1482
1618
  **User Experience:**
1619
+
1483
1620
  - ✓ markers show detected AI configurations
1484
1621
  - Numbered menu for easy selection
1485
1622
  - Creates parent directories automatically
@@ -1488,26 +1625,30 @@ This patch fixes the hanging issue some users experienced at the AI selection pr
1488
1625
  - Can select individual AIs or all at once
1489
1626
 
1490
1627
  **Technical Implementation:**
1628
+
1491
1629
  - New module: `ai_integrations.py` (685 lines)
1492
1630
  - Detection: `detect_ai_assistants()` function
1493
1631
  - Generation: AI-specific template functions
1494
1632
  - Integration: Updated `cmd_context_init()` command
1495
1633
 
1496
1634
  ### Changed
1635
+
1497
1636
  - Enhanced `voodocs context init` with AI assistant detection and integration
1498
1637
  - Improved user prompts with visual markers for detected configurations
1499
1638
  - Updated next steps to include AI-specific guidance
1500
1639
 
1501
1640
  ### Documentation
1641
+
1502
1642
  - Added AI integration research notes
1503
1643
  - Created comprehensive AI integration summary
1504
1644
  - Documented all supported AI assistant formats
1505
1645
 
1506
1646
  ### Impact
1507
1647
 
1508
- This release makes VooDocs **truly AI-native**, working seamlessly with any AI assistant. The context system becomes the single source of truth that all AIs understand and respect.
1648
+ This release makes Voodocs **truly AI-native**, working seamlessly with any AI assistant. The context system becomes the single source of truth that all AIs understand and respect.
1509
1649
 
1510
1650
  **Key Benefits:**
1651
+
1511
1652
  - One command sets up everything
1512
1653
  - Works with any AI assistant
1513
1654
  - Native format for each AI
@@ -1522,6 +1663,7 @@ This release makes VooDocs **truly AI-native**, working seamlessly with any AI a
1522
1663
  #### Context System - Phase 4: Verification & Visualization
1523
1664
 
1524
1665
  **Invariant Checking (`voodocs context check`)**
1666
+
1525
1667
  - Automatically validate code against documented invariants
1526
1668
  - Pattern-based detection for 6 common security issues (SQL injection, unhashed passwords, logged secrets, etc.)
1527
1669
  - File and line number reporting for violations
@@ -1530,6 +1672,7 @@ This release makes VooDocs **truly AI-native**, working seamlessly with any AI a
1530
1672
  - Severity levels (error, warning, info)
1531
1673
 
1532
1674
  **Architecture Diagram Generation (`voodocs context diagram`)**
1675
+
1533
1676
  - Auto-generate visual diagrams from context files
1534
1677
  - 3 diagram types: modules, dependencies, flow
1535
1678
  - Supports Mermaid and D2 formats
@@ -1537,6 +1680,7 @@ This release makes VooDocs **truly AI-native**, working seamlessly with any AI a
1537
1680
  - Console output or file export
1538
1681
 
1539
1682
  **Enhanced Validation (`voodocs context validate`)**
1683
+
1540
1684
  - Smart suggestions for missing sections
1541
1685
  - Integrated invariant checking with `--check-invariants` flag
1542
1686
  - Completeness, quality, and consistency checks
@@ -1545,22 +1689,26 @@ This release makes VooDocs **truly AI-native**, working seamlessly with any AI a
1545
1689
  #### Context System - Phase 3: Auto-Generation & Query
1546
1690
 
1547
1691
  **Auto-Generation (`voodocs context generate`)**
1692
+
1548
1693
  - Automatically extract context from @voodocs annotations
1549
1694
  - Recursively scans codebase for annotations
1550
1695
  - Extracts global invariants, assumptions, and modules
1551
1696
  - Supports multiple languages (Python, TypeScript, JavaScript, Java, C++, Go, Rust)
1552
1697
 
1553
1698
  **Query System (`voodocs context query`)**
1699
+
1554
1700
  - Query context like a database using regex patterns
1555
1701
  - Section filtering and multiple output formats (text, JSON, YAML)
1556
1702
 
1557
1703
  **Git Integration**
1704
+
1558
1705
  - Auto-detects Git commit hash and author
1559
1706
  - Integrated into `update` and `sync` commands
1560
1707
 
1561
1708
  #### Context System - Phase 2: Versioning & History
1562
1709
 
1563
1710
  **Version Management**
1711
+
1564
1712
  - `voodocs context update`: Update context and increment version
1565
1713
  - `voodocs context sync`: Sync context with code version
1566
1714
  - `voodocs context history`: Show version history
@@ -1569,25 +1717,30 @@ This release makes VooDocs **truly AI-native**, working seamlessly with any AI a
1569
1717
  #### Context System - Phase 1: Foundation
1570
1718
 
1571
1719
  **Core Commands**
1720
+
1572
1721
  - `voodocs context init`: Initialize .voodocs.context file
1573
1722
  - `voodocs context view`: View context as Markdown
1574
1723
  - `voodocs context status`: Show context file status
1575
1724
 
1576
1725
  ### Changed
1726
+
1577
1727
  - Enhanced `voodocs context validate` with smart suggestions
1578
1728
  - Improved error messages and user feedback
1579
1729
 
1580
1730
  ### Documentation
1731
+
1581
1732
  - Added comprehensive Phase 3 and Phase 4 implementation guides
1582
1733
  - Updated README with new context system commands
1583
1734
  - Added example architecture diagram
1584
1735
 
1585
1736
  ### Performance
1737
+
1586
1738
  - Invariant checking: < 1 second for 15 files
1587
1739
  - Diagram generation: < 100ms + 1-2s for PNG rendering
1588
1740
  - Enhanced validation: < 50ms
1589
1741
 
1590
1742
  ### Code Statistics
1743
+
1591
1744
  - Total Context System: 3,060 lines across 4 phases
1592
1745
  - 12 context commands implemented
1593
1746
  - 980 lines added in Phase 4
@@ -1595,20 +1748,24 @@ This release makes VooDocs **truly AI-native**, working seamlessly with any AI a
1595
1748
  ## [0.1.2] - 2025-12-19
1596
1749
 
1597
1750
  ### Fixed
1751
+
1598
1752
  - Fixed bug in documentation generator where `class_invariants` was incorrectly referenced as `invariants` on line 570
1599
1753
  - Function-level invariants now render correctly in generated documentation
1600
1754
 
1601
1755
  ### Added
1756
+
1602
1757
  - Comprehensive example file demonstrating function-level invariants (`examples/test_function_invariants.py`)
1603
1758
  - Examples showing `transfer_funds()`, `binary_search()`, and `BankAccount` class with invariants
1604
1759
  - Documentation in USAGE.md clarifying when to use `invariants` vs `class_invariants`
1605
1760
  - Real-world examples of conservation laws and state constraints using invariants
1606
1761
 
1607
1762
  ### Changed
1763
+
1608
1764
  - Updated USAGE.md annotation fields table to clarify `invariants` usage
1609
1765
  - Added "Function with Invariants" and "Class with Invariants" examples to USAGE.md
1610
1766
 
1611
1767
  ### Documentation
1768
+
1612
1769
  - Clarified that `invariants` can be used at function level for execution-time properties
1613
1770
  - Clarified that `class_invariants` should be used for object state constraints
1614
1771
  - Added examples showing both use cases
@@ -1618,22 +1775,25 @@ This release makes VooDocs **truly AI-native**, working seamlessly with any AI a
1618
1775
  ### Fixed
1619
1776
 
1620
1777
  **Critical Bug Fix:**
1778
+
1621
1779
  - Fixed `ModuleNotFoundError: No module named 'darkarts.telemetry'` when using pnpm global installation
1622
1780
  - Improved symlink resolution in `cli.py` to handle both npm and pnpm directory structures
1623
1781
  - Now works correctly with npm, pnpm, and direct execution
1624
1782
 
1625
1783
  **Technical Details:**
1784
+
1626
1785
  - pnpm uses a different symlink structure (`.pnpm/@voodocs+cli@version/node_modules/...`)
1627
1786
  - Previous path resolution only worked with npm's simpler symlink structure
1628
1787
  - New implementation properly resolves symlinks for both package managers
1629
1788
 
1630
1789
  **Affected Users:**
1790
+
1631
1791
  - Users installing with `pnpm install -g @voodocs/cli`
1632
1792
  - npm users are unaffected (already working)
1633
1793
 
1634
1794
  # Changelog
1635
1795
 
1636
- All notable changes to VooDocs will be documented in this file.
1796
+ All notable changes to Voodocs will be documented in this file.
1637
1797
 
1638
1798
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1639
1799
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
@@ -1642,12 +1802,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1642
1802
 
1643
1803
  ### 🎉 Initial Release
1644
1804
 
1645
- First public release of VooDocs - AI-native documentation for modern development.
1805
+ First public release of Voodocs - AI-native documentation for modern development.
1646
1806
 
1647
1807
  ### Added
1648
1808
 
1649
1809
  **Core Commands:**
1650
- - `voodocs init` - Initialize VooDocs in a project with interactive prompts
1810
+
1811
+ - `voodocs init` - Initialize Voodocs in a project with interactive prompts
1651
1812
  - `voodocs instruct` - Generate AI assistant instructions for 5 major AI coding assistants (Cursor, Claude Code, GitHub Copilot, Cody, Windsurf)
1652
1813
  - `voodocs generate` - Generate documentation, tests, and API specs from @voodocs annotations
1653
1814
  - `voodocs status` - Show project statistics and annotation coverage
@@ -1658,6 +1819,7 @@ First public release of VooDocs - AI-native documentation for modern development
1658
1819
  - `voodocs telemetry` - Control anonymous telemetry (enable/disable/status)
1659
1820
 
1660
1821
  **Documentation Generation:**
1822
+
1661
1823
  - Mathematical notation translation (LaTeX → human-readable)
1662
1824
  - Support for Python and TypeScript
1663
1825
  - Multi-language output (English, Spanish, French, German, Chinese, Japanese)
@@ -1665,29 +1827,34 @@ First public release of VooDocs - AI-native documentation for modern development
1665
1827
  - Code examples and usage documentation
1666
1828
 
1667
1829
  **Test Generation:**
1830
+
1668
1831
  - Property-based testing using Hypothesis (Python)
1669
1832
  - Automatic test case generation from @voodocs annotations
1670
1833
  - Support for pytest, unittest, and jest frameworks
1671
1834
  - Edge case detection and testing
1672
1835
 
1673
1836
  **API Specification:**
1837
+
1674
1838
  - OpenAPI 3.0 spec generation
1675
1839
  - Swagger 2.0 support
1676
1840
  - GraphQL schema generation
1677
1841
  - Automatic endpoint documentation
1678
1842
 
1679
1843
  **Quality Tools:**
1844
+
1680
1845
  - Annotation validation with detailed error messages
1681
1846
  - Coverage checking and reporting
1682
1847
  - Best practices recommendations
1683
1848
  - CI/CD integration templates (GitHub Actions, GitLab CI, pre-commit hooks)
1684
1849
 
1685
1850
  **Export Capabilities:**
1851
+
1686
1852
  - HTML export with responsive design
1687
1853
  - PDF export with professional formatting
1688
1854
  - Customizable templates
1689
1855
 
1690
1856
  **Telemetry & Privacy:**
1857
+
1691
1858
  - Anonymous usage analytics with Supabase backend
1692
1859
  - Privacy-respecting data collection (no PII)
1693
1860
  - Easy opt-out mechanism
@@ -1696,6 +1863,7 @@ First public release of VooDocs - AI-native documentation for modern development
1696
1863
  - Transparent privacy policy (PRIVACY.md)
1697
1864
 
1698
1865
  **Configuration:**
1866
+
1699
1867
  - Project-level configuration via `.voodocs/config.json`
1700
1868
  - Customizable output directories
1701
1869
  - Language selection
@@ -1704,6 +1872,7 @@ First public release of VooDocs - AI-native documentation for modern development
1704
1872
  - Exclude/include patterns
1705
1873
 
1706
1874
  **Developer Experience:**
1875
+
1707
1876
  - Interactive CLI with prompts
1708
1877
  - Comprehensive error messages
1709
1878
  - Detailed usage documentation (USAGE.md)
@@ -1713,28 +1882,33 @@ First public release of VooDocs - AI-native documentation for modern development
1713
1882
  ### Technical Details
1714
1883
 
1715
1884
  **Package:**
1885
+
1716
1886
  - Size: 169.6 kB (compressed)
1717
1887
  - Unpacked size: 616.1 kB
1718
1888
  - Total files: 70
1719
1889
  - Zero dependencies (standalone)
1720
1890
 
1721
1891
  **Supported Languages:**
1892
+
1722
1893
  - Python (≥3.7)
1723
1894
  - TypeScript (via compiled parser)
1724
1895
  - JavaScript (via TypeScript parser)
1725
1896
 
1726
1897
  **Supported Platforms:**
1898
+
1727
1899
  - Linux
1728
1900
  - macOS
1729
1901
  - Windows
1730
1902
 
1731
1903
  **Requirements:**
1904
+
1732
1905
  - Node.js ≥16.0.0
1733
1906
  - Python ≥3.7.0
1734
1907
 
1735
1908
  ### Architecture
1736
1909
 
1737
1910
  **DarkArts Language:**
1911
+
1738
1912
  - Mathematical notation for AI-readable specifications
1739
1913
  - @voodocs annotation syntax
1740
1914
  - LaTeX-style mathematical expressions
@@ -1742,12 +1916,14 @@ First public release of VooDocs - AI-native documentation for modern development
1742
1916
  - Set theory notation
1743
1917
 
1744
1918
  **Plugin System:**
1919
+
1745
1920
  - Extensible architecture
1746
1921
  - Custom generator support
1747
1922
  - Custom validator support
1748
1923
  - Custom exporter support
1749
1924
 
1750
1925
  **Parsers:**
1926
+
1751
1927
  - Python AST parser
1752
1928
  - TypeScript/JavaScript parser (compiled)
1753
1929
  - Annotation extraction and validation
@@ -1773,7 +1949,7 @@ First public release of VooDocs - AI-native documentation for modern development
1773
1949
  - USAGE.md - Comprehensive user guide (350+ lines)
1774
1950
  - PRIVACY.md - Telemetry and privacy policy
1775
1951
  - NPM_PUBLISH_GUIDE.md - Publishing instructions
1776
- - TELEMETRY_*.md - Telemetry implementation details
1952
+ - TELEMETRY\_\*.md - Telemetry implementation details
1777
1953
 
1778
1954
  ### Links
1779
1955
 
@@ -1787,6 +1963,7 @@ First public release of VooDocs - AI-native documentation for modern development
1787
1963
  ## [Unreleased]
1788
1964
 
1789
1965
  ### Planned for v0.2.0
1966
+
1790
1967
  - Additional language support (Java, Go, Rust)
1791
1968
  - Web dashboard for analytics
1792
1969
  - Team collaboration features