@voodocs/cli 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +215 -38
  2. package/LICENSE +1 -1
  3. package/PRIVACY.md +10 -10
  4. package/README.md +39 -35
  5. package/USAGE.md +50 -27
  6. package/examples/.cursorrules +9 -9
  7. package/examples/instructions/.claude/instructions.md +77 -65
  8. package/examples/instructions/.cursorrules +9 -9
  9. package/examples/instructions/.windsurfrules +9 -9
  10. package/examples/instructions/VOODOCS_INSTRUCTIONS.md +74 -62
  11. package/examples/math_example.py +1 -1
  12. package/examples/phase2_test.py +1 -1
  13. package/examples/test_function_invariants.py +1 -1
  14. package/lib/cli/__init__.py +3 -3
  15. package/lib/cli/benchmark.py +3 -3
  16. package/lib/cli/context.py +1 -1
  17. package/lib/cli/fix.py +1 -1
  18. package/lib/cli/generate.py +1 -1
  19. package/lib/cli/init.py +10 -10
  20. package/lib/cli/instruct.py +1 -1
  21. package/lib/cli/validate.py +3 -3
  22. package/lib/darkarts/annotations/DARKARTS_SYMBOLS.md +110 -95
  23. package/lib/darkarts/annotations/TRANSFORMATION_EXAMPLES.md +29 -27
  24. package/lib/darkarts/annotations/parser.py +1 -1
  25. package/lib/darkarts/cli_darkarts.py +5 -5
  26. package/lib/darkarts/context/ai_instructions.py +12 -12
  27. package/lib/darkarts/context/ai_integrations.py +16 -16
  28. package/lib/darkarts/context/commands.py +4 -4
  29. package/lib/darkarts/context/errors.py +1 -1
  30. package/lib/darkarts/context/models.py +1 -1
  31. package/lib/darkarts/context/ui.py +4 -4
  32. package/lib/darkarts/context/yaml_utils.py +3 -3
  33. package/lib/darkarts/core/loader.py +1 -1
  34. package/lib/darkarts/documentation/__init__.py +10 -0
  35. package/lib/darkarts/documentation/categorizer.py +137 -0
  36. package/lib/darkarts/documentation/consolidator.py +303 -0
  37. package/lib/darkarts/exceptions.py +3 -3
  38. package/lib/darkarts/plugins/voodocs/ai_native_plugin.py +1 -1
  39. package/lib/darkarts/plugins/voodocs/annotation_validator.py +2 -2
  40. package/lib/darkarts/plugins/voodocs/documentation_generator.py +3 -3
  41. package/lib/darkarts/plugins/voodocs/html_exporter.py +4 -4
  42. package/lib/darkarts/plugins/voodocs/instruction_generator.py +10 -10
  43. package/lib/darkarts/plugins/voodocs/pdf_exporter.py +1 -1
  44. package/lib/darkarts/plugins/voodocs/test_generator.py +1 -1
  45. package/lib/darkarts/telemetry.py +5 -5
  46. package/lib/darkarts/validation/README.md +6 -3
  47. package/package.json +2 -1
  48. package/requirements.txt +2 -2
  49. package/templates/ci/github-actions.yml +64 -64
  50. package/templates/ci/pre-commit-hook.sh +4 -4
  51. package/voodocs_cli.py +1 -1
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- VooDocs Commercial License
1
+ Voodocs Commercial License
2
2
 
3
3
  Copyright (c) 2025 3vilEnterprises
4
4
 
package/PRIVACY.md CHANGED
@@ -1,31 +1,31 @@
1
- # VooDocs Privacy Policy
1
+ # Voodocs Privacy Policy
2
2
 
3
3
  **Last updated:** 2025-12-19
4
4
 
5
- This Privacy Policy explains how VooDocs collects, uses, and discloses information about you. This policy applies when you use the VooDocs command-line interface (CLI) and its related services.
5
+ This Privacy Policy explains how Voodocs collects, uses, and discloses information about you. This policy applies when you use the Voodocs command-line interface (CLI) and its related services.
6
6
 
7
7
  ## 1. Information We Collect
8
8
 
9
- VooDocs is designed with privacy as a core principle. We collect minimal, anonymous information to help us improve the product and understand how it is used.
9
+ Voodocs is designed with privacy as a core principle. We collect minimal, anonymous information to help us improve the product and understand how it is used.
10
10
 
11
11
  ### Anonymous Telemetry
12
12
 
13
- By default, VooDocs collects anonymous telemetry data about CLI usage. This data is not linked to your identity and does not include any personal information or code content.
13
+ By default, Voodocs collects anonymous telemetry data about CLI usage. This data is not linked to your identity and does not include any personal information or code content.
14
14
 
15
15
  We collect the following anonymous data:
16
16
 
17
- - **Command Usage**: Which VooDocs commands are executed (e.g., `init`, `generate`).
17
+ - **Command Usage**: Which Voodocs commands are executed (e.g., `init`, `generate`).
18
18
  - **Success/Failure Rates**: Whether commands succeed or fail.
19
19
  - **Performance Metrics**: Command execution duration.
20
20
  - **Error Information**: The type of error if a command fails (e.g., `ParserError`).
21
21
  - **Project Metadata**: The programming language of the project (e.g., `python`, `typescript`).
22
22
  - **Usage Statistics**: Number of files processed, number of annotations found.
23
- - **Environment Information**: Operating system, VooDocs version, Python version, Node.js version.
23
+ - **Environment Information**: Operating system, Voodocs version, Python version, Node.js version.
24
24
  - **Anonymous Session ID**: A randomly generated UUID to group events from a single CLI session. This ID is not tied to you or your machine and resets periodically.
25
25
 
26
26
  ### What We DO NOT Collect
27
27
 
28
- We are developers ourselves and we respect your privacy. VooDocs **never** collects:
28
+ We are developers ourselves and we respect your privacy. Voodocs **never** collects:
29
29
 
30
30
  - **Personally Identifiable Information (PII)**: Your name, email, IP address, or any other personal data.
31
31
  - **Code or Source Files**: The content of your source code, annotations, or generated documentation.
@@ -37,16 +37,16 @@ We are developers ourselves and we respect your privacy. VooDocs **never** colle
37
37
 
38
38
  We use the anonymous telemetry data we collect to:
39
39
 
40
- - **Improve VooDocs**: Understand which features are most popular and where users encounter problems.
40
+ - **Improve Voodocs**: Understand which features are most popular and where users encounter problems.
41
41
  - **Enhance Performance**: Identify and fix performance bottlenecks.
42
42
  - **Prioritize Features**: Make data-driven decisions about what to build next.
43
- - **Track Adoption**: Measure the overall growth and adoption of VooDocs.
43
+ - **Track Adoption**: Measure the overall growth and adoption of Voodocs.
44
44
 
45
45
  ## 3. Data Storage and Security
46
46
 
47
47
  - **Data Storage**: Anonymous telemetry data is stored in a secure Supabase database.
48
48
  - **Data Retention**: We retain anonymous telemetry data for a maximum of 90 days.
49
- - **Access Control**: Access to the telemetry data is strictly limited to authorized VooDocs personnel.
49
+ - **Access Control**: Access to the telemetry data is strictly limited to authorized Voodocs personnel.
50
50
 
51
51
  ## 4. Your Choices
52
52
 
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
- # VooDocs - AI-Native Symbolic Documentation
1
+ # Voodocs - AI-Native Symbolic Documentation
2
2
 
3
3
  [![NPM Version](https://img.shields.io/npm/v/@voodocs/cli.svg)](https://www.npmjs.com/package/@voodocs/cli)
4
4
  [![License](https://img.shields.io/npm/l/@voodocs/cli.svg)](https://voodocs.com/terms)
5
5
  [![Support](https://img.shields.io/badge/support-priority-blue.svg)](https://voodocs.com/support)
6
6
 
7
- **VooDocs** is the world's first AI-native symbolic documentation system. Using mathematical notation and semantic validation, it creates documentation that's both human-readable and optimized for AI consumption.
7
+ **Voodocs** is the world's first AI-native symbolic documentation system. Using mathematical notation and semantic validation, it creates documentation that's both human-readable and optimized for AI consumption.
8
8
 
9
- ## What Makes VooDocs Unique?
9
+ ## What Makes Voodocs Unique?
10
10
 
11
11
  ✅ **Symbolic Language** - Mathematical Unicode symbols (⊢, ∂, ⚠, ⊳, ⊲, ⊨, ⚡, 🔒) for concise, precise documentation
12
12
  ✅ **Semantic Validation** - Verifies that your documentation matches your code
@@ -37,6 +37,7 @@ voodocs init
37
37
  ```
38
38
 
39
39
  This will:
40
+
40
41
  - Create `.voodocs.json` configuration
41
42
  - Generate AI instructions for your coding assistant
42
43
  - Create example annotated files
@@ -95,34 +96,34 @@ def authenticate_user(user_id: str, password: str) -> Optional[str]:
95
96
 
96
97
  ### Module-Level Annotations
97
98
 
98
- | Symbol | Field | Description | Example |
99
- |--------|-------|-------------|---------|
100
- | ⊢ | module_purpose | What this module does | `⊢{User authentication service}` |
101
- | ∂ | dependencies | External dependencies | `∂{bcrypt, jsonwebtoken}` |
102
- | ⚠ | assumptions | Preconditions for module | `⚠{Database is initialized}` |
99
+ | Symbol | Field | Description | Example |
100
+ | ------ | -------------- | ------------------------ | -------------------------------- |
101
+ | ⊢ | module_purpose | What this module does | `⊢{User authentication service}` |
102
+ | ∂ | dependencies | External dependencies | `∂{bcrypt, jsonwebtoken}` |
103
+ | ⚠ | assumptions | Preconditions for module | `⚠{Database is initialized}` |
103
104
 
104
105
  ### Function-Level Annotations
105
106
 
106
- | Symbol | Field | Description | Example |
107
- |--------|-------|-------------|---------|
108
- | ⊳ | preconditions | Input requirements | `⊳{userId must be a valid UUID}` |
109
- | ⊲ | postconditions | Output guarantees | `⊲{Returns user object ∨ null}` |
110
- | ⊨ | invariants | Conditions that always hold | `⊨{Does ¬ modify database}` |
111
- | ⚡ | complexity | Time/space complexity | `⚡{O(n log n)}` |
112
- | 🔒 | security | Security implications | `🔒{Password hashed with bcrypt}` |
107
+ | Symbol | Field | Description | Example |
108
+ | ------ | -------------- | --------------------------- | --------------------------------- |
109
+ | ⊳ | preconditions | Input requirements | `⊳{userId must be a valid UUID}` |
110
+ | ⊲ | postconditions | Output guarantees | `⊲{Returns user object ∨ null}` |
111
+ | ⊨ | invariants | Conditions that always hold | `⊨{Does ¬ modify database}` |
112
+ | ⚡ | complexity | Time/space complexity | `⚡{O(n log n)}` |
113
+ | 🔒 | security | Security implications | `🔒{Password hashed with bcrypt}` |
113
114
 
114
115
  ### Logic Operators
115
116
 
116
- | Symbol | Meaning | Example |
117
- |--------|---------|---------|
118
- | ∧ | and | `x > 0 ∧ y > 0` |
119
- | ∨ | or | `Returns user ∨ null` |
120
- | ¬ | not | `¬ empty string` |
121
- | ∈ | in/element of | `user ∈ database` |
122
- | ∃ | exists | `∃ user: user.id = userId` |
123
- | ∀ | for all | `∀ item ∈ array: item ≠ null` |
124
- | ⇒ | implies | `x > 0 ⇒ result > 0` |
125
- | ⇔ | if and only if | `valid ⇔ checksum matches` |
117
+ | Symbol | Meaning | Example |
118
+ | ------ | -------------- | ----------------------------- |
119
+ | ∧ | and | `x > 0 ∧ y > 0` |
120
+ | ∨ | or | `Returns user ∨ null` |
121
+ | ¬ | not | `¬ empty string` |
122
+ | ∈ | in/element of | `user ∈ database` |
123
+ | ∃ | exists | `∃ user: user.id = userId` |
124
+ | ∀ | for all | `∀ item ∈ array: item ≠ null` |
125
+ | ⇒ | implies | `x > 0 ⇒ result > 0` |
126
+ | ⇔ | if and only if | `valid ⇔ checksum matches` |
126
127
 
127
128
  ---
128
129
 
@@ -130,7 +131,7 @@ def authenticate_user(user_id: str, password: str) -> Optional[str]:
130
131
 
131
132
  ### `voodocs init`
132
133
 
133
- Initialize VooDocs in your project with an interactive wizard:
134
+ Initialize Voodocs in your project with an interactive wizard:
134
135
 
135
136
  ```bash
136
137
  voodocs init # Interactive setup
@@ -197,7 +198,7 @@ voodocs benchmark ./src --html # HTML report
197
198
 
198
199
  ## Configuration
199
200
 
200
- The `.voodocs.json` file configures VooDocs for your project:
201
+ The `.voodocs.json` file configures Voodocs for your project:
201
202
 
202
203
  ```json
203
204
  {
@@ -206,11 +207,7 @@ The `.voodocs.json` file configures VooDocs for your project:
206
207
  "format": "darkarts",
207
208
  "repository": "https://github.com/user/my-project",
208
209
  "private": true,
209
- "exclude": [
210
- "node_modules",
211
- "dist",
212
- "build"
213
- ]
210
+ "exclude": ["node_modules", "dist", "build"]
214
211
  }
215
212
  ```
216
213
 
@@ -218,7 +215,7 @@ The `.voodocs.json` file configures VooDocs for your project:
218
215
 
219
216
  ## CI/CD Integration
220
217
 
221
- Add VooDocs validation to your CI pipeline:
218
+ Add Voodocs validation to your CI pipeline:
222
219
 
223
220
  ```yaml
224
221
  # .github/workflows/validate.yml
@@ -231,7 +228,7 @@ jobs:
231
228
  - uses: actions/checkout@v3
232
229
  - uses: actions/setup-node@v3
233
230
  with:
234
- node-version: '18'
231
+ node-version: "18"
235
232
  - run: npm install -g @voodocs/cli
236
233
  - run: voodocs validate ./src --strict --recursive
237
234
  ```
@@ -241,10 +238,13 @@ jobs:
241
238
  ## Why Symbolic Format?
242
239
 
243
240
  ### 1. **Concise**
241
+
244
242
  ```
245
243
  ⊳{userId ∈ database ∧ password ≥8 chars}
246
244
  ```
245
+
247
246
  vs.
247
+
248
248
  ```
249
249
  preconditions: [
250
250
  "userId must exist in database",
@@ -253,15 +253,19 @@ preconditions: [
253
253
  ```
254
254
 
255
255
  ### 2. **Precise**
256
+
256
257
  Mathematical notation eliminates ambiguity
257
258
 
258
259
  ### 3. **AI-Optimized**
260
+
259
261
  Fewer tokens = lower costs for AI processing
260
262
 
261
263
  ### 4. **Language-Independent**
264
+
262
265
  Symbols transcend language barriers
263
266
 
264
267
  ### 5. **Unique**
268
+
265
269
  Patent-pending innovation (VDA-004)
266
270
 
267
271
  ---
@@ -303,4 +307,4 @@ Commercial License - See [LICENSE](LICENSE) for details.
303
307
 
304
308
  ---
305
309
 
306
- **VooDocs** - The world's first AI-native symbolic documentation system.
310
+ **Voodocs** - The world's first AI-native symbolic documentation system.
package/USAGE.md CHANGED
@@ -1,8 +1,8 @@
1
- # VooDocs Usage Guide
1
+ # Voodocs Usage Guide
2
2
 
3
3
  **Version**: v0.1.0
4
4
 
5
- This guide provides a comprehensive overview of VooDocs, its commands, and best practices for using it in your projects.
5
+ This guide provides a comprehensive overview of Voodocs, its commands, and best practices for using it in your projects.
6
6
 
7
7
  ---
8
8
 
@@ -34,7 +34,7 @@ This guide provides a comprehensive overview of VooDocs, its commands, and best
34
34
 
35
35
  ## Installation
36
36
 
37
- Install the VooDocs CLI globally using `npm` or `pnpm`:
37
+ Install the Voodocs CLI globally using `npm` or `pnpm`:
38
38
 
39
39
  ```bash
40
40
  npm install -g @voodocs/cli
@@ -46,16 +46,20 @@ This will make the `voodocs` command available in your terminal.
46
46
 
47
47
  ## Quick Start
48
48
 
49
- 1. **Initialize VooDocs** in your project:
49
+ 1. **Initialize Voodocs** in your project:
50
+
50
51
  ```bash
51
52
  voodocs init
52
53
  ```
54
+
53
55
  This will create a `.voodocs/config.json` file.
54
56
 
55
57
  2. **Generate AI Instructions** for your coding assistant:
58
+
56
59
  ```bash
57
60
  voodocs instruct
58
61
  ```
62
+
59
63
  This creates a `VOODOCS_INSTRUCTIONS.md` file. Provide this to your AI assistant (e.g., add to `.cursorrules`).
60
64
 
61
65
  3. **Start Coding** with `@voodocs` annotations. Your AI assistant will help you write them.
@@ -72,14 +76,16 @@ This will make the `voodocs` command available in your terminal.
72
76
 
73
77
  ### `init`
74
78
 
75
- Initialize VooDocs in a project. Creates a `.voodocs/config.json` file.
79
+ Initialize Voodocs in a project. Creates a `.voodocs/config.json` file.
76
80
 
77
81
  **Usage**:
82
+
78
83
  ```bash
79
84
  voodocs init [--project-name <name>] [--language <lang>]
80
85
  ```
81
86
 
82
87
  **Arguments**:
88
+
83
89
  - `--project-name`: The name of the project (defaults to current directory name).
84
90
  - `--language`: The primary language of the project (`python`, `typescript`, `javascript`).
85
91
 
@@ -90,11 +96,13 @@ If arguments are not provided, `init` will run in interactive mode.
90
96
  Generate AI assistant instructions.
91
97
 
92
98
  **Usage**:
99
+
93
100
  ```bash
94
101
  voodocs instruct [--assistant <name>] [--output <file>]
95
102
  ```
96
103
 
97
104
  **Arguments**:
105
+
98
106
  - `--assistant`: The AI assistant to generate instructions for (`cursor`, `claude`, `copilot`, `windsurf`, `generic`).
99
107
  - `--output`: The output file path (defaults to `.cursorrules`, `.claude/instructions.md`, etc.).
100
108
 
@@ -103,11 +111,13 @@ voodocs instruct [--assistant <name>] [--output <file>]
103
111
  Generate docs, tests, and API specs from annotations.
104
112
 
105
113
  **Usage**:
114
+
106
115
  ```bash
107
116
  voodocs generate <path> [--output <dir>] [--docs-only] [--tests-only] [--api-only] [--verbose]
108
117
  ```
109
118
 
110
119
  **Arguments**:
120
+
111
121
  - `<path>`: The path to the source code to process.
112
122
  - `--output`: The output directory (defaults to `./voodocs-output`).
113
123
  - `--docs-only`: Generate only documentation.
@@ -120,11 +130,13 @@ voodocs generate <path> [--output <dir>] [--docs-only] [--tests-only] [--api-onl
120
130
  Show project status and statistics.
121
131
 
122
132
  **Usage**:
133
+
123
134
  ```bash
124
135
  voodocs status [<path>]
125
136
  ```
126
137
 
127
138
  **Output**:
139
+
128
140
  - Annotation coverage percentage
129
141
  - Quality score (0-100)
130
142
  - Breakdown of annotated vs. unannotated functions/classes
@@ -134,11 +146,13 @@ voodocs status [<path>]
134
146
  Watch files and automatically regenerate documentation on changes.
135
147
 
136
148
  **Usage**:
149
+
137
150
  ```bash
138
151
  voodocs watch <path> [--interval <seconds>]
139
152
  ```
140
153
 
141
154
  **Arguments**:
155
+
142
156
  - `<path>`: The path to watch for changes.
143
157
  - `--interval`: The watch interval in seconds (defaults to 2).
144
158
 
@@ -147,11 +161,13 @@ voodocs watch <path> [--interval <seconds>]
147
161
  Validate annotation quality and correctness.
148
162
 
149
163
  **Usage**:
164
+
150
165
  ```bash
151
166
  voodocs validate <path> [--strict] [--format <fmt>]
152
167
  ```
153
168
 
154
169
  **Arguments**:
170
+
155
171
  - `<path>`: The path to validate.
156
172
  - `--strict`: Treat warnings as errors.
157
173
  - `--format`: Output format (`text` or `json`).
@@ -161,11 +177,13 @@ voodocs validate <path> [--strict] [--format <fmt>]
161
177
  Check annotation coverage and quality (for CI/CD).
162
178
 
163
179
  **Usage**:
180
+
164
181
  ```bash
165
182
  voodocs check <path> [--min-coverage <pct>] [--min-quality <pct>]
166
183
  ```
167
184
 
168
185
  **Arguments**:
186
+
169
187
  - `<path>`: The path to check.
170
188
  - `--min-coverage`: The minimum required annotation coverage (0-100).
171
189
  - `--min-quality`: The minimum required quality score (0-100).
@@ -177,11 +195,13 @@ Exits with code 1 if checks fail.
177
195
  Export documentation to different formats.
178
196
 
179
197
  **Usage**:
198
+
180
199
  ```bash
181
200
  voodocs export <file> --format <fmt> [--output <file>]
182
201
  ```
183
202
 
184
203
  **Arguments**:
204
+
185
205
  - `<file>`: The Markdown documentation file to export.
186
206
  - `--format`: The export format (`html` or `pdf`).
187
207
  - `--output`: The output file path.
@@ -190,7 +210,7 @@ voodocs export <file> --format <fmt> [--output <file>]
190
210
 
191
211
  ## Configuration
192
212
 
193
- VooDocs is configured via the `.voodocs/config.json` file. The following options are available:
213
+ Voodocs is configured via the `.voodocs/config.json` file. The following options are available:
194
214
 
195
215
  ```json
196
216
  {
@@ -200,10 +220,7 @@ VooDocs is configured via the `.voodocs/config.json` file. The following options
200
220
  "output_dir": "./voodocs-output",
201
221
  "test_framework": "pytest",
202
222
  "api_format": "openapi",
203
- "exclude_patterns": [
204
- "**/test_*.py",
205
- "**/node_modules/**"
206
- ],
223
+ "exclude_patterns": ["**/test_*.py", "**/node_modules/**"],
207
224
  "include_patterns": [],
208
225
  "annotation_coverage_threshold": 50
209
226
  }
@@ -216,6 +233,7 @@ VooDocs is configured via the `.voodocs/config.json` file. The following options
216
233
  ### Annotation Syntax
217
234
 
218
235
  **Python**:
236
+
219
237
  ```python
220
238
  def my_function(x):
221
239
  """
@@ -227,6 +245,7 @@ def my_function(x):
227
245
  ```
228
246
 
229
247
  **TypeScript/JavaScript**:
248
+
230
249
  ```typescript
231
250
  /**
232
251
  * @voodocs
@@ -240,20 +259,20 @@ function myFunction(x: number): number {
240
259
 
241
260
  ### Annotation Fields
242
261
 
243
- | Field | Description |
244
- |---|---|
245
- | `module_purpose` | High-level purpose of the module. |
246
- | `dependencies` | Key dependencies of the module. |
247
- | `assumptions` | Assumptions made by the module. |
248
- | `preconditions` | Conditions that must be true before a function is called. |
249
- | `postconditions` | Conditions that must be true after a function returns. |
250
- | `invariants` | Properties that remain unchanged throughout execution. For functions: conditions that hold during execution. For classes: use `class_invariants` for object state constraints. |
251
- | `complexity` | Time and space complexity of an algorithm. |
252
- | `error_cases` | How the function behaves in error scenarios. |
253
- | `security_model` | Security implications and threat model. |
254
- | `thread_safety` | Thread safety guarantees. |
255
- | `state_transitions` | How the state of a class changes. |
256
- | `examples` | Example usage of the function. |
262
+ | Field | Description |
263
+ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
264
+ | `module_purpose` | High-level purpose of the module. |
265
+ | `dependencies` | Key dependencies of the module. |
266
+ | `assumptions` | Assumptions made by the module. |
267
+ | `preconditions` | Conditions that must be true before a function is called. |
268
+ | `postconditions` | Conditions that must be true after a function returns. |
269
+ | `invariants` | Properties that remain unchanged throughout execution. For functions: conditions that hold during execution. For classes: use `class_invariants` for object state constraints. |
270
+ | `complexity` | Time and space complexity of an algorithm. |
271
+ | `error_cases` | How the function behaves in error scenarios. |
272
+ | `security_model` | Security implications and threat model. |
273
+ | `thread_safety` | Thread safety guarantees. |
274
+ | `state_transitions` | How the state of a class changes. |
275
+ | `examples` | Example usage of the function. |
257
276
 
258
277
  ### DarkArts Language
259
278
 
@@ -271,6 +290,7 @@ The DarkArts language is a formal notation used in annotations. It includes:
271
290
  ### Function with Invariants
272
291
 
273
292
  **Python**:
293
+
274
294
  ```python
275
295
  def transfer_funds(from_account, to_account, amount):
276
296
  """@voodocs
@@ -297,6 +317,7 @@ def transfer_funds(from_account, to_account, amount):
297
317
  ### Class with Invariants
298
318
 
299
319
  **Python**:
320
+
300
321
  ```python
301
322
  class BankAccount:
302
323
  """@voodocs
@@ -305,7 +326,7 @@ class BankAccount:
305
326
  "account_id is unique and immutable"
306
327
  ]
307
328
  """
308
-
329
+
309
330
  def deposit(self, amount):
310
331
  """@voodocs
311
332
  preconditions: ["amount > 0"]
@@ -327,8 +348,9 @@ See the `examples/` directory for more complete examples in Python and TypeScrip
327
348
  Use the `voodocs check` command in your CI/CD pipeline to enforce documentation standards.
328
349
 
329
350
  **GitHub Actions Example**:
351
+
330
352
  ```yaml
331
- name: VooDocs Check
353
+ name: Voodocs Check
332
354
 
333
355
  on: [push, pull_request]
334
356
 
@@ -353,8 +375,9 @@ jobs:
353
375
 
354
376
  **Problem**: TypeScript parser not working.
355
377
  **Solution**: The TypeScript parser is built automatically on `postinstall`. If it fails, you can build it manually:
378
+
356
379
  ```bash
357
- # Navigate to the VooDocs installation directory
380
+ # Navigate to the Voodocs installation directory
358
381
  cd $(npm root -g)/@voodocs/cli
359
382
 
360
383
  # Build the parser
@@ -1,14 +1,14 @@
1
- # VooDocs Instructions for Cursor
1
+ # Voodocs Instructions for Cursor
2
2
 
3
- **Project**: VooDocs Demo
4
- **Generated**: Automatically by VooDocs
3
+ **Project**: Voodocs Demo
4
+ **Generated**: Automatically by Voodocs
5
5
  **Purpose**: Guide AI assistants to document code using @voodocs annotations
6
6
 
7
7
  ---
8
8
 
9
9
  ## Overview
10
10
 
11
- VooDocs is an AI-native documentation system that allows you to document code in **DarkArts language** - a mathematical and logical notation that AI naturally understands. Your annotations will be automatically translated into human-readable documentation, property-based tests, and API specifications.
11
+ Voodocs is an AI-native documentation system that allows you to document code in **DarkArts language** - a mathematical and logical notation that AI naturally understands. Your annotations will be automatically translated into human-readable documentation, property-based tests, and API specifications.
12
12
 
13
13
  **Key Benefits:**
14
14
  - Document in AI's native language (mathematical notation)
@@ -22,7 +22,7 @@ As an AI coding assistant, you should add `@voodocs` annotations to **every sign
22
22
 
23
23
  ## Core Principles
24
24
 
25
- When writing code with VooDocs annotations, follow these principles:
25
+ When writing code with Voodocs annotations, follow these principles:
26
26
 
27
27
  1. **Annotate as you code** - Add `@voodocs` annotations immediately when creating functions/classes
28
28
  2. **Be precise** - Use mathematical notation for exact specifications
@@ -137,7 +137,7 @@ DarkArts is a mathematical notation language for precise specifications. Use the
137
137
  | `ℤ` | Integers (..., -1, 0, 1, ...) | `x ∈ ℤ` |
138
138
  | `ℝ` | Real numbers | `x ∈ ℝ` |
139
139
 
140
- **Tip**: You can use plain English too! VooDocs understands both mathematical notation and natural language. Mix them for clarity.
140
+ **Tip**: You can use plain English too! Voodocs understands both mathematical notation and natural language. Mix them for clarity.
141
141
 
142
142
  ## Examples
143
143
 
@@ -314,7 +314,7 @@ complexity: "O(1)"
314
314
  """
315
315
  ```
316
316
 
317
- VooDocs generates:
317
+ Voodocs generates:
318
318
 
319
319
  ```python
320
320
  # Generated test
@@ -369,7 +369,7 @@ complexity: "O(n log n)"
369
369
 
370
370
  **Also Good:**
371
371
  ```python
372
- complexity: "O(n)" # VooDocs infers space as O(1)
372
+ complexity: "O(n)" # Voodocs infers space as O(1)
373
373
  ```
374
374
 
375
375
  ### 4. Document Security Implications
@@ -434,4 +434,4 @@ side_effects: ["Does stuff"] # Too vague
434
434
 
435
435
  By documenting in DarkArts language, you're not just writing comments - you're creating a **formal specification** that generates tests, documentation, and API specs automatically.
436
436
 
437
- **Generated by VooDocs** - AI-native documentation for modern development.
437
+ **Generated by Voodocs** - AI-native documentation for modern development.