@deimoscloud/coreai 0.1.8 → 0.1.10
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/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +6 -1
- package/.prettierrc +0 -9
- package/AGENT_SPEC.md +0 -347
- package/ARCHITECTURE.md +0 -547
- package/DRAFT_PRD.md +0 -1440
- package/IMPLEMENTATION_PLAN.md +0 -256
- package/PRODUCT.md +0 -473
- package/WORKFLOWS.md +0 -295
- package/commands/core/check-inbox.md +0 -34
- package/commands/core/delegate.md +0 -30
- package/commands/core/git-commit.md +0 -144
- package/commands/core/pr-create.md +0 -193
- package/commands/core/review.md +0 -56
- package/commands/core/sprint-status.md +0 -65
- package/commands/optional/docs-update.md +0 -200
- package/commands/optional/jira-create.md +0 -200
- package/commands/optional/jira-transition.md +0 -184
- package/commands/optional/worktree-cleanup.md +0 -167
- package/commands/optional/worktree-setup.md +0 -110
- package/eslint.config.js +0 -29
- package/jest.config.js +0 -22
- package/knowledge-library/README.md +0 -118
- package/knowledge-library/android-engineer/context/current.txt +0 -42
- package/knowledge-library/android-engineer/control/decisions.txt +0 -9
- package/knowledge-library/android-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/android-engineer/control/objectives.txt +0 -26
- package/knowledge-library/android-engineer/history/.gitkeep +0 -0
- package/knowledge-library/android-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/android-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/android-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/architecture.txt +0 -61
- package/knowledge-library/backend-engineer/context/current.txt +0 -42
- package/knowledge-library/backend-engineer/control/decisions.txt +0 -9
- package/knowledge-library/backend-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/backend-engineer/control/objectives.txt +0 -26
- package/knowledge-library/backend-engineer/history/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/context.txt +0 -52
- package/knowledge-library/devops-engineer/context/current.txt +0 -42
- package/knowledge-library/devops-engineer/control/decisions.txt +0 -9
- package/knowledge-library/devops-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/devops-engineer/control/objectives.txt +0 -26
- package/knowledge-library/devops-engineer/history/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/context/current.txt +0 -40
- package/knowledge-library/engineering-manager/control/decisions.txt +0 -9
- package/knowledge-library/engineering-manager/control/objectives.txt +0 -27
- package/knowledge-library/engineering-manager/history/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/tech/.gitkeep +0 -0
- package/knowledge-library/prd.txt +0 -81
- package/knowledge-library/product-manager/context/current.txt +0 -42
- package/knowledge-library/product-manager/control/decisions.txt +0 -9
- package/knowledge-library/product-manager/control/dependencies.txt +0 -19
- package/knowledge-library/product-manager/control/objectives.txt +0 -26
- package/knowledge-library/product-manager/history/.gitkeep +0 -0
- package/knowledge-library/product-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/product-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/product-manager/tech/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/context/current.txt +0 -42
- package/knowledge-library/qa-engineer/control/decisions.txt +0 -9
- package/knowledge-library/qa-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/qa-engineer/control/objectives.txt +0 -26
- package/knowledge-library/qa-engineer/history/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/security-engineer/context/current.txt +0 -42
- package/knowledge-library/security-engineer/control/decisions.txt +0 -9
- package/knowledge-library/security-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/security-engineer/control/objectives.txt +0 -26
- package/knowledge-library/security-engineer/history/.gitkeep +0 -0
- package/knowledge-library/security-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/security-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/security-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/context/current.txt +0 -42
- package/knowledge-library/solutions-architect/control/decisions.txt +0 -9
- package/knowledge-library/solutions-architect/control/dependencies.txt +0 -19
- package/knowledge-library/solutions-architect/control/objectives.txt +0 -26
- package/knowledge-library/solutions-architect/history/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/outbox/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/tech/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/context/current.txt +0 -42
- package/knowledge-library/wearos-engineer/control/decisions.txt +0 -9
- package/knowledge-library/wearos-engineer/control/dependencies.txt +0 -19
- package/knowledge-library/wearos-engineer/control/objectives.txt +0 -26
- package/knowledge-library/wearos-engineer/history/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/tech/.gitkeep +0 -0
- package/scripts/add-agent.sh +0 -323
- package/scripts/install.sh +0 -354
- package/src/adapters/factory.test.ts +0 -386
- package/src/adapters/factory.ts +0 -305
- package/src/adapters/index.ts +0 -113
- package/src/adapters/interfaces.ts +0 -268
- package/src/adapters/mcp/client.test.ts +0 -130
- package/src/adapters/mcp/client.ts +0 -451
- package/src/adapters/mcp/discovery.test.ts +0 -315
- package/src/adapters/mcp/discovery.ts +0 -340
- package/src/adapters/mcp/index.ts +0 -66
- package/src/adapters/mcp/mapper.test.ts +0 -218
- package/src/adapters/mcp/mapper.ts +0 -536
- package/src/adapters/mcp/registry.test.ts +0 -433
- package/src/adapters/mcp/registry.ts +0 -550
- package/src/adapters/mcp/types.ts +0 -258
- package/src/adapters/native/filesystem.test.ts +0 -350
- package/src/adapters/native/filesystem.ts +0 -393
- package/src/adapters/native/github.test.ts +0 -173
- package/src/adapters/native/github.ts +0 -627
- package/src/adapters/native/index.ts +0 -22
- package/src/adapters/native/selector.test.ts +0 -224
- package/src/adapters/native/selector.ts +0 -150
- package/src/adapters/types.ts +0 -270
- package/src/agents/compiler.test.ts +0 -399
- package/src/agents/compiler.ts +0 -422
- package/src/agents/index.ts +0 -37
- package/src/agents/loader.test.ts +0 -319
- package/src/agents/loader.ts +0 -143
- package/src/agents/resolver.test.ts +0 -282
- package/src/agents/resolver.ts +0 -262
- package/src/agents/types.ts +0 -97
- package/src/cache/index.ts +0 -38
- package/src/cache/interfaces.ts +0 -283
- package/src/cache/manager.test.ts +0 -266
- package/src/cache/manager.ts +0 -388
- package/src/cache/provider.test.ts +0 -485
- package/src/cache/provider.ts +0 -745
- package/src/cache/types.test.ts +0 -192
- package/src/cache/types.ts +0 -313
- package/src/cli/commands/build.test.ts +0 -248
- package/src/cli/commands/build.ts +0 -284
- package/src/cli/commands/cache.test.ts +0 -221
- package/src/cli/commands/cache.ts +0 -229
- package/src/cli/commands/index.ts +0 -63
- package/src/cli/commands/init.test.ts +0 -173
- package/src/cli/commands/init.ts +0 -296
- package/src/cli/commands/skills.test.ts +0 -272
- package/src/cli/commands/skills.ts +0 -348
- package/src/cli/commands/status.test.ts +0 -392
- package/src/cli/commands/status.ts +0 -332
- package/src/cli/commands/sync.test.ts +0 -213
- package/src/cli/commands/sync.ts +0 -251
- package/src/cli/commands/validate.test.ts +0 -216
- package/src/cli/commands/validate.ts +0 -340
- package/src/cli/index.test.ts +0 -190
- package/src/cli/index.ts +0 -493
- package/src/commands/context.test.ts +0 -163
- package/src/commands/context.ts +0 -111
- package/src/commands/index.ts +0 -56
- package/src/commands/loader.test.ts +0 -273
- package/src/commands/loader.ts +0 -355
- package/src/commands/registry.test.ts +0 -384
- package/src/commands/registry.ts +0 -248
- package/src/commands/runner.test.ts +0 -297
- package/src/commands/runner.ts +0 -222
- package/src/commands/types.ts +0 -361
- package/src/config/index.ts +0 -19
- package/src/config/loader.test.ts +0 -262
- package/src/config/loader.ts +0 -188
- package/src/config/types.ts +0 -154
- package/src/context/index.ts +0 -14
- package/src/context/loader.test.ts +0 -334
- package/src/context/loader.ts +0 -357
- package/src/index.test.ts +0 -13
- package/src/index.ts +0 -268
- package/src/knowledge-library/index.ts +0 -44
- package/src/knowledge-library/manager.test.ts +0 -536
- package/src/knowledge-library/manager.ts +0 -804
- package/src/knowledge-library/types.ts +0 -432
- package/src/skills/generator.test.ts +0 -602
- package/src/skills/generator.ts +0 -491
- package/src/skills/index.ts +0 -27
- package/src/skills/templates.ts +0 -520
- package/src/skills/types.ts +0 -251
- package/templates/completion-report.md +0 -72
- package/templates/feedback.md +0 -56
- package/templates/project-files/CLAUDE.md.template +0 -109
- package/templates/project-files/coreai.json.example +0 -47
- package/templates/project-files/mcp.json.template +0 -20
- package/templates/review-complete.md +0 -64
- package/templates/review-request.md +0 -67
- package/templates/task-assignment.md +0 -51
- package/tsconfig.build.json +0 -4
- package/tsconfig.json +0 -26
- package/tsup.config.ts +0 -23
package/scripts/install.sh
DELETED
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# CoreAI Framework Installation Script
|
|
4
|
-
# Installs the multi-agent development framework into a project
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
# Colors for output
|
|
9
|
-
RED='\033[0;31m'
|
|
10
|
-
GREEN='\033[0;32m'
|
|
11
|
-
YELLOW='\033[1;33m'
|
|
12
|
-
BLUE='\033[0;34m'
|
|
13
|
-
NC='\033[0m' # No Color
|
|
14
|
-
|
|
15
|
-
# Script directory (where coreai is located)
|
|
16
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
17
|
-
COREAI_DIR="$(dirname "$SCRIPT_DIR")"
|
|
18
|
-
|
|
19
|
-
# Default values
|
|
20
|
-
TARGET_DIR=""
|
|
21
|
-
PROJECT_NAME=""
|
|
22
|
-
JIRA_PROJECT=""
|
|
23
|
-
GITHUB_REPO=""
|
|
24
|
-
CONFLUENCE_SPACE=""
|
|
25
|
-
CONFLUENCE_URL="https://yourcompany.atlassian.net/wiki"
|
|
26
|
-
JIRA_URL="https://yourcompany.atlassian.net"
|
|
27
|
-
LINT_CMD="npm run lint"
|
|
28
|
-
STATIC_ANALYSIS_CMD="npm run lint"
|
|
29
|
-
TEST_CMD="npm test"
|
|
30
|
-
BUILD_CMD="npm run build"
|
|
31
|
-
AGENTS=("engineering-manager")
|
|
32
|
-
OPTIONAL_COMMANDS=()
|
|
33
|
-
INSTALL_ALL_COMMANDS=false
|
|
34
|
-
|
|
35
|
-
# Function to print usage
|
|
36
|
-
print_usage() {
|
|
37
|
-
echo "Usage: $0 [OPTIONS]"
|
|
38
|
-
echo ""
|
|
39
|
-
echo "Options:"
|
|
40
|
-
echo " --target DIR Target project directory (default: current directory)"
|
|
41
|
-
echo " --name NAME Project name"
|
|
42
|
-
echo " --jira KEY Jira project key (e.g., PROJ)"
|
|
43
|
-
echo " --github REPO GitHub repo (e.g., owner/repo)"
|
|
44
|
-
echo " --confluence-space KEY Confluence space key"
|
|
45
|
-
echo " --confluence-url URL Confluence base URL"
|
|
46
|
-
echo " --jira-url URL Jira base URL"
|
|
47
|
-
echo " --lint CMD Lint command (default: npm run lint)"
|
|
48
|
-
echo " --test CMD Test command (default: npm test)"
|
|
49
|
-
echo " --build CMD Build command (default: npm run build)"
|
|
50
|
-
echo " --agents LIST Comma-separated list of agents to install"
|
|
51
|
-
echo " --all-commands Install all optional commands"
|
|
52
|
-
echo " --commands LIST Comma-separated list of optional commands"
|
|
53
|
-
echo " -h, --help Show this help message"
|
|
54
|
-
echo ""
|
|
55
|
-
echo "Example:"
|
|
56
|
-
echo " $0 --name \"My Project\" --jira PROJ --github owner/repo"
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
# Parse arguments
|
|
60
|
-
while [[ $# -gt 0 ]]; do
|
|
61
|
-
case $1 in
|
|
62
|
-
--target)
|
|
63
|
-
TARGET_DIR="$2"
|
|
64
|
-
shift 2
|
|
65
|
-
;;
|
|
66
|
-
--name)
|
|
67
|
-
PROJECT_NAME="$2"
|
|
68
|
-
shift 2
|
|
69
|
-
;;
|
|
70
|
-
--jira)
|
|
71
|
-
JIRA_PROJECT="$2"
|
|
72
|
-
shift 2
|
|
73
|
-
;;
|
|
74
|
-
--github)
|
|
75
|
-
GITHUB_REPO="$2"
|
|
76
|
-
shift 2
|
|
77
|
-
;;
|
|
78
|
-
--confluence-space)
|
|
79
|
-
CONFLUENCE_SPACE="$2"
|
|
80
|
-
shift 2
|
|
81
|
-
;;
|
|
82
|
-
--confluence-url)
|
|
83
|
-
CONFLUENCE_URL="$2"
|
|
84
|
-
shift 2
|
|
85
|
-
;;
|
|
86
|
-
--jira-url)
|
|
87
|
-
JIRA_URL="$2"
|
|
88
|
-
shift 2
|
|
89
|
-
;;
|
|
90
|
-
--lint)
|
|
91
|
-
LINT_CMD="$2"
|
|
92
|
-
shift 2
|
|
93
|
-
;;
|
|
94
|
-
--test)
|
|
95
|
-
TEST_CMD="$2"
|
|
96
|
-
shift 2
|
|
97
|
-
;;
|
|
98
|
-
--build)
|
|
99
|
-
BUILD_CMD="$2"
|
|
100
|
-
shift 2
|
|
101
|
-
;;
|
|
102
|
-
--agents)
|
|
103
|
-
IFS=',' read -ra AGENTS <<< "$2"
|
|
104
|
-
shift 2
|
|
105
|
-
;;
|
|
106
|
-
--all-commands)
|
|
107
|
-
INSTALL_ALL_COMMANDS=true
|
|
108
|
-
shift
|
|
109
|
-
;;
|
|
110
|
-
--commands)
|
|
111
|
-
IFS=',' read -ra OPTIONAL_COMMANDS <<< "$2"
|
|
112
|
-
shift 2
|
|
113
|
-
;;
|
|
114
|
-
-h|--help)
|
|
115
|
-
print_usage
|
|
116
|
-
exit 0
|
|
117
|
-
;;
|
|
118
|
-
*)
|
|
119
|
-
echo -e "${RED}Unknown option: $1${NC}"
|
|
120
|
-
print_usage
|
|
121
|
-
exit 1
|
|
122
|
-
;;
|
|
123
|
-
esac
|
|
124
|
-
done
|
|
125
|
-
|
|
126
|
-
# Set defaults
|
|
127
|
-
TARGET_DIR="${TARGET_DIR:-.}"
|
|
128
|
-
PROJECT_NAME="${PROJECT_NAME:-My Project}"
|
|
129
|
-
CONFLUENCE_SPACE="${CONFLUENCE_SPACE:-$JIRA_PROJECT}"
|
|
130
|
-
|
|
131
|
-
# Resolve target directory to absolute path
|
|
132
|
-
TARGET_DIR="$(cd "$TARGET_DIR" && pwd)"
|
|
133
|
-
|
|
134
|
-
echo -e "${BLUE}CoreAI Framework Installation${NC}"
|
|
135
|
-
echo "=============================="
|
|
136
|
-
echo ""
|
|
137
|
-
echo "Target directory: $TARGET_DIR"
|
|
138
|
-
echo "Project name: $PROJECT_NAME"
|
|
139
|
-
echo "Jira project: ${JIRA_PROJECT:-<not set>}"
|
|
140
|
-
echo "GitHub repo: ${GITHUB_REPO:-<not set>}"
|
|
141
|
-
echo ""
|
|
142
|
-
|
|
143
|
-
# Function to replace placeholders in a file
|
|
144
|
-
replace_placeholders() {
|
|
145
|
-
local file="$1"
|
|
146
|
-
|
|
147
|
-
sed -i.bak \
|
|
148
|
-
-e "s|{{PROJECT_NAME}}|$PROJECT_NAME|g" \
|
|
149
|
-
-e "s|{{JIRA_PROJECT}}|$JIRA_PROJECT|g" \
|
|
150
|
-
-e "s|{{GITHUB_REPO}}|$GITHUB_REPO|g" \
|
|
151
|
-
-e "s|{{CONFLUENCE_SPACE}}|$CONFLUENCE_SPACE|g" \
|
|
152
|
-
-e "s|{{CONFLUENCE_URL}}|$CONFLUENCE_URL|g" \
|
|
153
|
-
-e "s|{{JIRA_URL}}|$JIRA_URL|g" \
|
|
154
|
-
-e "s|{{LINT_CMD}}|$LINT_CMD|g" \
|
|
155
|
-
-e "s|{{STATIC_ANALYSIS_CMD}}|$STATIC_ANALYSIS_CMD|g" \
|
|
156
|
-
-e "s|{{TEST_CMD}}|$TEST_CMD|g" \
|
|
157
|
-
-e "s|{{BUILD_CMD}}|$BUILD_CMD|g" \
|
|
158
|
-
-e "s|{{PROJECT_ROOT}}|$TARGET_DIR|g" \
|
|
159
|
-
"$file"
|
|
160
|
-
|
|
161
|
-
rm -f "${file}.bak"
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
# Create .claude directories
|
|
165
|
-
echo -e "${YELLOW}Creating .claude directories...${NC}"
|
|
166
|
-
mkdir -p "$TARGET_DIR/.claude/agents"
|
|
167
|
-
mkdir -p "$TARGET_DIR/.claude/commands"
|
|
168
|
-
|
|
169
|
-
# Copy core commands
|
|
170
|
-
echo -e "${YELLOW}Installing core commands...${NC}"
|
|
171
|
-
for cmd in "$COREAI_DIR/commands/core/"*.md; do
|
|
172
|
-
if [[ -f "$cmd" ]]; then
|
|
173
|
-
filename=$(basename "$cmd")
|
|
174
|
-
cp "$cmd" "$TARGET_DIR/.claude/commands/$filename"
|
|
175
|
-
replace_placeholders "$TARGET_DIR/.claude/commands/$filename"
|
|
176
|
-
echo " - $filename"
|
|
177
|
-
fi
|
|
178
|
-
done
|
|
179
|
-
|
|
180
|
-
# Copy optional commands
|
|
181
|
-
if [[ "$INSTALL_ALL_COMMANDS" == true ]]; then
|
|
182
|
-
echo -e "${YELLOW}Installing all optional commands...${NC}"
|
|
183
|
-
for cmd in "$COREAI_DIR/commands/optional/"*.md; do
|
|
184
|
-
if [[ -f "$cmd" ]]; then
|
|
185
|
-
filename=$(basename "$cmd")
|
|
186
|
-
cp "$cmd" "$TARGET_DIR/.claude/commands/$filename"
|
|
187
|
-
replace_placeholders "$TARGET_DIR/.claude/commands/$filename"
|
|
188
|
-
echo " - $filename"
|
|
189
|
-
fi
|
|
190
|
-
done
|
|
191
|
-
elif [[ ${#OPTIONAL_COMMANDS[@]} -gt 0 ]]; then
|
|
192
|
-
echo -e "${YELLOW}Installing selected optional commands...${NC}"
|
|
193
|
-
for cmd_name in "${OPTIONAL_COMMANDS[@]}"; do
|
|
194
|
-
cmd_file="$COREAI_DIR/commands/optional/${cmd_name}.md"
|
|
195
|
-
if [[ -f "$cmd_file" ]]; then
|
|
196
|
-
cp "$cmd_file" "$TARGET_DIR/.claude/commands/${cmd_name}.md"
|
|
197
|
-
replace_placeholders "$TARGET_DIR/.claude/commands/${cmd_name}.md"
|
|
198
|
-
echo " - ${cmd_name}.md"
|
|
199
|
-
else
|
|
200
|
-
echo -e "${RED} - Warning: ${cmd_name}.md not found${NC}"
|
|
201
|
-
fi
|
|
202
|
-
done
|
|
203
|
-
fi
|
|
204
|
-
|
|
205
|
-
# Copy engineering-manager (required)
|
|
206
|
-
echo -e "${YELLOW}Installing engineering-manager agent (required)...${NC}"
|
|
207
|
-
cp "$COREAI_DIR/agents/examples/engineering-manager.md" "$TARGET_DIR/.claude/agents/engineering-manager.md"
|
|
208
|
-
replace_placeholders "$TARGET_DIR/.claude/agents/engineering-manager.md"
|
|
209
|
-
echo " - engineering-manager.md"
|
|
210
|
-
|
|
211
|
-
# Copy additional agents
|
|
212
|
-
if [[ ${#AGENTS[@]} -gt 1 ]] || [[ "${AGENTS[0]}" != "engineering-manager" ]]; then
|
|
213
|
-
echo -e "${YELLOW}Installing additional agents...${NC}"
|
|
214
|
-
for agent in "${AGENTS[@]}"; do
|
|
215
|
-
if [[ "$agent" == "engineering-manager" ]]; then
|
|
216
|
-
continue # Already installed
|
|
217
|
-
fi
|
|
218
|
-
|
|
219
|
-
# Check examples first, then templates
|
|
220
|
-
if [[ -f "$COREAI_DIR/agents/examples/${agent}.md" ]]; then
|
|
221
|
-
cp "$COREAI_DIR/agents/examples/${agent}.md" "$TARGET_DIR/.claude/agents/${agent}.md"
|
|
222
|
-
replace_placeholders "$TARGET_DIR/.claude/agents/${agent}.md"
|
|
223
|
-
echo " - ${agent}.md (from examples)"
|
|
224
|
-
else
|
|
225
|
-
echo -e "${YELLOW} - ${agent}.md: Not found in examples. Use add-agent.sh to create.${NC}"
|
|
226
|
-
fi
|
|
227
|
-
done
|
|
228
|
-
fi
|
|
229
|
-
|
|
230
|
-
# Create KnowledgeLibrary structure
|
|
231
|
-
echo -e "${YELLOW}Creating KnowledgeLibrary...${NC}"
|
|
232
|
-
mkdir -p "$TARGET_DIR/KnowledgeLibrary"
|
|
233
|
-
|
|
234
|
-
# Copy root context files from templates
|
|
235
|
-
for template in context.txt architecture.txt prd.txt; do
|
|
236
|
-
if [[ -f "$COREAI_DIR/knowledge-library/${template}" ]]; then
|
|
237
|
-
cp "$COREAI_DIR/knowledge-library/${template}" "$TARGET_DIR/KnowledgeLibrary/${template}"
|
|
238
|
-
replace_placeholders "$TARGET_DIR/KnowledgeLibrary/${template}"
|
|
239
|
-
fi
|
|
240
|
-
done
|
|
241
|
-
|
|
242
|
-
# Create agent directories in KnowledgeLibrary
|
|
243
|
-
echo -e "${YELLOW}Creating agent directories in KnowledgeLibrary...${NC}"
|
|
244
|
-
ALL_AGENTS=("engineering-manager" "${AGENTS[@]}")
|
|
245
|
-
# Remove duplicates
|
|
246
|
-
ALL_AGENTS=($(echo "${ALL_AGENTS[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' '))
|
|
247
|
-
|
|
248
|
-
for agent in "${ALL_AGENTS[@]}"; do
|
|
249
|
-
agent_dir="$TARGET_DIR/KnowledgeLibrary/$agent"
|
|
250
|
-
mkdir -p "$agent_dir/context"
|
|
251
|
-
mkdir -p "$agent_dir/history"
|
|
252
|
-
mkdir -p "$agent_dir/inbox/processed"
|
|
253
|
-
mkdir -p "$agent_dir/outbox"
|
|
254
|
-
mkdir -p "$agent_dir/tech"
|
|
255
|
-
mkdir -p "$agent_dir/control"
|
|
256
|
-
|
|
257
|
-
# Create placeholder files
|
|
258
|
-
echo "# $agent Context
|
|
259
|
-
# Last Updated: $(date +%Y-%m-%d)
|
|
260
|
-
|
|
261
|
-
## Current Status
|
|
262
|
-
Not Started
|
|
263
|
-
|
|
264
|
-
## Active Tasks
|
|
265
|
-
- [ ] None
|
|
266
|
-
|
|
267
|
-
## Notes
|
|
268
|
-
[Working notes]" > "$agent_dir/context/current.txt"
|
|
269
|
-
|
|
270
|
-
echo "# $agent Objectives
|
|
271
|
-
|
|
272
|
-
## Primary Objectives
|
|
273
|
-
1. TBD
|
|
274
|
-
|
|
275
|
-
## Current Sprint Goals
|
|
276
|
-
- [ ] TBD" > "$agent_dir/control/objectives.txt"
|
|
277
|
-
|
|
278
|
-
echo "# $agent Decisions
|
|
279
|
-
# Format: [YYYY-MM-DD] Decision: [summary] | Rationale: [why]
|
|
280
|
-
|
|
281
|
-
[No decisions logged yet]" > "$agent_dir/control/decisions.txt"
|
|
282
|
-
|
|
283
|
-
echo "# $agent Dependencies
|
|
284
|
-
|
|
285
|
-
## Blocking (Waiting On)
|
|
286
|
-
None
|
|
287
|
-
|
|
288
|
-
## Providing To
|
|
289
|
-
None" > "$agent_dir/control/dependencies.txt"
|
|
290
|
-
|
|
291
|
-
# Create .gitkeep files
|
|
292
|
-
touch "$agent_dir/history/.gitkeep"
|
|
293
|
-
touch "$agent_dir/inbox/processed/.gitkeep"
|
|
294
|
-
touch "$agent_dir/outbox/.gitkeep"
|
|
295
|
-
touch "$agent_dir/tech/.gitkeep"
|
|
296
|
-
|
|
297
|
-
echo " - $agent/"
|
|
298
|
-
done
|
|
299
|
-
|
|
300
|
-
# Copy core documentation
|
|
301
|
-
echo -e "${YELLOW}Copying core documentation...${NC}"
|
|
302
|
-
cp "$COREAI_DIR/AGENT_SPEC.md" "$TARGET_DIR/KnowledgeLibrary/" 2>/dev/null || true
|
|
303
|
-
cp "$COREAI_DIR/WORKFLOWS.md" "$TARGET_DIR/KnowledgeLibrary/" 2>/dev/null || true
|
|
304
|
-
|
|
305
|
-
# Create coreai.json config file
|
|
306
|
-
echo -e "${YELLOW}Creating coreai.json config...${NC}"
|
|
307
|
-
cat > "$TARGET_DIR/coreai.json" << EOF
|
|
308
|
-
{
|
|
309
|
-
"project": {
|
|
310
|
-
"name": "$PROJECT_NAME",
|
|
311
|
-
"jiraProject": "$JIRA_PROJECT",
|
|
312
|
-
"githubRepo": "$GITHUB_REPO",
|
|
313
|
-
"confluenceSpace": "$CONFLUENCE_SPACE",
|
|
314
|
-
"confluenceUrl": "$CONFLUENCE_URL",
|
|
315
|
-
"jiraUrl": "$JIRA_URL"
|
|
316
|
-
},
|
|
317
|
-
"agents": {
|
|
318
|
-
"installed": $(printf '%s\n' "${ALL_AGENTS[@]}" | jq -R . | jq -s .),
|
|
319
|
-
"custom": []
|
|
320
|
-
},
|
|
321
|
-
"commands": {
|
|
322
|
-
"core": ["delegate", "check-inbox", "review", "sprint-status", "git-commit", "pr-create"],
|
|
323
|
-
"optional": $(printf '%s\n' "${OPTIONAL_COMMANDS[@]}" | jq -R . | jq -s .)
|
|
324
|
-
},
|
|
325
|
-
"qualityChecks": {
|
|
326
|
-
"lint": "$LINT_CMD",
|
|
327
|
-
"staticAnalysis": "$STATIC_ANALYSIS_CMD",
|
|
328
|
-
"test": "$TEST_CMD",
|
|
329
|
-
"build": "$BUILD_CMD"
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
EOF
|
|
333
|
-
|
|
334
|
-
echo ""
|
|
335
|
-
echo -e "${GREEN}=============================="
|
|
336
|
-
echo "Installation complete!"
|
|
337
|
-
echo "==============================${NC}"
|
|
338
|
-
echo ""
|
|
339
|
-
echo "Created:"
|
|
340
|
-
echo " .claude/agents/ - Agent definitions"
|
|
341
|
-
echo " .claude/commands/ - Slash commands"
|
|
342
|
-
echo " KnowledgeLibrary/ - Agent context and communication"
|
|
343
|
-
echo " coreai.json - Project configuration"
|
|
344
|
-
echo ""
|
|
345
|
-
echo "Next steps:"
|
|
346
|
-
echo " 1. Review and customize agent files in .claude/agents/"
|
|
347
|
-
echo " 2. Update KnowledgeLibrary/context.txt with initial project state"
|
|
348
|
-
echo " 3. Add team members to engineering-manager.md"
|
|
349
|
-
echo " 4. Configure MCP servers in .claude/mcp.json (optional)"
|
|
350
|
-
echo " 5. Run './coreai/scripts/add-agent.sh <name>' to add more agents"
|
|
351
|
-
echo ""
|
|
352
|
-
echo -e "${BLUE}To add a new agent:${NC}"
|
|
353
|
-
echo " $COREAI_DIR/scripts/add-agent.sh <agent-name> --type ic"
|
|
354
|
-
echo ""
|