@voodocs/cli 2.1.1 → 2.1.3
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,25 @@
|
|
|
1
|
+
## [2.1.2] - 2025-12-21
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
## [2.1.3] - 2025-12-21
|
|
5
|
+
|
|
6
|
+
### Added
|
|
7
|
+
- Full AI integration system wired to `voodocs init`
|
|
8
|
+
- Claude Code skill generation (`.claude/skills/voodocs-context/`)
|
|
9
|
+
- Automatic instructions.md generation with context reference
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- Context generation bug (write_context_yaml import issue)
|
|
13
|
+
- AI integration parameter order
|
|
14
|
+
- Claude integration now generates both skill and instructions
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- `voodocs init` now sets up complete AI integration in one command
|
|
18
|
+
- No need for separate `voodocs instruct` command
|
|
19
|
+
|
|
20
|
+
- Context generation error: "cannot access local variable 'write_context_yaml'"
|
|
21
|
+
- Moved yaml_utils import to function scope to ensure availability
|
|
22
|
+
|
|
1
23
|
## [2.1.1] - 2025-12-21
|
|
2
24
|
|
|
3
25
|
### Fixed
|
package/lib/cli/__init__.py
CHANGED
package/lib/cli/init.py
CHANGED
|
@@ -538,28 +538,37 @@ def _add_to_gitignore(cwd: Path, entry: str):
|
|
|
538
538
|
|
|
539
539
|
|
|
540
540
|
def _generate_ai_instructions(cwd: Path, ai_type: str, format_type: str):
|
|
541
|
-
"""Generate AI instructions
|
|
542
|
-
|
|
543
|
-
|
|
541
|
+
"""Generate AI instructions and skills using the full AI integrations system."""
|
|
542
|
+
import sys
|
|
543
|
+
from pathlib import Path
|
|
544
544
|
|
|
545
|
-
|
|
546
|
-
|
|
545
|
+
# Import AI integrations module
|
|
546
|
+
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
547
|
+
from darkarts.context.ai_integrations import generate_ai_integration
|
|
547
548
|
|
|
548
|
-
if
|
|
549
|
-
|
|
549
|
+
# Get project info from config if it exists
|
|
550
|
+
config_path = cwd / '.voodocs.json'
|
|
551
|
+
project_name = cwd.name
|
|
552
|
+
project_purpose = "Project documentation and context"
|
|
550
553
|
|
|
551
|
-
|
|
554
|
+
if config_path.exists():
|
|
555
|
+
import json
|
|
556
|
+
try:
|
|
557
|
+
config = json.loads(config_path.read_text())
|
|
558
|
+
if 'project' in config:
|
|
559
|
+
project_name = config['project'].get('name', project_name)
|
|
560
|
+
project_purpose = config['project'].get('purpose', project_purpose)
|
|
561
|
+
except:
|
|
562
|
+
pass
|
|
552
563
|
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
elif ai_type == 'claude':
|
|
556
|
-
output_dir = cwd / '.claude'
|
|
557
|
-
output_dir.mkdir(exist_ok=True)
|
|
558
|
-
output_file = output_dir / 'instructions.md'
|
|
559
|
-
else:
|
|
560
|
-
output_file = cwd / 'AI_INSTRUCTIONS.md'
|
|
564
|
+
# Generate full AI integration (instructions + skills)
|
|
565
|
+
files = generate_ai_integration(project_name, project_purpose, ai_type)
|
|
561
566
|
|
|
562
|
-
|
|
567
|
+
# Write all generated files
|
|
568
|
+
for file_path, content in files.items():
|
|
569
|
+
full_path = cwd / file_path
|
|
570
|
+
full_path.parent.mkdir(parents=True, exist_ok=True)
|
|
571
|
+
full_path.write_text(content)
|
|
563
572
|
|
|
564
573
|
|
|
565
574
|
def _create_voodocs_examples(examples_dir: Path):
|
|
@@ -137,8 +137,16 @@ voodocs context check
|
|
|
137
137
|
- Check context before architectural decisions
|
|
138
138
|
"""
|
|
139
139
|
|
|
140
|
+
# Read the Claude instructions template
|
|
141
|
+
from pathlib import Path
|
|
142
|
+
template_path = Path(__file__).parent.parent / 'instructions' / 'claude.md'
|
|
143
|
+
instructions_md = ""
|
|
144
|
+
if template_path.exists():
|
|
145
|
+
instructions_md = template_path.read_text()
|
|
146
|
+
|
|
140
147
|
return {
|
|
141
|
-
".claude/skills/voodocs-context/SKILL.md": skill_md
|
|
148
|
+
".claude/skills/voodocs-context/SKILL.md": skill_md,
|
|
149
|
+
".claude/instructions.md": instructions_md
|
|
142
150
|
}
|
|
143
151
|
|
|
144
152
|
|
|
@@ -1198,6 +1198,7 @@ def cmd_context_generate(source_dir: Optional[str] = None, update_existing: bool
|
|
|
1198
1198
|
"""
|
|
1199
1199
|
from pathlib import Path
|
|
1200
1200
|
import sys
|
|
1201
|
+
from .yaml_utils import write_context_yaml
|
|
1201
1202
|
|
|
1202
1203
|
try:
|
|
1203
1204
|
# Determine source directory
|
|
@@ -1291,7 +1292,6 @@ def cmd_context_generate(source_dir: Optional[str] = None, update_existing: bool
|
|
|
1291
1292
|
project_purpose="Auto-generated from @darkarts annotations",
|
|
1292
1293
|
code_version="1.0.0"
|
|
1293
1294
|
)
|
|
1294
|
-
from .yaml_utils import write_context_yaml
|
|
1295
1295
|
context_path = get_context_file_path()
|
|
1296
1296
|
write_context_yaml(minimal_context, context_path)
|
|
1297
1297
|
info(f"Created context file: {context_path}")
|
package/package.json
CHANGED