@voodocs/cli 1.0.5 → 1.0.6
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
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
## v1.0.6 (2024-12-21)
|
|
2
|
+
|
|
3
|
+
### 🐛 Bug Fix: Missing Instructions Directory in npm Package
|
|
4
|
+
|
|
5
|
+
**Problem:** The `voodocs instruct` command failed with "Error: Instructions directory not found" because the `lib/darkarts/instructions/` directory was not included in the npm package.
|
|
6
|
+
|
|
7
|
+
**Root Cause:** The `instructions/` directory was not listed in the `files` array in `package.json`.
|
|
8
|
+
|
|
9
|
+
**Fix:** Added `lib/darkarts/instructions/` to the `files` array in `package.json`.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
### Changes
|
|
14
|
+
|
|
15
|
+
- Added `lib/darkarts/instructions/` to package.json `files` array
|
|
16
|
+
- Verified that all instruction templates are now included in the package:
|
|
17
|
+
- `claude.md`
|
|
18
|
+
- `cursor.md`
|
|
19
|
+
- `default.md`
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### Testing
|
|
24
|
+
|
|
25
|
+
| Test Case | Status |
|
|
26
|
+
|-----------|--------|
|
|
27
|
+
| Instructions directory included in package | ✅ Pass |
|
|
28
|
+
| `voodocs instruct --list-templates` | ✅ Pass |
|
|
29
|
+
| `voodocs instruct --ai cursor` | ✅ Pass |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### Upgrade
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm install -g @voodocs/cli@1.0.6
|
|
37
|
+
```
|
|
38
|
+
|
|
1
39
|
## v1.0.5 (2024-12-21)
|
|
2
40
|
|
|
3
41
|
### 🐛 Bug Fix: Instruct Command Import Error
|
package/lib/cli/__init__.py
CHANGED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Claude AI Instructions for Symbolic DarkArts Annotations
|
|
2
|
+
|
|
3
|
+
**Version:** 2.0
|
|
4
|
+
**Date:** December 21, 2024
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Primary Goal
|
|
9
|
+
|
|
10
|
+
Your primary goal is to **write and maintain symbolic DarkArts annotations** for all new and existing code. This ensures that our documentation is always up-to-date, accurate, and machine-readable.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 2. Annotation Format: Symbolic DarkArts
|
|
15
|
+
|
|
16
|
+
**Always use the symbolic DarkArts format.** Do not use the natural language `@voodocs` format.
|
|
17
|
+
|
|
18
|
+
### Correct Format
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
/**@darkarts
|
|
22
|
+
⊢{Module purpose}
|
|
23
|
+
∂{Dependencies}
|
|
24
|
+
⚠{Assumptions}
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**@darkarts
|
|
28
|
+
⊳{Preconditions}
|
|
29
|
+
⊲{Postconditions}
|
|
30
|
+
⊨{Invariants}
|
|
31
|
+
⚡{Side effects / Complexity}
|
|
32
|
+
🔒{Security implications}
|
|
33
|
+
*/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Incorrect Format (Do Not Use)
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
/**@voodocs
|
|
40
|
+
module_purpose: "..."
|
|
41
|
+
dependencies: [...]
|
|
42
|
+
*/
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. Key Rules
|
|
48
|
+
|
|
49
|
+
1. **Annotate Everything:** All modules, functions, classes, and interfaces must have a DarkArts annotation block.
|
|
50
|
+
2. **Use Symbolic Format Only:** Strictly adhere to the symbolic format (`⊢`, `∂`, `⚠`, `⊳`, `⊲`, `⊨`, `⚡`, `🔒`).
|
|
51
|
+
3. **Use Logic Symbols:** Use mathematical symbols for logic (`∧`, `∨`, `¬`, `∈`, `∃`, `∀`, `⇒`, `⇔`).
|
|
52
|
+
4. **Be Precise and Concise:** Annotations should be accurate and to the point.
|
|
53
|
+
5. **Validate Your Work:** After making changes, run `voodocs validate . --recursive` to ensure all annotations are correct.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 4. Symbol Quick Reference
|
|
58
|
+
|
|
59
|
+
| Symbol | Meaning | Symbol | Meaning |
|
|
60
|
+
|---|---|---|---|
|
|
61
|
+
| `⊢` | Module Purpose | `∧` | And |
|
|
62
|
+
| `∂` | Dependencies | `∨` | Or |
|
|
63
|
+
| `⚠` | Assumptions | `¬` | Not |
|
|
64
|
+
| `⊳` | Preconditions | `∈` | In |
|
|
65
|
+
| `⊲` | Postconditions | `∉` | Not In |
|
|
66
|
+
| `⊨` | Invariants | `∃` | Exists |
|
|
67
|
+
| `⚡` | Side Effects / Complexity | `∀` | For All |
|
|
68
|
+
| `🔒` | Security Implications | `⇒` | Implies |
|
|
69
|
+
| `⇔` | If and Only If | `⊤` | True |
|
|
70
|
+
| `⊥` | False | `∅` | Empty Set |
|
|
71
|
+
| `⊆` | Subset | `∪` | Union |
|
|
72
|
+
| `∩` | Intersection | | |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 5. Workflow
|
|
77
|
+
|
|
78
|
+
1. **When writing new code:** Add symbolic DarkArts annotations as you go.
|
|
79
|
+
2. **When modifying existing code:** Update the corresponding annotations to reflect your changes.
|
|
80
|
+
3. **Before committing:** Run `voodocs validate . --recursive` to catch any errors.
|
|
81
|
+
4. **If validation fails:** Run `voodocs fix . --recursive` to automatically fix common issues.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 6. Example: Adding a New Function
|
|
86
|
+
|
|
87
|
+
If you add a new function `getUserById`, you must add a symbolic annotation block:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
/**@darkarts
|
|
91
|
+
⊳{userId must be a valid UUID}
|
|
92
|
+
⊲{
|
|
93
|
+
Returns a user object if found
|
|
94
|
+
Returns null if ¬∃ user with that ID
|
|
95
|
+
}
|
|
96
|
+
⊨{Does ¬ modify the database}
|
|
97
|
+
⚡{O(1) lookup}
|
|
98
|
+
*/
|
|
99
|
+
export async function getUserById(userId: string): Promise<User | null> {
|
|
100
|
+
// ...
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 7. Example: Modifying a Module
|
|
107
|
+
|
|
108
|
+
If you add a new dependency to a module, update the `∂` field:
|
|
109
|
+
|
|
110
|
+
**Before:**
|
|
111
|
+
```typescript
|
|
112
|
+
/**@darkarts
|
|
113
|
+
⊢{User authentication service}
|
|
114
|
+
∂{jsonwebtoken}
|
|
115
|
+
*/
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**After (added bcrypt):**
|
|
119
|
+
```typescript
|
|
120
|
+
/**@darkarts
|
|
121
|
+
⊢{User authentication service}
|
|
122
|
+
∂{
|
|
123
|
+
jsonwebtoken: For JWT creation
|
|
124
|
+
bcrypt: For password hashing
|
|
125
|
+
}
|
|
126
|
+
*/
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 8. Important Commands
|
|
132
|
+
|
|
133
|
+
- **Validate:** `voodocs validate . --recursive`
|
|
134
|
+
- **Fix:** `voodocs fix . --recursive`
|
|
135
|
+
- **Generate Docs:** `voodocs generate . ./docs --recursive`
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
By following these instructions, you will help us maintain a high-quality, machine-readable, and self-validating codebase. Thank you for your contribution!
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Cursor AI Instructions for Symbolic DarkArts Annotations
|
|
2
|
+
|
|
3
|
+
**Version:** 2.0
|
|
4
|
+
**Date:** December 21, 2024
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Primary Goal
|
|
9
|
+
|
|
10
|
+
Your primary goal is to **write and maintain symbolic DarkArts annotations** for all new and existing code. This ensures that our documentation is always up-to-date, accurate, and machine-readable.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 2. Annotation Format: Symbolic DarkArts
|
|
15
|
+
|
|
16
|
+
**Always use the symbolic DarkArts format.** Do not use the natural language `@voodocs` format.
|
|
17
|
+
|
|
18
|
+
### Correct Format
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
/**@darkarts
|
|
22
|
+
⊢{Module purpose}
|
|
23
|
+
∂{Dependencies}
|
|
24
|
+
⚠{Assumptions}
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**@darkarts
|
|
28
|
+
⊳{Preconditions}
|
|
29
|
+
⊲{Postconditions}
|
|
30
|
+
⊨{Invariants}
|
|
31
|
+
⚡{Side effects / Complexity}
|
|
32
|
+
🔒{Security implications}
|
|
33
|
+
*/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Incorrect Format (Do Not Use)
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
/**@voodocs
|
|
40
|
+
module_purpose: "..."
|
|
41
|
+
dependencies: [...]
|
|
42
|
+
*/
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. Key Rules
|
|
48
|
+
|
|
49
|
+
1. **Annotate Everything:** All modules, functions, classes, and interfaces must have a DarkArts annotation block.
|
|
50
|
+
2. **Use Symbolic Format Only:** Strictly adhere to the symbolic format (`⊢`, `∂`, `⚠`, `⊳`, `⊲`, `⊨`, `⚡`, `🔒`).
|
|
51
|
+
3. **Use Logic Symbols:** Use mathematical symbols for logic (`∧`, `∨`, `¬`, `∈`, `∃`, `∀`, `⇒`, `⇔`).
|
|
52
|
+
4. **Be Precise and Concise:** Annotations should be accurate and to the point.
|
|
53
|
+
5. **Validate Your Work:** After making changes, run `voodocs validate . --recursive` to ensure all annotations are correct.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 4. Symbol Quick Reference
|
|
58
|
+
|
|
59
|
+
| Symbol | Meaning | Symbol | Meaning |
|
|
60
|
+
|---|---|---|---|
|
|
61
|
+
| `⊢` | Module Purpose | `∧` | And |
|
|
62
|
+
| `∂` | Dependencies | `∨` | Or |
|
|
63
|
+
| `⚠` | Assumptions | `¬` | Not |
|
|
64
|
+
| `⊳` | Preconditions | `∈` | In |
|
|
65
|
+
| `⊲` | Postconditions | `∉` | Not In |
|
|
66
|
+
| `⊨` | Invariants | `∃` | Exists |
|
|
67
|
+
| `⚡` | Side Effects / Complexity | `∀` | For All |
|
|
68
|
+
| `🔒` | Security Implications | `⇒` | Implies |
|
|
69
|
+
| `⇔` | If and Only If | `⊤` | True |
|
|
70
|
+
| `⊥` | False | `∅` | Empty Set |
|
|
71
|
+
| `⊆` | Subset | `∪` | Union |
|
|
72
|
+
| `∩` | Intersection | | |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 5. Workflow
|
|
77
|
+
|
|
78
|
+
1. **When writing new code:** Add symbolic DarkArts annotations as you go.
|
|
79
|
+
2. **When modifying existing code:** Update the corresponding annotations to reflect your changes.
|
|
80
|
+
3. **Before committing:** Run `voodocs validate . --recursive` to catch any errors.
|
|
81
|
+
4. **If validation fails:** Run `voodocs fix . --recursive` to automatically fix common issues.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 6. Example: Adding a New Function
|
|
86
|
+
|
|
87
|
+
If you add a new function `getUserById`, you must add a symbolic annotation block:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
/**@darkarts
|
|
91
|
+
⊳{userId must be a valid UUID}
|
|
92
|
+
⊲{
|
|
93
|
+
Returns a user object if found
|
|
94
|
+
Returns null if ¬∃ user with that ID
|
|
95
|
+
}
|
|
96
|
+
⊨{Does ¬ modify the database}
|
|
97
|
+
⚡{O(1) lookup}
|
|
98
|
+
*/
|
|
99
|
+
export async function getUserById(userId: string): Promise<User | null> {
|
|
100
|
+
// ...
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 7. Example: Modifying a Module
|
|
107
|
+
|
|
108
|
+
If you add a new dependency to a module, update the `∂` field:
|
|
109
|
+
|
|
110
|
+
**Before:**
|
|
111
|
+
```typescript
|
|
112
|
+
/**@darkarts
|
|
113
|
+
⊢{User authentication service}
|
|
114
|
+
∂{jsonwebtoken}
|
|
115
|
+
*/
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**After (added bcrypt):**
|
|
119
|
+
```typescript
|
|
120
|
+
/**@darkarts
|
|
121
|
+
⊢{User authentication service}
|
|
122
|
+
∂{
|
|
123
|
+
jsonwebtoken: For JWT creation
|
|
124
|
+
bcrypt: For password hashing
|
|
125
|
+
}
|
|
126
|
+
*/
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 8. Important Commands
|
|
132
|
+
|
|
133
|
+
- **Validate:** `voodocs validate . --recursive`
|
|
134
|
+
- **Fix:** `voodocs fix . --recursive`
|
|
135
|
+
- **Generate Docs:** `voodocs generate . ./docs --recursive`
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
By following these instructions, you will help us maintain a high-quality, machine-readable, and self-validating codebase. Thank you for your contribution!
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# AI Instructions for Symbolic DarkArts Annotations
|
|
2
|
+
|
|
3
|
+
**Version:** 2.0
|
|
4
|
+
**Date:** December 21, 2024
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Primary Goal
|
|
9
|
+
|
|
10
|
+
Your primary goal is to **write and maintain symbolic DarkArts annotations** for all new and existing code. This ensures that our documentation is always up-to-date, accurate, and machine-readable.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 2. Annotation Format: Symbolic DarkArts
|
|
15
|
+
|
|
16
|
+
**Always use the symbolic DarkArts format.** Do not use the natural language `@voodocs` format.
|
|
17
|
+
|
|
18
|
+
### Correct Format
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
/**@darkarts
|
|
22
|
+
⊢{Module purpose}
|
|
23
|
+
∂{Dependencies}
|
|
24
|
+
⚠{Assumptions}
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**@darkarts
|
|
28
|
+
⊳{Preconditions}
|
|
29
|
+
⊲{Postconditions}
|
|
30
|
+
⊨{Invariants}
|
|
31
|
+
⚡{Side effects / Complexity}
|
|
32
|
+
🔒{Security implications}
|
|
33
|
+
*/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Incorrect Format (Do Not Use)
|
|
37
|
+
|
|
38
|
+
```typescript
|
|
39
|
+
/**@voodocs
|
|
40
|
+
module_purpose: "..."
|
|
41
|
+
dependencies: [...]
|
|
42
|
+
*/
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. Key Rules
|
|
48
|
+
|
|
49
|
+
1. **Annotate Everything:** All modules, functions, classes, and interfaces must have a DarkArts annotation block.
|
|
50
|
+
2. **Use Symbolic Format Only:** Strictly adhere to the symbolic format (`⊢`, `∂`, `⚠`, `⊳`, `⊲`, `⊨`, `⚡`, `🔒`).
|
|
51
|
+
3. **Use Logic Symbols:** Use mathematical symbols for logic (`∧`, `∨`, `¬`, `∈`, `∃`, `∀`, `⇒`, `⇔`).
|
|
52
|
+
4. **Be Precise and Concise:** Annotations should be accurate and to the point.
|
|
53
|
+
5. **Validate Your Work:** After making changes, run `voodocs validate . --recursive` to ensure all annotations are correct.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 4. Symbol Quick Reference
|
|
58
|
+
|
|
59
|
+
| Symbol | Meaning | Symbol | Meaning |
|
|
60
|
+
|---|---|---|---|
|
|
61
|
+
| `⊢` | Module Purpose | `∧` | And |
|
|
62
|
+
| `∂` | Dependencies | `∨` | Or |
|
|
63
|
+
| `⚠` | Assumptions | `¬` | Not |
|
|
64
|
+
| `⊳` | Preconditions | `∈` | In |
|
|
65
|
+
| `⊲` | Postconditions | `∉` | Not In |
|
|
66
|
+
| `⊨` | Invariants | `∃` | Exists |
|
|
67
|
+
| `⚡` | Side Effects / Complexity | `∀` | For All |
|
|
68
|
+
| `🔒` | Security Implications | `⇒` | Implies |
|
|
69
|
+
| `⇔` | If and Only If | `⊤` | True |
|
|
70
|
+
| `⊥` | False | `∅` | Empty Set |
|
|
71
|
+
| `⊆` | Subset | `∪` | Union |
|
|
72
|
+
| `∩` | Intersection | | |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 5. Workflow
|
|
77
|
+
|
|
78
|
+
1. **When writing new code:** Add symbolic DarkArts annotations as you go.
|
|
79
|
+
2. **When modifying existing code:** Update the corresponding annotations to reflect your changes.
|
|
80
|
+
3. **Before committing:** Run `voodocs validate . --recursive` to catch any errors.
|
|
81
|
+
4. **If validation fails:** Run `voodocs fix . --recursive` to automatically fix common issues.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 6. Example: Adding a New Function
|
|
86
|
+
|
|
87
|
+
If you add a new function `getUserById`, you must add a symbolic annotation block:
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
/**@darkarts
|
|
91
|
+
⊳{userId must be a valid UUID}
|
|
92
|
+
⊲{
|
|
93
|
+
Returns a user object if found
|
|
94
|
+
Returns null if ¬∃ user with that ID
|
|
95
|
+
}
|
|
96
|
+
⊨{Does ¬ modify the database}
|
|
97
|
+
⚡{O(1) lookup}
|
|
98
|
+
*/
|
|
99
|
+
export async function getUserById(userId: string): Promise<User | null> {
|
|
100
|
+
// ...
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 7. Example: Modifying a Module
|
|
107
|
+
|
|
108
|
+
If you add a new dependency to a module, update the `∂` field:
|
|
109
|
+
|
|
110
|
+
**Before:**
|
|
111
|
+
```typescript
|
|
112
|
+
/**@darkarts
|
|
113
|
+
⊢{User authentication service}
|
|
114
|
+
∂{jsonwebtoken}
|
|
115
|
+
*/
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**After (added bcrypt):**
|
|
119
|
+
```typescript
|
|
120
|
+
/**@darkarts
|
|
121
|
+
⊢{User authentication service}
|
|
122
|
+
∂{
|
|
123
|
+
jsonwebtoken: For JWT creation
|
|
124
|
+
bcrypt: For password hashing
|
|
125
|
+
}
|
|
126
|
+
*/
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## 8. Important Commands
|
|
132
|
+
|
|
133
|
+
- **Validate:** `voodocs validate . --recursive`
|
|
134
|
+
- **Fix:** `voodocs fix . --recursive`
|
|
135
|
+
- **Generate Docs:** `voodocs generate . ./docs --recursive`
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
By following these instructions, you will help us maintain a high-quality, machine-readable, and self-validating codebase. Thank you for your contribution!
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voodocs/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "AI-Native Documentation System with Validation - The only documentation tool that validates your annotations and guarantees accuracy",
|
|
5
5
|
"main": "voodocs_cli.py",
|
|
6
6
|
"bin": {
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"lib/darkarts/context/",
|
|
59
59
|
"lib/darkarts/core/",
|
|
60
60
|
"lib/darkarts/validation/",
|
|
61
|
+
"lib/darkarts/instructions/",
|
|
61
62
|
"lib/darkarts/exceptions.py",
|
|
62
63
|
"lib/darkarts/telemetry.py",
|
|
63
64
|
"lib/darkarts/parsers/typescript/dist/",
|