@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.
Files changed (53) hide show
  1. package/CHANGELOG.md +38 -215
  2. package/LICENSE +1 -1
  3. package/PRIVACY.md +10 -10
  4. package/README.md +35 -39
  5. package/USAGE.md +27 -50
  6. package/examples/.cursorrules +9 -9
  7. package/examples/instructions/.claude/instructions.md +65 -77
  8. package/examples/instructions/.cursorrules +9 -9
  9. package/examples/instructions/.windsurfrules +9 -9
  10. package/examples/instructions/VOODOCS_INSTRUCTIONS.md +62 -74
  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 +95 -110
  23. package/lib/darkarts/annotations/TRANSFORMATION_EXAMPLES.md +27 -29
  24. package/lib/darkarts/annotations/parser.py +215 -36
  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/exceptions.py +3 -3
  35. package/lib/darkarts/parsers/typescript/dist/parser.d.ts +16 -0
  36. package/lib/darkarts/parsers/typescript/dist/parser.d.ts.map +1 -1
  37. package/lib/darkarts/parsers/typescript/dist/parser.js +64 -0
  38. package/lib/darkarts/parsers/typescript/dist/parser.js.map +1 -1
  39. package/lib/darkarts/parsers/typescript/src/parser.ts +68 -0
  40. package/lib/darkarts/plugins/voodocs/ai_native_plugin.py +1 -1
  41. package/lib/darkarts/plugins/voodocs/annotation_validator.py +2 -2
  42. package/lib/darkarts/plugins/voodocs/documentation_generator.py +3 -3
  43. package/lib/darkarts/plugins/voodocs/html_exporter.py +4 -4
  44. package/lib/darkarts/plugins/voodocs/instruction_generator.py +10 -10
  45. package/lib/darkarts/plugins/voodocs/pdf_exporter.py +1 -1
  46. package/lib/darkarts/plugins/voodocs/test_generator.py +1 -1
  47. package/lib/darkarts/telemetry.py +5 -5
  48. package/lib/darkarts/validation/README.md +3 -6
  49. package/package.json +1 -1
  50. package/requirements.txt +2 -2
  51. package/templates/ci/github-actions.yml +64 -64
  52. package/templates/ci/pre-commit-hook.sh +4 -4
  53. 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,7 +37,6 @@ voodocs init
37
37
  ```
38
38
 
39
39
  This will:
40
-
41
40
  - Create `.voodocs.json` configuration
42
41
  - Generate AI instructions for your coding assistant
43
42
  - Create example annotated files
@@ -96,34 +95,34 @@ def authenticate_user(user_id: str, password: str) -> Optional[str]:
96
95
 
97
96
  ### Module-Level Annotations
98
97
 
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}` |
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}` |
104
103
 
105
104
  ### Function-Level Annotations
106
105
 
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}` |
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}` |
114
113
 
115
114
  ### Logic Operators
116
115
 
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` |
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` |
127
126
 
128
127
  ---
129
128
 
@@ -131,7 +130,7 @@ def authenticate_user(user_id: str, password: str) -> Optional[str]:
131
130
 
132
131
  ### `voodocs init`
133
132
 
134
- Initialize Voodocs in your project with an interactive wizard:
133
+ Initialize VooDocs in your project with an interactive wizard:
135
134
 
136
135
  ```bash
137
136
  voodocs init # Interactive setup
@@ -198,7 +197,7 @@ voodocs benchmark ./src --html # HTML report
198
197
 
199
198
  ## Configuration
200
199
 
201
- The `.voodocs.json` file configures Voodocs for your project:
200
+ The `.voodocs.json` file configures VooDocs for your project:
202
201
 
203
202
  ```json
204
203
  {
@@ -207,7 +206,11 @@ The `.voodocs.json` file configures Voodocs for your project:
207
206
  "format": "darkarts",
208
207
  "repository": "https://github.com/user/my-project",
209
208
  "private": true,
210
- "exclude": ["node_modules", "dist", "build"]
209
+ "exclude": [
210
+ "node_modules",
211
+ "dist",
212
+ "build"
213
+ ]
211
214
  }
212
215
  ```
213
216
 
@@ -215,7 +218,7 @@ The `.voodocs.json` file configures Voodocs for your project:
215
218
 
216
219
  ## CI/CD Integration
217
220
 
218
- Add Voodocs validation to your CI pipeline:
221
+ Add VooDocs validation to your CI pipeline:
219
222
 
220
223
  ```yaml
221
224
  # .github/workflows/validate.yml
@@ -228,7 +231,7 @@ jobs:
228
231
  - uses: actions/checkout@v3
229
232
  - uses: actions/setup-node@v3
230
233
  with:
231
- node-version: "18"
234
+ node-version: '18'
232
235
  - run: npm install -g @voodocs/cli
233
236
  - run: voodocs validate ./src --strict --recursive
234
237
  ```
@@ -238,13 +241,10 @@ jobs:
238
241
  ## Why Symbolic Format?
239
242
 
240
243
  ### 1. **Concise**
241
-
242
244
  ```
243
245
  ⊳{userId ∈ database ∧ password ≥8 chars}
244
246
  ```
245
-
246
247
  vs.
247
-
248
248
  ```
249
249
  preconditions: [
250
250
  "userId must exist in database",
@@ -253,19 +253,15 @@ preconditions: [
253
253
  ```
254
254
 
255
255
  ### 2. **Precise**
256
-
257
256
  Mathematical notation eliminates ambiguity
258
257
 
259
258
  ### 3. **AI-Optimized**
260
-
261
259
  Fewer tokens = lower costs for AI processing
262
260
 
263
261
  ### 4. **Language-Independent**
264
-
265
262
  Symbols transcend language barriers
266
263
 
267
264
  ### 5. **Unique**
268
-
269
265
  Patent-pending innovation (VDA-004)
270
266
 
271
267
  ---
@@ -307,4 +303,4 @@ Commercial License - See [LICENSE](LICENSE) for details.
307
303
 
308
304
  ---
309
305
 
310
- **Voodocs** - The world's first AI-native symbolic documentation system.
306
+ **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,20 +46,16 @@ 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:
50
-
49
+ 1. **Initialize VooDocs** in your project:
51
50
  ```bash
52
51
  voodocs init
53
52
  ```
54
-
55
53
  This will create a `.voodocs/config.json` file.
56
54
 
57
55
  2. **Generate AI Instructions** for your coding assistant:
58
-
59
56
  ```bash
60
57
  voodocs instruct
61
58
  ```
62
-
63
59
  This creates a `VOODOCS_INSTRUCTIONS.md` file. Provide this to your AI assistant (e.g., add to `.cursorrules`).
64
60
 
65
61
  3. **Start Coding** with `@voodocs` annotations. Your AI assistant will help you write them.
@@ -76,16 +72,14 @@ This will make the `voodocs` command available in your terminal.
76
72
 
77
73
  ### `init`
78
74
 
79
- Initialize Voodocs in a project. Creates a `.voodocs/config.json` file.
75
+ Initialize VooDocs in a project. Creates a `.voodocs/config.json` file.
80
76
 
81
77
  **Usage**:
82
-
83
78
  ```bash
84
79
  voodocs init [--project-name <name>] [--language <lang>]
85
80
  ```
86
81
 
87
82
  **Arguments**:
88
-
89
83
  - `--project-name`: The name of the project (defaults to current directory name).
90
84
  - `--language`: The primary language of the project (`python`, `typescript`, `javascript`).
91
85
 
@@ -96,13 +90,11 @@ If arguments are not provided, `init` will run in interactive mode.
96
90
  Generate AI assistant instructions.
97
91
 
98
92
  **Usage**:
99
-
100
93
  ```bash
101
94
  voodocs instruct [--assistant <name>] [--output <file>]
102
95
  ```
103
96
 
104
97
  **Arguments**:
105
-
106
98
  - `--assistant`: The AI assistant to generate instructions for (`cursor`, `claude`, `copilot`, `windsurf`, `generic`).
107
99
  - `--output`: The output file path (defaults to `.cursorrules`, `.claude/instructions.md`, etc.).
108
100
 
@@ -111,13 +103,11 @@ voodocs instruct [--assistant <name>] [--output <file>]
111
103
  Generate docs, tests, and API specs from annotations.
112
104
 
113
105
  **Usage**:
114
-
115
106
  ```bash
116
107
  voodocs generate <path> [--output <dir>] [--docs-only] [--tests-only] [--api-only] [--verbose]
117
108
  ```
118
109
 
119
110
  **Arguments**:
120
-
121
111
  - `<path>`: The path to the source code to process.
122
112
  - `--output`: The output directory (defaults to `./voodocs-output`).
123
113
  - `--docs-only`: Generate only documentation.
@@ -130,13 +120,11 @@ voodocs generate <path> [--output <dir>] [--docs-only] [--tests-only] [--api-onl
130
120
  Show project status and statistics.
131
121
 
132
122
  **Usage**:
133
-
134
123
  ```bash
135
124
  voodocs status [<path>]
136
125
  ```
137
126
 
138
127
  **Output**:
139
-
140
128
  - Annotation coverage percentage
141
129
  - Quality score (0-100)
142
130
  - Breakdown of annotated vs. unannotated functions/classes
@@ -146,13 +134,11 @@ voodocs status [<path>]
146
134
  Watch files and automatically regenerate documentation on changes.
147
135
 
148
136
  **Usage**:
149
-
150
137
  ```bash
151
138
  voodocs watch <path> [--interval <seconds>]
152
139
  ```
153
140
 
154
141
  **Arguments**:
155
-
156
142
  - `<path>`: The path to watch for changes.
157
143
  - `--interval`: The watch interval in seconds (defaults to 2).
158
144
 
@@ -161,13 +147,11 @@ voodocs watch <path> [--interval <seconds>]
161
147
  Validate annotation quality and correctness.
162
148
 
163
149
  **Usage**:
164
-
165
150
  ```bash
166
151
  voodocs validate <path> [--strict] [--format <fmt>]
167
152
  ```
168
153
 
169
154
  **Arguments**:
170
-
171
155
  - `<path>`: The path to validate.
172
156
  - `--strict`: Treat warnings as errors.
173
157
  - `--format`: Output format (`text` or `json`).
@@ -177,13 +161,11 @@ voodocs validate <path> [--strict] [--format <fmt>]
177
161
  Check annotation coverage and quality (for CI/CD).
178
162
 
179
163
  **Usage**:
180
-
181
164
  ```bash
182
165
  voodocs check <path> [--min-coverage <pct>] [--min-quality <pct>]
183
166
  ```
184
167
 
185
168
  **Arguments**:
186
-
187
169
  - `<path>`: The path to check.
188
170
  - `--min-coverage`: The minimum required annotation coverage (0-100).
189
171
  - `--min-quality`: The minimum required quality score (0-100).
@@ -195,13 +177,11 @@ Exits with code 1 if checks fail.
195
177
  Export documentation to different formats.
196
178
 
197
179
  **Usage**:
198
-
199
180
  ```bash
200
181
  voodocs export <file> --format <fmt> [--output <file>]
201
182
  ```
202
183
 
203
184
  **Arguments**:
204
-
205
185
  - `<file>`: The Markdown documentation file to export.
206
186
  - `--format`: The export format (`html` or `pdf`).
207
187
  - `--output`: The output file path.
@@ -210,7 +190,7 @@ voodocs export <file> --format <fmt> [--output <file>]
210
190
 
211
191
  ## Configuration
212
192
 
213
- Voodocs is configured via the `.voodocs/config.json` file. The following options are available:
193
+ VooDocs is configured via the `.voodocs/config.json` file. The following options are available:
214
194
 
215
195
  ```json
216
196
  {
@@ -220,7 +200,10 @@ Voodocs is configured via the `.voodocs/config.json` file. The following options
220
200
  "output_dir": "./voodocs-output",
221
201
  "test_framework": "pytest",
222
202
  "api_format": "openapi",
223
- "exclude_patterns": ["**/test_*.py", "**/node_modules/**"],
203
+ "exclude_patterns": [
204
+ "**/test_*.py",
205
+ "**/node_modules/**"
206
+ ],
224
207
  "include_patterns": [],
225
208
  "annotation_coverage_threshold": 50
226
209
  }
@@ -233,7 +216,6 @@ Voodocs is configured via the `.voodocs/config.json` file. The following options
233
216
  ### Annotation Syntax
234
217
 
235
218
  **Python**:
236
-
237
219
  ```python
238
220
  def my_function(x):
239
221
  """
@@ -245,7 +227,6 @@ def my_function(x):
245
227
  ```
246
228
 
247
229
  **TypeScript/JavaScript**:
248
-
249
230
  ```typescript
250
231
  /**
251
232
  * @voodocs
@@ -259,20 +240,20 @@ function myFunction(x: number): number {
259
240
 
260
241
  ### Annotation Fields
261
242
 
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. |
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. |
276
257
 
277
258
  ### DarkArts Language
278
259
 
@@ -290,7 +271,6 @@ The DarkArts language is a formal notation used in annotations. It includes:
290
271
  ### Function with Invariants
291
272
 
292
273
  **Python**:
293
-
294
274
  ```python
295
275
  def transfer_funds(from_account, to_account, amount):
296
276
  """@voodocs
@@ -317,7 +297,6 @@ def transfer_funds(from_account, to_account, amount):
317
297
  ### Class with Invariants
318
298
 
319
299
  **Python**:
320
-
321
300
  ```python
322
301
  class BankAccount:
323
302
  """@voodocs
@@ -326,7 +305,7 @@ class BankAccount:
326
305
  "account_id is unique and immutable"
327
306
  ]
328
307
  """
329
-
308
+
330
309
  def deposit(self, amount):
331
310
  """@voodocs
332
311
  preconditions: ["amount > 0"]
@@ -348,9 +327,8 @@ See the `examples/` directory for more complete examples in Python and TypeScrip
348
327
  Use the `voodocs check` command in your CI/CD pipeline to enforce documentation standards.
349
328
 
350
329
  **GitHub Actions Example**:
351
-
352
330
  ```yaml
353
- name: Voodocs Check
331
+ name: VooDocs Check
354
332
 
355
333
  on: [push, pull_request]
356
334
 
@@ -375,9 +353,8 @@ jobs:
375
353
 
376
354
  **Problem**: TypeScript parser not working.
377
355
  **Solution**: The TypeScript parser is built automatically on `postinstall`. If it fails, you can build it manually:
378
-
379
356
  ```bash
380
- # Navigate to the Voodocs installation directory
357
+ # Navigate to the VooDocs installation directory
381
358
  cd $(npm root -g)/@voodocs/cli
382
359
 
383
360
  # 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.