@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
@@ -16,7 +16,7 @@ This module provides the command-line interface for VooDocs.
16
16
  import click
17
17
  from typing import Optional
18
18
 
19
- __version__ = "2.1.1"
19
+ __version__ = "2.1.3"
20
20
 
21
21
 
22
22
  @click.group()
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 file."""
542
- cli_dir = Path(__file__).parent
543
- template_path = cli_dir.parent / 'darkarts' / 'instructions' / f'{ai_type}.md'
541
+ """Generate AI instructions and skills using the full AI integrations system."""
542
+ import sys
543
+ from pathlib import Path
544
544
 
545
- if not template_path.exists():
546
- template_path = cli_dir.parent / 'darkarts' / 'instructions' / 'default.md'
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 not template_path.exists():
549
- return
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
- instructions = template_path.read_text()
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
- if ai_type == 'cursor':
554
- output_file = cwd / '.cursorrules'
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
- output_file.write_text(instructions)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voodocs/cli",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "description": "AI-Native Symbolic Documentation System - The world's first documentation tool using mathematical notation with semantic validation",
5
5
  "main": "voodocs_cli.py",
6
6
  "bin": {