@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.
- package/CHANGELOG.md +215 -38
- package/LICENSE +1 -1
- package/PRIVACY.md +10 -10
- package/README.md +39 -35
- package/USAGE.md +50 -27
- package/examples/.cursorrules +9 -9
- package/examples/instructions/.claude/instructions.md +77 -65
- package/examples/instructions/.cursorrules +9 -9
- package/examples/instructions/.windsurfrules +9 -9
- package/examples/instructions/VOODOCS_INSTRUCTIONS.md +74 -62
- package/examples/math_example.py +1 -1
- package/examples/phase2_test.py +1 -1
- package/examples/test_function_invariants.py +1 -1
- package/lib/cli/__init__.py +3 -3
- package/lib/cli/benchmark.py +3 -3
- package/lib/cli/context.py +1 -1
- package/lib/cli/fix.py +1 -1
- package/lib/cli/generate.py +60 -1
- package/lib/cli/init.py +10 -10
- package/lib/cli/instruct.py +1 -1
- package/lib/cli/validate.py +3 -3
- package/lib/darkarts/annotations/DARKARTS_SYMBOLS.md +110 -95
- package/lib/darkarts/annotations/TRANSFORMATION_EXAMPLES.md +29 -27
- package/lib/darkarts/annotations/parser.py +1 -1
- package/lib/darkarts/cli_darkarts.py +5 -5
- package/lib/darkarts/context/ai_instructions.py +12 -12
- package/lib/darkarts/context/ai_integrations.py +16 -16
- package/lib/darkarts/context/commands.py +4 -4
- package/lib/darkarts/context/errors.py +1 -1
- package/lib/darkarts/context/models.py +1 -1
- package/lib/darkarts/context/ui.py +4 -4
- package/lib/darkarts/context/yaml_utils.py +3 -3
- package/lib/darkarts/core/loader.py +1 -1
- package/lib/darkarts/documentation/__init__.py +10 -0
- package/lib/darkarts/documentation/categorizer.py +137 -0
- package/lib/darkarts/documentation/consolidator.py +303 -0
- package/lib/darkarts/exceptions.py +3 -3
- package/lib/darkarts/plugins/voodocs/ai_native_plugin.py +1 -1
- package/lib/darkarts/plugins/voodocs/annotation_validator.py +2 -2
- package/lib/darkarts/plugins/voodocs/documentation_generator.py +3 -3
- package/lib/darkarts/plugins/voodocs/html_exporter.py +4 -4
- package/lib/darkarts/plugins/voodocs/instruction_generator.py +10 -10
- package/lib/darkarts/plugins/voodocs/pdf_exporter.py +1 -1
- package/lib/darkarts/plugins/voodocs/test_generator.py +1 -1
- package/lib/darkarts/telemetry.py +5 -5
- package/lib/darkarts/validation/README.md +6 -3
- package/package.json +2 -1
- package/requirements.txt +2 -2
- package/templates/ci/github-actions.yml +64 -64
- package/templates/ci/pre-commit-hook.sh +4 -4
- 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
|
-
**
|
|
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
|
-
|
|
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
|
|
201
|
-
|
|
220
|
+
| Test Case | Status |
|
|
221
|
+
| ------------------------------------------ | ------- |
|
|
202
222
|
| Instructions directory included in package | ✅ Pass |
|
|
203
|
-
| `voodocs instruct --list-templates`
|
|
204
|
-
| `voodocs instruct --ai cursor`
|
|
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
|
|
238
|
-
|
|
239
|
-
| `voodocs instruct --list-templates`
|
|
240
|
-
| `voodocs instruct --ai cursor`
|
|
241
|
-
| `voodocs instruct --ai claude`
|
|
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
|
|
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
|
|
305
|
-
|
|
306
|
-
| TypeScript file with `/**@voodocs`
|
|
330
|
+
| Test Case | Status |
|
|
331
|
+
| ----------------------------------- | ------- |
|
|
332
|
+
| TypeScript file with `/**@voodocs` | ✅ Pass |
|
|
307
333
|
| TypeScript file with `/**@darkarts` | ✅ Pass |
|
|
308
|
-
| Natural language format
|
|
309
|
-
| Symbolic format
|
|
310
|
-
| Directory discovery (`.ts` files)
|
|
311
|
-
| Multiple files in directory
|
|
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
|
|
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
|
|
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
|
|
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: [
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
1805
|
+
First public release of Voodocs - AI-native documentation for modern development.
|
|
1646
1806
|
|
|
1647
1807
|
### Added
|
|
1648
1808
|
|
|
1649
1809
|
**Core Commands:**
|
|
1650
|
-
|
|
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
|
-
-
|
|
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
|