@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
|
@@ -66,6 +66,22 @@ export declare class TypeScriptAnnotationParser {
|
|
|
66
66
|
* Parse an interface declaration
|
|
67
67
|
*/
|
|
68
68
|
private parseInterface;
|
|
69
|
+
/**
|
|
70
|
+
* Parse a variable statement that may contain function expressions or arrow functions
|
|
71
|
+
*/
|
|
72
|
+
private parseVariableStatement;
|
|
73
|
+
/**
|
|
74
|
+
* Extract parameters from a function expression or arrow function
|
|
75
|
+
*/
|
|
76
|
+
private extractParametersFromExpression;
|
|
77
|
+
/**
|
|
78
|
+
* Extract return type from a function expression or arrow function
|
|
79
|
+
*/
|
|
80
|
+
private extractReturnTypeFromExpression;
|
|
81
|
+
/**
|
|
82
|
+
* Check if a function expression or arrow function is async
|
|
83
|
+
*/
|
|
84
|
+
private isAsyncExpression;
|
|
69
85
|
/**
|
|
70
86
|
* Extract annotations from a node's JSDoc comments
|
|
71
87
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,UAAU,CAAC;IAC/B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,0BAA0B;IAIzB,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,UAAU,CAAS;gBAEP,QAAQ,EAAE,MAAM;IAUpC;;OAEG;IACI,KAAK,IAAI,WAAW;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,UAAU,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,UAAU,CAAC;IAC/B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,0BAA0B;IAIzB,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,UAAU,CAAS;gBAEP,QAAQ,EAAE,MAAM;IAUpC;;OAEG;IACI,KAAK,IAAI,WAAW;IAyC3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACH,OAAO,CAAC,UAAU;IA2BlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA6B9B;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAQvC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAOvC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2C3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAmElB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,aAAa;CAItB"}
|
|
@@ -74,6 +74,11 @@ class TypeScriptAnnotationParser {
|
|
|
74
74
|
result.functions.push(funcInfo);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
+
else if (ts.isVariableStatement(node)) {
|
|
78
|
+
// Handle arrow functions and function expressions
|
|
79
|
+
const funcInfos = this.parseVariableStatement(node);
|
|
80
|
+
result.functions.push(...funcInfos);
|
|
81
|
+
}
|
|
77
82
|
else if (ts.isInterfaceDeclaration(node)) {
|
|
78
83
|
const interfaceInfo = this.parseInterface(node);
|
|
79
84
|
if (interfaceInfo) {
|
|
@@ -172,6 +177,65 @@ class TypeScriptAnnotationParser {
|
|
|
172
177
|
is_exported: this.isExported(node)
|
|
173
178
|
};
|
|
174
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Parse a variable statement that may contain function expressions or arrow functions
|
|
182
|
+
*/
|
|
183
|
+
parseVariableStatement(node) {
|
|
184
|
+
const functions = [];
|
|
185
|
+
const isExported = this.isExported(node);
|
|
186
|
+
for (const declaration of node.declarationList.declarations) {
|
|
187
|
+
if (!ts.isVariableDeclaration(declaration))
|
|
188
|
+
continue;
|
|
189
|
+
if (!declaration.initializer)
|
|
190
|
+
continue;
|
|
191
|
+
const name = declaration.name.text;
|
|
192
|
+
if (!name)
|
|
193
|
+
continue;
|
|
194
|
+
// Check if the initializer is a function expression or arrow function
|
|
195
|
+
const init = declaration.initializer;
|
|
196
|
+
if (ts.isFunctionExpression(init) || ts.isArrowFunction(init)) {
|
|
197
|
+
functions.push({
|
|
198
|
+
name,
|
|
199
|
+
line: this.getLineNumber(declaration),
|
|
200
|
+
parameters: this.extractParametersFromExpression(init),
|
|
201
|
+
return_type: this.extractReturnTypeFromExpression(init),
|
|
202
|
+
annotations: this.extractAnnotations(node),
|
|
203
|
+
is_async: this.isAsyncExpression(init),
|
|
204
|
+
is_exported: isExported
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return functions;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Extract parameters from a function expression or arrow function
|
|
212
|
+
*/
|
|
213
|
+
extractParametersFromExpression(node) {
|
|
214
|
+
return node.parameters.map(param => {
|
|
215
|
+
const name = param.name.text;
|
|
216
|
+
const type = param.type ? `: ${param.type.getText(this.sourceFile)}` : '';
|
|
217
|
+
return `${name}${type}`;
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Extract return type from a function expression or arrow function
|
|
222
|
+
*/
|
|
223
|
+
extractReturnTypeFromExpression(node) {
|
|
224
|
+
if (node.type) {
|
|
225
|
+
return node.type.getText(this.sourceFile);
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Check if a function expression or arrow function is async
|
|
231
|
+
*/
|
|
232
|
+
isAsyncExpression(node) {
|
|
233
|
+
if (ts.canHaveModifiers(node)) {
|
|
234
|
+
const modifiers = ts.getModifiers(node);
|
|
235
|
+
return modifiers?.some((m) => m.kind === ts.SyntaxKind.AsyncKeyword) || false;
|
|
236
|
+
}
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
175
239
|
/**
|
|
176
240
|
* Extract annotations from a node's JSDoc comments
|
|
177
241
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,6 +86,10 @@ export class TypeScriptAnnotationParser {
|
|
|
86
86
|
if (funcInfo) {
|
|
87
87
|
result.functions.push(funcInfo);
|
|
88
88
|
}
|
|
89
|
+
} else if (ts.isVariableStatement(node)) {
|
|
90
|
+
// Handle arrow functions and function expressions
|
|
91
|
+
const funcInfos = this.parseVariableStatement(node);
|
|
92
|
+
result.functions.push(...funcInfos);
|
|
89
93
|
} else if (ts.isInterfaceDeclaration(node)) {
|
|
90
94
|
const interfaceInfo = this.parseInterface(node);
|
|
91
95
|
if (interfaceInfo) {
|
|
@@ -195,6 +199,70 @@ export class TypeScriptAnnotationParser {
|
|
|
195
199
|
};
|
|
196
200
|
}
|
|
197
201
|
|
|
202
|
+
/**
|
|
203
|
+
* Parse a variable statement that may contain function expressions or arrow functions
|
|
204
|
+
*/
|
|
205
|
+
private parseVariableStatement(node: ts.VariableStatement): FunctionInfo[] {
|
|
206
|
+
const functions: FunctionInfo[] = [];
|
|
207
|
+
const isExported = this.isExported(node);
|
|
208
|
+
|
|
209
|
+
for (const declaration of node.declarationList.declarations) {
|
|
210
|
+
if (!ts.isVariableDeclaration(declaration)) continue;
|
|
211
|
+
if (!declaration.initializer) continue;
|
|
212
|
+
|
|
213
|
+
const name = (declaration.name as ts.Identifier).text;
|
|
214
|
+
if (!name) continue;
|
|
215
|
+
|
|
216
|
+
// Check if the initializer is a function expression or arrow function
|
|
217
|
+
const init = declaration.initializer;
|
|
218
|
+
if (ts.isFunctionExpression(init) || ts.isArrowFunction(init)) {
|
|
219
|
+
functions.push({
|
|
220
|
+
name,
|
|
221
|
+
line: this.getLineNumber(declaration),
|
|
222
|
+
parameters: this.extractParametersFromExpression(init),
|
|
223
|
+
return_type: this.extractReturnTypeFromExpression(init),
|
|
224
|
+
annotations: this.extractAnnotations(node),
|
|
225
|
+
is_async: this.isAsyncExpression(init),
|
|
226
|
+
is_exported: isExported
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
return functions;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Extract parameters from a function expression or arrow function
|
|
236
|
+
*/
|
|
237
|
+
private extractParametersFromExpression(node: ts.FunctionExpression | ts.ArrowFunction): string[] {
|
|
238
|
+
return node.parameters.map(param => {
|
|
239
|
+
const name = (param.name as ts.Identifier).text;
|
|
240
|
+
const type = param.type ? `: ${param.type.getText(this.sourceFile)}` : '';
|
|
241
|
+
return `${name}${type}`;
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Extract return type from a function expression or arrow function
|
|
247
|
+
*/
|
|
248
|
+
private extractReturnTypeFromExpression(node: ts.FunctionExpression | ts.ArrowFunction): string | null {
|
|
249
|
+
if (node.type) {
|
|
250
|
+
return node.type.getText(this.sourceFile);
|
|
251
|
+
}
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Check if a function expression or arrow function is async
|
|
257
|
+
*/
|
|
258
|
+
private isAsyncExpression(node: ts.FunctionExpression | ts.ArrowFunction): boolean {
|
|
259
|
+
if (ts.canHaveModifiers(node)) {
|
|
260
|
+
const modifiers = ts.getModifiers(node);
|
|
261
|
+
return modifiers?.some((m: ts.Modifier) => m.kind === ts.SyntaxKind.AsyncKeyword) || false;
|
|
262
|
+
}
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
|
|
198
266
|
/**
|
|
199
267
|
* Extract annotations from a node's JSDoc comments
|
|
200
268
|
*/
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{read-only:source,write:docs-output,¬network,¬arbitrary-exec}
|
|
7
7
|
⚡{O(n)|n=source-lines,ast-parsing:linear}
|
|
8
8
|
|
|
9
|
-
AI-Native
|
|
9
|
+
AI-Native VooDocs Plugin for DarkArts
|
|
10
10
|
|
|
11
11
|
Enhanced documentation plugin supporting:
|
|
12
12
|
- @voodocs annotation parsing (AI-native documentation)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{read-only:annotations,¬file-io,¬network,¬exec}
|
|
7
7
|
⚡{O(n)|n=annotations,validation:linear}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VooDocs Annotation Validator
|
|
10
10
|
|
|
11
11
|
Quality assurance for @voodocs annotations with:
|
|
12
12
|
- Syntax validation (correct format and structure)
|
|
@@ -40,7 +40,7 @@ class ValidationIssue:
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
class AnnotationValidator:
|
|
43
|
-
"""Validates
|
|
43
|
+
"""Validates VooDocs annotations."""
|
|
44
44
|
|
|
45
45
|
VALID_FIELDS = {
|
|
46
46
|
"module_purpose", "dependencies", "assumptions", "security_model",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{read-only:annotations,write:docs-dir,¬network,¬exec}
|
|
7
7
|
⚡{O(n)|n=annotations,translation:linear}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VooDocs Documentation Generator
|
|
10
10
|
|
|
11
11
|
Translates @voodocs annotations (DarkArts language) into human-readable documentation with:
|
|
12
12
|
- Mathematical symbol translation (∀, ∃, ∈, → natural language)
|
|
@@ -588,8 +588,8 @@ class DocumentationGenerator:
|
|
|
588
588
|
color = "green" if coverage >= 80 else "yellow" if coverage >= 50 else "red"
|
|
589
589
|
badges.append(f"")
|
|
590
590
|
|
|
591
|
-
#
|
|
592
|
-
badges.append("")
|
|
593
593
|
|
|
594
594
|
# Language badge
|
|
595
595
|
lang = parsed.language.value if hasattr(parsed.language, 'value') else str(parsed.language)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{read:markdown-files,write:html-files,¬network,¬exec}
|
|
7
7
|
⚡{O(n)|n=markdown-length,conversion:linear}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VooDocs HTML Exporter
|
|
10
10
|
|
|
11
11
|
Markdown to HTML conversion with styling:
|
|
12
12
|
- Markdown parsing (markdown library or fallback)
|
|
@@ -102,7 +102,7 @@ class HTMLExporter:
|
|
|
102
102
|
<head>
|
|
103
103
|
<meta charset="UTF-8">
|
|
104
104
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
105
|
-
<title>{title} -
|
|
105
|
+
<title>{title} - VooDocs Documentation</title>
|
|
106
106
|
<style>
|
|
107
107
|
{self.css}
|
|
108
108
|
</style>
|
|
@@ -111,13 +111,13 @@ class HTMLExporter:
|
|
|
111
111
|
<div class="container">
|
|
112
112
|
<header>
|
|
113
113
|
<h1 class="voodocs-title">{title}</h1>
|
|
114
|
-
<p class="voodocs-subtitle">Generated by
|
|
114
|
+
<p class="voodocs-subtitle">Generated by VooDocs</p>
|
|
115
115
|
</header>
|
|
116
116
|
<main>
|
|
117
117
|
{content}
|
|
118
118
|
</main>
|
|
119
119
|
<footer>
|
|
120
|
-
<p>Documentation generated with <a href="https://voodocs.dev">
|
|
120
|
+
<p>Documentation generated with <a href="https://voodocs.dev">VooDocs</a></p>
|
|
121
121
|
</footer>
|
|
122
122
|
</div>
|
|
123
123
|
</body>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{write:config-files}
|
|
7
7
|
⚡{O(n):instruction-generation|template-based}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VooDocs AI Instruction Generator
|
|
10
10
|
|
|
11
11
|
Generates instruction files that teach AI coding assistants (Cursor, Claude Code, etc.)
|
|
12
12
|
how to use @voodocs annotations while writing code.
|
|
@@ -18,7 +18,7 @@ import json
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
class InstructionGenerator:
|
|
21
|
-
"""Generates AI assistant instruction files for
|
|
21
|
+
"""Generates AI assistant instruction files for VooDocs."""
|
|
22
22
|
|
|
23
23
|
# Supported AI assistants
|
|
24
24
|
ASSISTANTS = {
|
|
@@ -126,10 +126,10 @@ class InstructionGenerator:
|
|
|
126
126
|
|
|
127
127
|
def _generate_header(self) -> str:
|
|
128
128
|
"""Generate instruction header."""
|
|
129
|
-
return f"""#
|
|
129
|
+
return f"""# VooDocs Instructions for {self.assistant_info['name']}
|
|
130
130
|
|
|
131
131
|
**Project**: {self.project_name}
|
|
132
|
-
**Generated**: Automatically by
|
|
132
|
+
**Generated**: Automatically by VooDocs
|
|
133
133
|
**Purpose**: Guide AI assistants to document code using @voodocs annotations
|
|
134
134
|
|
|
135
135
|
---"""
|
|
@@ -138,7 +138,7 @@ class InstructionGenerator:
|
|
|
138
138
|
"""Generate overview section."""
|
|
139
139
|
return """## Overview
|
|
140
140
|
|
|
141
|
-
|
|
141
|
+
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.
|
|
142
142
|
|
|
143
143
|
**Key Benefits:**
|
|
144
144
|
- Document in AI's native language (mathematical notation)
|
|
@@ -154,7 +154,7 @@ As an AI coding assistant, you should add `@voodocs` annotations to **every sign
|
|
|
154
154
|
"""Generate core principles section."""
|
|
155
155
|
return """## Core Principles
|
|
156
156
|
|
|
157
|
-
When writing code with
|
|
157
|
+
When writing code with VooDocs annotations, follow these principles:
|
|
158
158
|
|
|
159
159
|
1. **Annotate as you code** - Add `@voodocs` annotations immediately when creating functions/classes
|
|
160
160
|
2. **Be precise** - Use mathematical notation for exact specifications
|
|
@@ -310,7 +310,7 @@ DarkArts is a mathematical notation language for precise specifications. Use the
|
|
|
310
310
|
| `ℤ` | Integers (..., -1, 0, 1, ...) | `x ∈ ℤ` |
|
|
311
311
|
| `ℝ` | Real numbers | `x ∈ ℝ` |
|
|
312
312
|
|
|
313
|
-
**Tip**: You can use plain English too!
|
|
313
|
+
**Tip**: You can use plain English too! VooDocs understands both mathematical notation and natural language. Mix them for clarity."""
|
|
314
314
|
|
|
315
315
|
def _generate_examples(self, language: str) -> str:
|
|
316
316
|
"""Generate example annotations."""
|
|
@@ -554,7 +554,7 @@ complexity: "O(1)"
|
|
|
554
554
|
\"\"\"
|
|
555
555
|
```
|
|
556
556
|
|
|
557
|
-
|
|
557
|
+
VooDocs generates:
|
|
558
558
|
|
|
559
559
|
```python
|
|
560
560
|
# Generated test
|
|
@@ -611,7 +611,7 @@ complexity: "O(n log n)"
|
|
|
611
611
|
|
|
612
612
|
**Also Good:**
|
|
613
613
|
```python
|
|
614
|
-
complexity: "O(n)" #
|
|
614
|
+
complexity: "O(n)" # VooDocs infers space as O(1)
|
|
615
615
|
```
|
|
616
616
|
|
|
617
617
|
### 4. Document Security Implications
|
|
@@ -678,7 +678,7 @@ side_effects: ["Does stuff"] # Too vague
|
|
|
678
678
|
|
|
679
679
|
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.
|
|
680
680
|
|
|
681
|
-
**Generated by
|
|
681
|
+
**Generated by VooDocs** - AI-native documentation for modern development."""
|
|
682
682
|
|
|
683
683
|
def detect_assistant(self) -> Optional[str]:
|
|
684
684
|
"""
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{read:markdown-files,write:pdf-files,¬network,¬exec}
|
|
7
7
|
⚡{O(n)|n=markdown-length,pdf-rendering:depends-on-lib}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VooDocs PDF Exporter
|
|
10
10
|
|
|
11
11
|
Markdown to PDF conversion with print-ready formatting:
|
|
12
12
|
- WeasyPrint support (HTML → PDF with CSS)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{read-only:annotations,write:test-files,¬network,¬exec}
|
|
7
7
|
⚡{O(n)|n=functions,codegen:linear}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VooDocs Test Generator
|
|
10
10
|
|
|
11
11
|
Automatic test generation from @voodocs annotations with:
|
|
12
12
|
- Precondition tests (validate inputs match declared constraints)
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
🔒{⚠️NETWORK:supabase-api,write:config-dir,¬sensitive-data,anonymous-only}
|
|
7
7
|
⚡{O(1):event-creation,network:async-non-blocking}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
VooDocs Telemetry Client
|
|
10
10
|
|
|
11
11
|
Privacy-respecting anonymous usage analytics with:
|
|
12
12
|
- Anonymous session IDs (UUID-based, no PII)
|
|
@@ -32,11 +32,11 @@ import urllib.error
|
|
|
32
32
|
SUPABASE_URL = os.getenv("VOODOCS_SUPABASE_URL", "https://sjatkayudkbkmipubhfy.supabase.co")
|
|
33
33
|
SUPABASE_ANON_KEY = os.getenv("VOODOCS_SUPABASE_ANON_KEY", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InNqYXRrYXl1ZGtia21pcHViaGZ5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NjYxNjE0MTMsImV4cCI6MjA4MTczNzQxM30.Wj3dbokjKPsmWTgbPw77aPnCoZCsE5hrFfIH-R_ErzI")
|
|
34
34
|
|
|
35
|
-
#
|
|
35
|
+
# VooDocs version
|
|
36
36
|
VERSION = "0.1.2"
|
|
37
37
|
|
|
38
38
|
class TelemetryClient:
|
|
39
|
-
"""Anonymous telemetry client for
|
|
39
|
+
"""Anonymous telemetry client for VooDocs CLI."""
|
|
40
40
|
|
|
41
41
|
def __init__(self):
|
|
42
42
|
self.session_id = self._get_or_create_session_id()
|
|
@@ -90,9 +90,9 @@ class TelemetryClient:
|
|
|
90
90
|
|
|
91
91
|
if not notice_file.exists():
|
|
92
92
|
print("\n" + "="*70)
|
|
93
|
-
print("📊
|
|
93
|
+
print("📊 VooDocs Telemetry")
|
|
94
94
|
print("="*70)
|
|
95
|
-
print("
|
|
95
|
+
print("VooDocs collects anonymous usage data to improve the product.")
|
|
96
96
|
print("No personal information is collected.")
|
|
97
97
|
print()
|
|
98
98
|
print("To disable telemetry:")
|
|
@@ -7,15 +7,14 @@ This module provides validation tools for @darkarts annotations.
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
9
9
|
The validation module ensures that @darkarts annotations are accurate and up-to-date by:
|
|
10
|
-
|
|
11
10
|
- **Semantic Validation**: Verifying dependencies match actual imports
|
|
12
|
-
- **Performance Validation**: Checking complexity claims match code structure
|
|
11
|
+
- **Performance Validation**: Checking complexity claims match code structure
|
|
13
12
|
- **Benchmarking**: Measuring actual performance to validate claims
|
|
14
13
|
- **Auto-fix**: Automatically correcting validation issues
|
|
15
14
|
|
|
16
15
|
## Installation
|
|
17
16
|
|
|
18
|
-
The validation module is part of the
|
|
17
|
+
The validation module is part of the VooDocs package:
|
|
19
18
|
|
|
20
19
|
```bash
|
|
21
20
|
pip install voodocs
|
|
@@ -118,13 +117,11 @@ validation/
|
|
|
118
117
|
## Next Steps
|
|
119
118
|
|
|
120
119
|
**Phase 2**: CLI Integration (Week 2)
|
|
121
|
-
|
|
122
120
|
- Integrate into `voodocs` CLI
|
|
123
121
|
- Add `voodocs validate` command
|
|
124
122
|
- Add `--validate` flag to `voodocs generate`
|
|
125
123
|
|
|
126
124
|
**Phase 3**: Advanced Features (Week 3)
|
|
127
|
-
|
|
128
125
|
- Watch mode integration
|
|
129
126
|
- Configuration file support
|
|
130
127
|
- HTML/JSON reports
|
|
@@ -147,4 +144,4 @@ See `../../docs/darkarts/CODE_REVIEW_PROCESS.md` for contribution guidelines.
|
|
|
147
144
|
|
|
148
145
|
## License
|
|
149
146
|
|
|
150
|
-
Part of
|
|
147
|
+
Part of VooDocs - see repository root for license.
|
package/package.json
CHANGED
package/requirements.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# VooDocs Python Dependencies
|
|
2
2
|
# Python 3.7+ required
|
|
3
3
|
# Install with: pip3 install -r requirements.txt
|
|
4
4
|
|
|
@@ -9,5 +9,5 @@ PyYAML>=6.0.0
|
|
|
9
9
|
# pytest>=7.0.0 # For running unit tests
|
|
10
10
|
# hypothesis>=6.0.0 # For property-based testing (used in generated tests)
|
|
11
11
|
|
|
12
|
-
# Note:
|
|
12
|
+
# Note: VooDocs core uses only Python standard library.
|
|
13
13
|
# PyYAML is the only required external dependency for API spec generation.
|