aircana 3.2.1 → 4.0.0.rc2
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.
- checksums.yaml +4 -4
- data/.rspec_status +168 -153
- data/CHANGELOG.md +55 -0
- data/CLAUDE.md +50 -39
- data/README.md +70 -76
- data/lib/aircana/cli/app.rb +16 -21
- data/lib/aircana/cli/commands/generate.rb +0 -12
- data/lib/aircana/cli/commands/kb.rb +590 -0
- data/lib/aircana/cli/help_formatter.rb +5 -4
- data/lib/aircana/configuration.rb +13 -28
- data/lib/aircana/contexts/confluence.rb +55 -24
- data/lib/aircana/contexts/confluence_content.rb +48 -5
- data/lib/aircana/contexts/local.rb +8 -9
- data/lib/aircana/contexts/manifest.rb +46 -34
- data/lib/aircana/contexts/web.rb +47 -17
- data/lib/aircana/generators/skills_generator.rb +194 -0
- data/lib/aircana/templates/skills/base_skill.erb +12 -0
- data/lib/aircana/version.rb +1 -1
- metadata +4 -18
- data/lib/aircana/cli/commands/agents.rb +0 -733
- data/lib/aircana/generators/agents_generator.rb +0 -79
- data/lib/aircana/templates/agents/base_agent.erb +0 -31
- data/lib/aircana/templates/agents/defaults/apply_feedback.erb +0 -91
- data/lib/aircana/templates/agents/defaults/executor.erb +0 -84
- data/lib/aircana/templates/agents/defaults/jira.erb +0 -45
- data/lib/aircana/templates/agents/defaults/planner.erb +0 -63
- data/lib/aircana/templates/agents/defaults/reviewer.erb +0 -94
- data/lib/aircana/templates/agents/defaults/sub-agent-coordinator.erb +0 -90
- data/lib/aircana/templates/hooks/refresh_agents.erb +0 -66
- data/lib/aircana/templates/hooks/sync_local_knowledge.erb +0 -86
- data/spec_target_1760656566_428/agents/test-agent/manifest.json +0 -16
- data/spec_target_1760656588_38/agents/test-agent/manifest.json +0 -16
- data/spec_target_1760656647_612/agents/test-agent/manifest.json +0 -16
- data/spec_target_1760656660_113/agents/test-agent/manifest.json +0 -16
- data/spec_target_1760656689_268/agents/test-agent/manifest.json +0 -16
- data/spec_target_1760656710_387/agents/test-agent/manifest.json +0 -16
@@ -1,86 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
# Sync local agent knowledge bases to ~/.claude on session start
|
3
|
-
# Compatible with macOS and Linux
|
4
|
-
|
5
|
-
set -e
|
6
|
-
|
7
|
-
# Create log directory
|
8
|
-
mkdir -p ~/.aircana
|
9
|
-
LOG_FILE="$HOME/.aircana/hooks.log"
|
10
|
-
|
11
|
-
# Get plugin root from environment
|
12
|
-
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT}"
|
13
|
-
|
14
|
-
if [ -z "$PLUGIN_ROOT" ]; then
|
15
|
-
echo "$(date): Warning - CLAUDE_PLUGIN_ROOT not set, skipping knowledge sync" >> "$LOG_FILE"
|
16
|
-
echo "{}"
|
17
|
-
exit 0
|
18
|
-
fi
|
19
|
-
|
20
|
-
# Source: version-controlled local knowledge in plugin
|
21
|
-
# Target: ~/.claude/agents/<plugin-name>-<agent-name>/knowledge/
|
22
|
-
LOCAL_AGENTS_DIR="${PLUGIN_ROOT}/agents"
|
23
|
-
CLAUDE_AGENTS_DIR="$HOME/.claude/agents"
|
24
|
-
|
25
|
-
# Only proceed if agents directory exists
|
26
|
-
if [ ! -d "$LOCAL_AGENTS_DIR" ]; then
|
27
|
-
echo "{}"
|
28
|
-
exit 0
|
29
|
-
fi
|
30
|
-
|
31
|
-
# Read plugin name from plugin.json
|
32
|
-
PLUGIN_NAME=$(grep -o '"name"[[:space:]]*:[[:space:]]*"[^"]*"' "${PLUGIN_ROOT}/.claude-plugin/plugin.json" | head -1 | sed 's/.*: *"\([^"]*\)".*/\1/')
|
33
|
-
|
34
|
-
if [ -z "$PLUGIN_NAME" ]; then
|
35
|
-
echo "$(date): Warning - Could not read plugin name" >> "$LOG_FILE"
|
36
|
-
echo "{}"
|
37
|
-
exit 0
|
38
|
-
fi
|
39
|
-
|
40
|
-
SYNCED_COUNT=0
|
41
|
-
|
42
|
-
# Iterate through each agent directory
|
43
|
-
for agent_dir in "$LOCAL_AGENTS_DIR"/*; do
|
44
|
-
if [ ! -d "$agent_dir" ]; then
|
45
|
-
continue
|
46
|
-
fi
|
47
|
-
|
48
|
-
agent_name=$(basename "$agent_dir")
|
49
|
-
manifest_file="${agent_dir}/manifest.json"
|
50
|
-
|
51
|
-
# Check if manifest exists and has kb_type: local
|
52
|
-
if [ -f "$manifest_file" ]; then
|
53
|
-
kb_type=$(grep -o '"kb_type"[[:space:]]*:[[:space:]]*"[^"]*"' "$manifest_file" | sed 's/.*: *"\([^"]*\)".*/\1/')
|
54
|
-
|
55
|
-
if [ "$kb_type" = "local" ]; then
|
56
|
-
# Source: version-controlled knowledge in plugin
|
57
|
-
source_knowledge="${agent_dir}/knowledge"
|
58
|
-
|
59
|
-
# Target: ~/.claude/agents/<plugin-name>-<agent-name>/knowledge/
|
60
|
-
target_knowledge="${CLAUDE_AGENTS_DIR}/${PLUGIN_NAME}-${agent_name}/knowledge"
|
61
|
-
|
62
|
-
if [ -d "$source_knowledge" ]; then
|
63
|
-
# Create target directory
|
64
|
-
mkdir -p "$target_knowledge"
|
65
|
-
|
66
|
-
# Sync knowledge files (rsync if available, fallback to cp)
|
67
|
-
if command -v rsync &> /dev/null; then
|
68
|
-
rsync -a --delete "$source_knowledge/" "$target_knowledge/"
|
69
|
-
else
|
70
|
-
# Fallback: remove old files and copy new ones
|
71
|
-
rm -rf "$target_knowledge"/*
|
72
|
-
cp -R "$source_knowledge"/* "$target_knowledge/" 2>/dev/null || true
|
73
|
-
fi
|
74
|
-
|
75
|
-
SYNCED_COUNT=$((SYNCED_COUNT + 1))
|
76
|
-
echo "$(date): Synced local knowledge for agent: ${agent_name}" >> "$LOG_FILE"
|
77
|
-
fi
|
78
|
-
fi
|
79
|
-
fi
|
80
|
-
done
|
81
|
-
|
82
|
-
if [ $SYNCED_COUNT -gt 0 ]; then
|
83
|
-
echo "$(date): Synced ${SYNCED_COUNT} local agent knowledge base(s)" >> "$LOG_FILE"
|
84
|
-
fi
|
85
|
-
|
86
|
-
echo "{}"
|