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