aios-core 2.2.2 → 3.0.0
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/.aios-core/.session/current-session.json +14 -14
- package/.aios-core/cli/commands/migrate/validate.js +1 -1
- package/.aios-core/core/docs/session-update-pattern.md +17 -10
- package/.aios-core/core/elicitation/elicitation-engine.js +11 -6
- package/.aios-core/core/elicitation/session-manager.js +2 -1
- package/.aios-core/core/registry/registry-schema.json +166 -166
- package/.aios-core/core/registry/service-registry.json +6585 -6585
- package/.aios-core/core-config.yaml +66 -1
- package/.aios-core/data/agent-config-requirements.yaml +5 -5
- package/.aios-core/development/agents/devops.md +12 -0
- package/.aios-core/development/scripts/squad/README.md +112 -0
- package/.aios-core/development/scripts/squad/index.js +41 -0
- package/.aios-core/development/scripts/squad/squad-loader.js +359 -0
- package/.aios-core/development/scripts/squad/squad-validator.js +685 -0
- package/.aios-core/development/tasks/add-mcp.md +11 -5
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +240 -3
- package/.aios-core/development/tasks/search-mcp.md +309 -0
- package/.aios-core/development/tasks/setup-mcp-docker.md +11 -8
- package/.aios-core/development/tasks/squad-creator-validate.md +151 -0
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +3 -3
- package/.aios-core/index.d.ts +7 -7
- package/.aios-core/index.js +1 -1
- package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
- package/.aios-core/infrastructure/scripts/component-generator.js +1 -1
- package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -279
- package/.aios-core/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +41 -0
- package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
- package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
- package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
- package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -63
- package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
- package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
- package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
- package/.aios-core/infrastructure/tests/utilities-audit-results.json +500 -500
- package/.aios-core/infrastructure/tools/README.md +1 -1
- package/.aios-core/install-manifest.yaml +4 -1
- package/.aios-core/manifests/schema/manifest-schema.json +190 -190
- package/.aios-core/manifests/workers.csv +203 -203
- package/.aios-core/package.json +102 -102
- package/.aios-core/product/templates/activation-instructions-template.md +7 -7
- package/.aios-core/product/templates/adr.hbs +125 -125
- package/.aios-core/product/templates/component-react-tmpl.tsx +98 -98
- package/.aios-core/product/templates/dbdr.hbs +241 -241
- package/.aios-core/product/templates/engine/schemas/adr.schema.json +102 -102
- package/.aios-core/product/templates/engine/schemas/dbdr.schema.json +205 -205
- package/.aios-core/product/templates/engine/schemas/epic.schema.json +175 -175
- package/.aios-core/product/templates/engine/schemas/pmdr.schema.json +175 -175
- package/.aios-core/product/templates/engine/schemas/prd-v2.schema.json +300 -300
- package/.aios-core/product/templates/engine/schemas/prd.schema.json +152 -152
- package/.aios-core/product/templates/engine/schemas/story.schema.json +222 -222
- package/.aios-core/product/templates/engine/schemas/task.schema.json +154 -154
- package/.aios-core/product/templates/epic.hbs +212 -212
- package/.aios-core/product/templates/eslintrc-security.json +32 -32
- package/.aios-core/product/templates/github-actions-cd.yml +212 -212
- package/.aios-core/product/templates/github-actions-ci.yml +172 -172
- package/.aios-core/product/templates/pmdr.hbs +186 -186
- package/.aios-core/product/templates/prd-v2.0.hbs +216 -216
- package/.aios-core/product/templates/prd.hbs +201 -201
- package/.aios-core/product/templates/shock-report-tmpl.html +502 -502
- package/.aios-core/product/templates/story.hbs +263 -263
- package/.aios-core/product/templates/task.hbs +170 -170
- package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -158
- package/.aios-core/product/templates/tmpl-migration-script.sql +91 -91
- package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
- package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
- package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -135
- package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -77
- package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -152
- package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -77
- package/.aios-core/product/templates/tmpl-seed-data.sql +140 -140
- package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -16
- package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
- package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -140
- package/.aios-core/product/templates/tmpl-trigger.sql +152 -152
- package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -133
- package/.aios-core/product/templates/tmpl-view.sql +177 -177
- package/.aios-core/product/templates/token-exports-css-tmpl.css +240 -240
- package/.aios-core/quality/schemas/quality-metrics.schema.json +233 -233
- package/.aios-core/schemas/squad-schema.json +185 -0
- package/.aios-core/scripts/README.md +90 -322
- package/.aios-core/scripts/migrate-framework-docs.sh +300 -300
- package/.claude/rules/mcp-usage.md +116 -100
- package/LICENSE +48 -48
- package/README.md +3 -4
- package/bin/aios.js +2 -1
- package/package.json +1 -3
- package/packages/installer/package.json +39 -39
- package/templates/squad/LICENSE +21 -21
- package/templates/squad/README.md +37 -37
- package/templates/squad/agents/example-agent.yaml +36 -36
- package/templates/squad/package.json +19 -19
- package/templates/squad/squad.yaml +25 -25
- package/templates/squad/tasks/example-task.yaml +46 -46
- package/templates/squad/templates/example-template.md +24 -24
- package/templates/squad/tests/example-agent.test.js +53 -53
- package/templates/squad/workflows/example-workflow.yaml +54 -54
- package/tools/diagnose-npx-issue.ps1 +96 -96
- package/tools/quick-diagnose.cmd +85 -85
- package/tools/quick-diagnose.ps1 +117 -117
- package/.aios-core/core/data/agent-config-requirements.yaml +0 -368
- package/.aios-core/core/data/aios-kb.md +0 -924
- package/.aios-core/core/data/workflow-patterns.yaml +0 -267
- package/.aios-core/product/templates/1mcp-config.yaml +0 -225
- package/.aios-core/scripts/context-detector.js +0 -226
- package/.aios-core/scripts/elicitation-engine.js +0 -385
- package/.aios-core/scripts/elicitation-session-manager.js +0 -300
- package/.claude/CLAUDE.md +0 -221
|
@@ -1,300 +1,300 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#
|
|
3
|
-
# AIOS Framework Documentation Migration Script
|
|
4
|
-
#
|
|
5
|
-
# Purpose: Migrate framework docs from aios-fullstack to aios-core (REPO 1)
|
|
6
|
-
# Story: 6.1.2.6 - Framework Configuration System
|
|
7
|
-
# Execution Timeline: Q2 2026 (Repository Migration Phase)
|
|
8
|
-
#
|
|
9
|
-
# Usage:
|
|
10
|
-
# ./migrate-framework-docs.sh [--dry-run] [--target-repo PATH]
|
|
11
|
-
#
|
|
12
|
-
# Options:
|
|
13
|
-
# --dry-run Show what would be migrated without making changes
|
|
14
|
-
# --target-repo Path to aios-core repository (default: ../aios-core)
|
|
15
|
-
# --help Show this help message
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
set -e # Exit on error
|
|
19
|
-
|
|
20
|
-
# Colors for output
|
|
21
|
-
RED='\033[0;31m'
|
|
22
|
-
GREEN='\033[0;32m'
|
|
23
|
-
YELLOW='\033[1;33m'
|
|
24
|
-
BLUE='\033[0;34m'
|
|
25
|
-
NC='\033[0m' # No Color
|
|
26
|
-
|
|
27
|
-
# Default values
|
|
28
|
-
DRY_RUN=false
|
|
29
|
-
TARGET_REPO="../aios-core"
|
|
30
|
-
SOURCE_DOCS="docs/framework"
|
|
31
|
-
|
|
32
|
-
# Parse command line arguments
|
|
33
|
-
while [[ $# -gt 0 ]]; do
|
|
34
|
-
case $1 in
|
|
35
|
-
--dry-run)
|
|
36
|
-
DRY_RUN=true
|
|
37
|
-
shift
|
|
38
|
-
;;
|
|
39
|
-
--target-repo)
|
|
40
|
-
TARGET_REPO="$2"
|
|
41
|
-
shift 2
|
|
42
|
-
;;
|
|
43
|
-
--help)
|
|
44
|
-
head -n 20 "$0" | grep "^#" | sed 's/^# //'
|
|
45
|
-
exit 0
|
|
46
|
-
;;
|
|
47
|
-
*)
|
|
48
|
-
echo -e "${RED}Error: Unknown option $1${NC}"
|
|
49
|
-
echo "Use --help for usage information"
|
|
50
|
-
exit 1
|
|
51
|
-
;;
|
|
52
|
-
esac
|
|
53
|
-
done
|
|
54
|
-
|
|
55
|
-
# Header
|
|
56
|
-
echo ""
|
|
57
|
-
echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
|
|
58
|
-
echo -e "${BLUE}║ AIOS Framework Documentation Migration Script ║${NC}"
|
|
59
|
-
echo -e "${BLUE}║ Story 6.1.2.6: Framework Configuration System ║${NC}"
|
|
60
|
-
echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}"
|
|
61
|
-
echo ""
|
|
62
|
-
|
|
63
|
-
if [ "$DRY_RUN" = true ]; then
|
|
64
|
-
echo -e "${YELLOW}⚠️ DRY RUN MODE - No changes will be made${NC}"
|
|
65
|
-
echo ""
|
|
66
|
-
fi
|
|
67
|
-
|
|
68
|
-
# Function: Print section header
|
|
69
|
-
print_section() {
|
|
70
|
-
echo ""
|
|
71
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
72
|
-
echo -e "${BLUE} $1${NC}"
|
|
73
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
74
|
-
echo ""
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
# Function: Execute command (respects dry-run)
|
|
78
|
-
execute() {
|
|
79
|
-
local cmd="$1"
|
|
80
|
-
local description="$2"
|
|
81
|
-
|
|
82
|
-
echo -e " ${description}"
|
|
83
|
-
|
|
84
|
-
if [ "$DRY_RUN" = true ]; then
|
|
85
|
-
echo -e " ${YELLOW}[DRY RUN]${NC} Would execute: ${cmd}"
|
|
86
|
-
else
|
|
87
|
-
echo -e " ${GREEN}[EXEC]${NC} ${cmd}"
|
|
88
|
-
eval "$cmd"
|
|
89
|
-
fi
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
# Step 1: Verify Source Directory
|
|
93
|
-
print_section "Step 1: Verify Source Directory"
|
|
94
|
-
|
|
95
|
-
if [ ! -d "$SOURCE_DOCS" ]; then
|
|
96
|
-
echo -e "${RED}✗ Error: Source directory not found: $SOURCE_DOCS${NC}"
|
|
97
|
-
echo " Please run this script from the aios-fullstack root directory"
|
|
98
|
-
exit 1
|
|
99
|
-
fi
|
|
100
|
-
|
|
101
|
-
echo -e "${GREEN}✓${NC} Source directory found: $SOURCE_DOCS"
|
|
102
|
-
|
|
103
|
-
# Count files to migrate
|
|
104
|
-
FILE_COUNT=$(find "$SOURCE_DOCS" -type f -name "*.md" | wc -l)
|
|
105
|
-
echo -e "${GREEN}✓${NC} Found ${FILE_COUNT} files to migrate"
|
|
106
|
-
|
|
107
|
-
# List files
|
|
108
|
-
echo ""
|
|
109
|
-
echo " Files to migrate:"
|
|
110
|
-
find "$SOURCE_DOCS" -type f -name "*.md" | while read -r file; do
|
|
111
|
-
echo " - ${file}"
|
|
112
|
-
done
|
|
113
|
-
|
|
114
|
-
# Step 2: Verify Target Repository
|
|
115
|
-
print_section "Step 2: Verify Target Repository"
|
|
116
|
-
|
|
117
|
-
if [ ! -d "$TARGET_REPO" ]; then
|
|
118
|
-
echo -e "${RED}✗ Error: Target repository not found: $TARGET_REPO${NC}"
|
|
119
|
-
echo " Please clone aios-core first or specify correct path with --target-repo"
|
|
120
|
-
exit 1
|
|
121
|
-
fi
|
|
122
|
-
|
|
123
|
-
echo -e "${GREEN}✓${NC} Target repository found: $TARGET_REPO"
|
|
124
|
-
|
|
125
|
-
# Check if target repo is a git repository
|
|
126
|
-
if [ ! -d "$TARGET_REPO/.git" ]; then
|
|
127
|
-
echo -e "${YELLOW}⚠ Warning: Target is not a git repository${NC}"
|
|
128
|
-
fi
|
|
129
|
-
|
|
130
|
-
# Step 3: Create Target Directory Structure
|
|
131
|
-
print_section "Step 3: Create Target Directory Structure"
|
|
132
|
-
|
|
133
|
-
TARGET_DOCS="$TARGET_REPO/docs/framework"
|
|
134
|
-
|
|
135
|
-
execute "mkdir -p \"$TARGET_DOCS\"" "Create target directory: $TARGET_DOCS"
|
|
136
|
-
|
|
137
|
-
# Step 4: Copy Framework Documentation
|
|
138
|
-
print_section "Step 4: Copy Framework Documentation"
|
|
139
|
-
|
|
140
|
-
find "$SOURCE_DOCS" -type f -name "*.md" | while read -r source_file; do
|
|
141
|
-
# Get relative path from source docs
|
|
142
|
-
rel_path="${source_file#${SOURCE_DOCS}/}"
|
|
143
|
-
target_file="$TARGET_DOCS/$rel_path"
|
|
144
|
-
|
|
145
|
-
# Create parent directory if needed
|
|
146
|
-
target_dir=$(dirname "$target_file")
|
|
147
|
-
if [ ! -d "$target_dir" ]; then
|
|
148
|
-
execute "mkdir -p \"$target_dir\"" "Create directory: $target_dir"
|
|
149
|
-
fi
|
|
150
|
-
|
|
151
|
-
# Copy file
|
|
152
|
-
execute "cp \"$source_file\" \"$target_file\"" "Copy: $rel_path"
|
|
153
|
-
done
|
|
154
|
-
|
|
155
|
-
# Step 5: Update Internal Links
|
|
156
|
-
print_section "Step 5: Update Internal Links"
|
|
157
|
-
|
|
158
|
-
echo -e "${YELLOW} Updating internal documentation links...${NC}"
|
|
159
|
-
|
|
160
|
-
# This is a simplified link update - may need manual review
|
|
161
|
-
if [ "$DRY_RUN" = false ]; then
|
|
162
|
-
find "$TARGET_DOCS" -type f -name "*.md" -exec sed -i.bak \
|
|
163
|
-
-e 's|../../docs/architecture/|../architecture/|g' \
|
|
164
|
-
-e 's|docs/framework/|./|g' \
|
|
165
|
-
{} \;
|
|
166
|
-
|
|
167
|
-
# Remove backup files
|
|
168
|
-
find "$TARGET_DOCS" -type f -name "*.bak" -delete
|
|
169
|
-
|
|
170
|
-
echo -e "${GREEN}✓${NC} Links updated (review recommended)"
|
|
171
|
-
else
|
|
172
|
-
echo -e "${YELLOW}[DRY RUN]${NC} Would update links in migrated files"
|
|
173
|
-
fi
|
|
174
|
-
|
|
175
|
-
# Step 6: Create Migration Notice
|
|
176
|
-
print_section "Step 6: Create Migration Notice"
|
|
177
|
-
|
|
178
|
-
MIGRATION_NOTICE="$TARGET_DOCS/MIGRATION_NOTICE.md"
|
|
179
|
-
|
|
180
|
-
if [ "$DRY_RUN" = false ]; then
|
|
181
|
-
cat > "$MIGRATION_NOTICE" << 'EOF'
|
|
182
|
-
# Framework Documentation Migration Notice
|
|
183
|
-
|
|
184
|
-
**Migration Date:** $(date +%Y-%m-%d)
|
|
185
|
-
**Source:** aios-fullstack/docs/framework/
|
|
186
|
-
**Target:** aios-core/docs/framework/
|
|
187
|
-
**Story:** 6.1.2.6 - Framework Configuration System
|
|
188
|
-
|
|
189
|
-
## Migration Status
|
|
190
|
-
|
|
191
|
-
✅ Framework documentation successfully migrated from aios-fullstack to aios-core (REPO 1)
|
|
192
|
-
|
|
193
|
-
## Files Migrated
|
|
194
|
-
|
|
195
|
-
- coding-standards.md - Official AIOS coding standards
|
|
196
|
-
- tech-stack.md - Technology stack and architecture decisions
|
|
197
|
-
- source-tree.md - Project structure and file organization
|
|
198
|
-
|
|
199
|
-
## Backward Compatibility
|
|
200
|
-
|
|
201
|
-
For backward compatibility during the migration period (Q2-Q3 2026):
|
|
202
|
-
- aios-fullstack maintains copies in `docs/framework/` (will be removed Q3 2026)
|
|
203
|
-
- aios-fullstack maintains legacy copies in `docs/architecture/` (will be removed Q3 2026)
|
|
204
|
-
|
|
205
|
-
## Post-Migration Actions
|
|
206
|
-
|
|
207
|
-
1. Update all agent configuration files to reference new paths
|
|
208
|
-
2. Update CI/CD pipelines to use new documentation location
|
|
209
|
-
3. Add deprecation warnings to old documentation locations
|
|
210
|
-
4. Monitor for broken links and update as needed
|
|
211
|
-
|
|
212
|
-
## Rollback Procedure
|
|
213
|
-
|
|
214
|
-
If migration issues occur:
|
|
215
|
-
```bash
|
|
216
|
-
# Restore from aios-fullstack
|
|
217
|
-
cd aios-fullstack
|
|
218
|
-
git log --all --full-history -- "docs/framework/*"
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
*Auto-generated by migrate-framework-docs.sh*
|
|
224
|
-
EOF
|
|
225
|
-
|
|
226
|
-
echo -e "${GREEN}✓${NC} Migration notice created: $MIGRATION_NOTICE"
|
|
227
|
-
else
|
|
228
|
-
echo -e "${YELLOW}[DRY RUN]${NC} Would create migration notice"
|
|
229
|
-
fi
|
|
230
|
-
|
|
231
|
-
# Step 7: Verification
|
|
232
|
-
print_section "Step 7: Verification"
|
|
233
|
-
|
|
234
|
-
if [ "$DRY_RUN" = false ]; then
|
|
235
|
-
TARGET_FILE_COUNT=$(find "$TARGET_DOCS" -type f -name "*.md" ! -name "MIGRATION_NOTICE.md" | wc -l)
|
|
236
|
-
|
|
237
|
-
if [ "$TARGET_FILE_COUNT" -eq "$FILE_COUNT" ]; then
|
|
238
|
-
echo -e "${GREEN}✓${NC} All ${FILE_COUNT} files migrated successfully"
|
|
239
|
-
else
|
|
240
|
-
echo -e "${YELLOW}⚠ Warning: File count mismatch${NC}"
|
|
241
|
-
echo " Source: ${FILE_COUNT} files"
|
|
242
|
-
echo " Target: ${TARGET_FILE_COUNT} files"
|
|
243
|
-
fi
|
|
244
|
-
|
|
245
|
-
echo ""
|
|
246
|
-
echo " Migrated files:"
|
|
247
|
-
find "$TARGET_DOCS" -type f -name "*.md" ! -name "MIGRATION_NOTICE.md" | while read -r file; do
|
|
248
|
-
rel_path="${file#${TARGET_DOCS}/}"
|
|
249
|
-
file_size=$(stat -f%z "$file" 2>/dev/null || stat -c%s "$file" 2>/dev/null || echo "unknown")
|
|
250
|
-
echo " - ${rel_path} (${file_size} bytes)"
|
|
251
|
-
done
|
|
252
|
-
else
|
|
253
|
-
echo -e "${YELLOW}[DRY RUN]${NC} Verification skipped in dry-run mode"
|
|
254
|
-
fi
|
|
255
|
-
|
|
256
|
-
# Step 8: Git Operations (Optional)
|
|
257
|
-
print_section "Step 8: Git Operations (Optional)"
|
|
258
|
-
|
|
259
|
-
if [ "$DRY_RUN" = false ] && [ -d "$TARGET_REPO/.git" ]; then
|
|
260
|
-
echo -e "${YELLOW} Ready to commit changes?${NC}"
|
|
261
|
-
echo " "
|
|
262
|
-
echo " Suggested git commands:"
|
|
263
|
-
echo " cd $TARGET_REPO"
|
|
264
|
-
echo " git add docs/framework/"
|
|
265
|
-
echo " git commit -m \"docs: migrate framework documentation from aios-fullstack\""
|
|
266
|
-
echo ""
|
|
267
|
-
echo " Story: 6.1.2.6 - Framework Configuration System"
|
|
268
|
-
echo " Migrated: coding-standards.md, tech-stack.md, source-tree.md"
|
|
269
|
-
echo " Source: aios-fullstack/docs/framework/"
|
|
270
|
-
echo ""
|
|
271
|
-
echo -e "${YELLOW} Note: Review changes before committing${NC}"
|
|
272
|
-
else
|
|
273
|
-
echo -e "${YELLOW}[DRY RUN]${NC} Git operations skipped"
|
|
274
|
-
fi
|
|
275
|
-
|
|
276
|
-
# Summary
|
|
277
|
-
print_section "Migration Summary"
|
|
278
|
-
|
|
279
|
-
echo -e "${GREEN}✓${NC} Migration completed successfully!"
|
|
280
|
-
echo ""
|
|
281
|
-
echo " Source: $SOURCE_DOCS"
|
|
282
|
-
echo " Target: $TARGET_DOCS"
|
|
283
|
-
echo " Files: $FILE_COUNT migrated"
|
|
284
|
-
echo ""
|
|
285
|
-
echo " Next Steps:"
|
|
286
|
-
echo " 1. Review migrated files in $TARGET_DOCS"
|
|
287
|
-
echo " 2. Test agent activations with new paths"
|
|
288
|
-
echo " 3. Update agent config files (agent-config-requirements.yaml)"
|
|
289
|
-
echo " 4. Commit changes to aios-core repository"
|
|
290
|
-
echo " 5. Update aios-fullstack deprecation warnings (Q3 2026)"
|
|
291
|
-
echo ""
|
|
292
|
-
|
|
293
|
-
if [ "$DRY_RUN" = true ]; then
|
|
294
|
-
echo -e "${YELLOW}⚠️ This was a DRY RUN - no changes were made${NC}"
|
|
295
|
-
echo " Run without --dry-run to perform actual migration"
|
|
296
|
-
echo ""
|
|
297
|
-
fi
|
|
298
|
-
|
|
299
|
-
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
300
|
-
echo ""
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# AIOS Framework Documentation Migration Script
|
|
4
|
+
#
|
|
5
|
+
# Purpose: Migrate framework docs from aios-fullstack to aios-core (REPO 1)
|
|
6
|
+
# Story: 6.1.2.6 - Framework Configuration System
|
|
7
|
+
# Execution Timeline: Q2 2026 (Repository Migration Phase)
|
|
8
|
+
#
|
|
9
|
+
# Usage:
|
|
10
|
+
# ./migrate-framework-docs.sh [--dry-run] [--target-repo PATH]
|
|
11
|
+
#
|
|
12
|
+
# Options:
|
|
13
|
+
# --dry-run Show what would be migrated without making changes
|
|
14
|
+
# --target-repo Path to aios-core repository (default: ../aios-core)
|
|
15
|
+
# --help Show this help message
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
set -e # Exit on error
|
|
19
|
+
|
|
20
|
+
# Colors for output
|
|
21
|
+
RED='\033[0;31m'
|
|
22
|
+
GREEN='\033[0;32m'
|
|
23
|
+
YELLOW='\033[1;33m'
|
|
24
|
+
BLUE='\033[0;34m'
|
|
25
|
+
NC='\033[0m' # No Color
|
|
26
|
+
|
|
27
|
+
# Default values
|
|
28
|
+
DRY_RUN=false
|
|
29
|
+
TARGET_REPO="../aios-core"
|
|
30
|
+
SOURCE_DOCS="docs/framework"
|
|
31
|
+
|
|
32
|
+
# Parse command line arguments
|
|
33
|
+
while [[ $# -gt 0 ]]; do
|
|
34
|
+
case $1 in
|
|
35
|
+
--dry-run)
|
|
36
|
+
DRY_RUN=true
|
|
37
|
+
shift
|
|
38
|
+
;;
|
|
39
|
+
--target-repo)
|
|
40
|
+
TARGET_REPO="$2"
|
|
41
|
+
shift 2
|
|
42
|
+
;;
|
|
43
|
+
--help)
|
|
44
|
+
head -n 20 "$0" | grep "^#" | sed 's/^# //'
|
|
45
|
+
exit 0
|
|
46
|
+
;;
|
|
47
|
+
*)
|
|
48
|
+
echo -e "${RED}Error: Unknown option $1${NC}"
|
|
49
|
+
echo "Use --help for usage information"
|
|
50
|
+
exit 1
|
|
51
|
+
;;
|
|
52
|
+
esac
|
|
53
|
+
done
|
|
54
|
+
|
|
55
|
+
# Header
|
|
56
|
+
echo ""
|
|
57
|
+
echo -e "${BLUE}╔════════════════════════════════════════════════════════════╗${NC}"
|
|
58
|
+
echo -e "${BLUE}║ AIOS Framework Documentation Migration Script ║${NC}"
|
|
59
|
+
echo -e "${BLUE}║ Story 6.1.2.6: Framework Configuration System ║${NC}"
|
|
60
|
+
echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}"
|
|
61
|
+
echo ""
|
|
62
|
+
|
|
63
|
+
if [ "$DRY_RUN" = true ]; then
|
|
64
|
+
echo -e "${YELLOW}⚠️ DRY RUN MODE - No changes will be made${NC}"
|
|
65
|
+
echo ""
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
# Function: Print section header
|
|
69
|
+
print_section() {
|
|
70
|
+
echo ""
|
|
71
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
72
|
+
echo -e "${BLUE} $1${NC}"
|
|
73
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
74
|
+
echo ""
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
# Function: Execute command (respects dry-run)
|
|
78
|
+
execute() {
|
|
79
|
+
local cmd="$1"
|
|
80
|
+
local description="$2"
|
|
81
|
+
|
|
82
|
+
echo -e " ${description}"
|
|
83
|
+
|
|
84
|
+
if [ "$DRY_RUN" = true ]; then
|
|
85
|
+
echo -e " ${YELLOW}[DRY RUN]${NC} Would execute: ${cmd}"
|
|
86
|
+
else
|
|
87
|
+
echo -e " ${GREEN}[EXEC]${NC} ${cmd}"
|
|
88
|
+
eval "$cmd"
|
|
89
|
+
fi
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
# Step 1: Verify Source Directory
|
|
93
|
+
print_section "Step 1: Verify Source Directory"
|
|
94
|
+
|
|
95
|
+
if [ ! -d "$SOURCE_DOCS" ]; then
|
|
96
|
+
echo -e "${RED}✗ Error: Source directory not found: $SOURCE_DOCS${NC}"
|
|
97
|
+
echo " Please run this script from the aios-fullstack root directory"
|
|
98
|
+
exit 1
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
echo -e "${GREEN}✓${NC} Source directory found: $SOURCE_DOCS"
|
|
102
|
+
|
|
103
|
+
# Count files to migrate
|
|
104
|
+
FILE_COUNT=$(find "$SOURCE_DOCS" -type f -name "*.md" | wc -l)
|
|
105
|
+
echo -e "${GREEN}✓${NC} Found ${FILE_COUNT} files to migrate"
|
|
106
|
+
|
|
107
|
+
# List files
|
|
108
|
+
echo ""
|
|
109
|
+
echo " Files to migrate:"
|
|
110
|
+
find "$SOURCE_DOCS" -type f -name "*.md" | while read -r file; do
|
|
111
|
+
echo " - ${file}"
|
|
112
|
+
done
|
|
113
|
+
|
|
114
|
+
# Step 2: Verify Target Repository
|
|
115
|
+
print_section "Step 2: Verify Target Repository"
|
|
116
|
+
|
|
117
|
+
if [ ! -d "$TARGET_REPO" ]; then
|
|
118
|
+
echo -e "${RED}✗ Error: Target repository not found: $TARGET_REPO${NC}"
|
|
119
|
+
echo " Please clone aios-core first or specify correct path with --target-repo"
|
|
120
|
+
exit 1
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
echo -e "${GREEN}✓${NC} Target repository found: $TARGET_REPO"
|
|
124
|
+
|
|
125
|
+
# Check if target repo is a git repository
|
|
126
|
+
if [ ! -d "$TARGET_REPO/.git" ]; then
|
|
127
|
+
echo -e "${YELLOW}⚠ Warning: Target is not a git repository${NC}"
|
|
128
|
+
fi
|
|
129
|
+
|
|
130
|
+
# Step 3: Create Target Directory Structure
|
|
131
|
+
print_section "Step 3: Create Target Directory Structure"
|
|
132
|
+
|
|
133
|
+
TARGET_DOCS="$TARGET_REPO/docs/framework"
|
|
134
|
+
|
|
135
|
+
execute "mkdir -p \"$TARGET_DOCS\"" "Create target directory: $TARGET_DOCS"
|
|
136
|
+
|
|
137
|
+
# Step 4: Copy Framework Documentation
|
|
138
|
+
print_section "Step 4: Copy Framework Documentation"
|
|
139
|
+
|
|
140
|
+
find "$SOURCE_DOCS" -type f -name "*.md" | while read -r source_file; do
|
|
141
|
+
# Get relative path from source docs
|
|
142
|
+
rel_path="${source_file#${SOURCE_DOCS}/}"
|
|
143
|
+
target_file="$TARGET_DOCS/$rel_path"
|
|
144
|
+
|
|
145
|
+
# Create parent directory if needed
|
|
146
|
+
target_dir=$(dirname "$target_file")
|
|
147
|
+
if [ ! -d "$target_dir" ]; then
|
|
148
|
+
execute "mkdir -p \"$target_dir\"" "Create directory: $target_dir"
|
|
149
|
+
fi
|
|
150
|
+
|
|
151
|
+
# Copy file
|
|
152
|
+
execute "cp \"$source_file\" \"$target_file\"" "Copy: $rel_path"
|
|
153
|
+
done
|
|
154
|
+
|
|
155
|
+
# Step 5: Update Internal Links
|
|
156
|
+
print_section "Step 5: Update Internal Links"
|
|
157
|
+
|
|
158
|
+
echo -e "${YELLOW} Updating internal documentation links...${NC}"
|
|
159
|
+
|
|
160
|
+
# This is a simplified link update - may need manual review
|
|
161
|
+
if [ "$DRY_RUN" = false ]; then
|
|
162
|
+
find "$TARGET_DOCS" -type f -name "*.md" -exec sed -i.bak \
|
|
163
|
+
-e 's|../../docs/architecture/|../architecture/|g' \
|
|
164
|
+
-e 's|docs/framework/|./|g' \
|
|
165
|
+
{} \;
|
|
166
|
+
|
|
167
|
+
# Remove backup files
|
|
168
|
+
find "$TARGET_DOCS" -type f -name "*.bak" -delete
|
|
169
|
+
|
|
170
|
+
echo -e "${GREEN}✓${NC} Links updated (review recommended)"
|
|
171
|
+
else
|
|
172
|
+
echo -e "${YELLOW}[DRY RUN]${NC} Would update links in migrated files"
|
|
173
|
+
fi
|
|
174
|
+
|
|
175
|
+
# Step 6: Create Migration Notice
|
|
176
|
+
print_section "Step 6: Create Migration Notice"
|
|
177
|
+
|
|
178
|
+
MIGRATION_NOTICE="$TARGET_DOCS/MIGRATION_NOTICE.md"
|
|
179
|
+
|
|
180
|
+
if [ "$DRY_RUN" = false ]; then
|
|
181
|
+
cat > "$MIGRATION_NOTICE" << 'EOF'
|
|
182
|
+
# Framework Documentation Migration Notice
|
|
183
|
+
|
|
184
|
+
**Migration Date:** $(date +%Y-%m-%d)
|
|
185
|
+
**Source:** aios-fullstack/docs/framework/
|
|
186
|
+
**Target:** aios-core/docs/framework/
|
|
187
|
+
**Story:** 6.1.2.6 - Framework Configuration System
|
|
188
|
+
|
|
189
|
+
## Migration Status
|
|
190
|
+
|
|
191
|
+
✅ Framework documentation successfully migrated from aios-fullstack to aios-core (REPO 1)
|
|
192
|
+
|
|
193
|
+
## Files Migrated
|
|
194
|
+
|
|
195
|
+
- coding-standards.md - Official AIOS coding standards
|
|
196
|
+
- tech-stack.md - Technology stack and architecture decisions
|
|
197
|
+
- source-tree.md - Project structure and file organization
|
|
198
|
+
|
|
199
|
+
## Backward Compatibility
|
|
200
|
+
|
|
201
|
+
For backward compatibility during the migration period (Q2-Q3 2026):
|
|
202
|
+
- aios-fullstack maintains copies in `docs/framework/` (will be removed Q3 2026)
|
|
203
|
+
- aios-fullstack maintains legacy copies in `docs/architecture/` (will be removed Q3 2026)
|
|
204
|
+
|
|
205
|
+
## Post-Migration Actions
|
|
206
|
+
|
|
207
|
+
1. Update all agent configuration files to reference new paths
|
|
208
|
+
2. Update CI/CD pipelines to use new documentation location
|
|
209
|
+
3. Add deprecation warnings to old documentation locations
|
|
210
|
+
4. Monitor for broken links and update as needed
|
|
211
|
+
|
|
212
|
+
## Rollback Procedure
|
|
213
|
+
|
|
214
|
+
If migration issues occur:
|
|
215
|
+
```bash
|
|
216
|
+
# Restore from aios-fullstack
|
|
217
|
+
cd aios-fullstack
|
|
218
|
+
git log --all --full-history -- "docs/framework/*"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
*Auto-generated by migrate-framework-docs.sh*
|
|
224
|
+
EOF
|
|
225
|
+
|
|
226
|
+
echo -e "${GREEN}✓${NC} Migration notice created: $MIGRATION_NOTICE"
|
|
227
|
+
else
|
|
228
|
+
echo -e "${YELLOW}[DRY RUN]${NC} Would create migration notice"
|
|
229
|
+
fi
|
|
230
|
+
|
|
231
|
+
# Step 7: Verification
|
|
232
|
+
print_section "Step 7: Verification"
|
|
233
|
+
|
|
234
|
+
if [ "$DRY_RUN" = false ]; then
|
|
235
|
+
TARGET_FILE_COUNT=$(find "$TARGET_DOCS" -type f -name "*.md" ! -name "MIGRATION_NOTICE.md" | wc -l)
|
|
236
|
+
|
|
237
|
+
if [ "$TARGET_FILE_COUNT" -eq "$FILE_COUNT" ]; then
|
|
238
|
+
echo -e "${GREEN}✓${NC} All ${FILE_COUNT} files migrated successfully"
|
|
239
|
+
else
|
|
240
|
+
echo -e "${YELLOW}⚠ Warning: File count mismatch${NC}"
|
|
241
|
+
echo " Source: ${FILE_COUNT} files"
|
|
242
|
+
echo " Target: ${TARGET_FILE_COUNT} files"
|
|
243
|
+
fi
|
|
244
|
+
|
|
245
|
+
echo ""
|
|
246
|
+
echo " Migrated files:"
|
|
247
|
+
find "$TARGET_DOCS" -type f -name "*.md" ! -name "MIGRATION_NOTICE.md" | while read -r file; do
|
|
248
|
+
rel_path="${file#${TARGET_DOCS}/}"
|
|
249
|
+
file_size=$(stat -f%z "$file" 2>/dev/null || stat -c%s "$file" 2>/dev/null || echo "unknown")
|
|
250
|
+
echo " - ${rel_path} (${file_size} bytes)"
|
|
251
|
+
done
|
|
252
|
+
else
|
|
253
|
+
echo -e "${YELLOW}[DRY RUN]${NC} Verification skipped in dry-run mode"
|
|
254
|
+
fi
|
|
255
|
+
|
|
256
|
+
# Step 8: Git Operations (Optional)
|
|
257
|
+
print_section "Step 8: Git Operations (Optional)"
|
|
258
|
+
|
|
259
|
+
if [ "$DRY_RUN" = false ] && [ -d "$TARGET_REPO/.git" ]; then
|
|
260
|
+
echo -e "${YELLOW} Ready to commit changes?${NC}"
|
|
261
|
+
echo " "
|
|
262
|
+
echo " Suggested git commands:"
|
|
263
|
+
echo " cd $TARGET_REPO"
|
|
264
|
+
echo " git add docs/framework/"
|
|
265
|
+
echo " git commit -m \"docs: migrate framework documentation from aios-fullstack\""
|
|
266
|
+
echo ""
|
|
267
|
+
echo " Story: 6.1.2.6 - Framework Configuration System"
|
|
268
|
+
echo " Migrated: coding-standards.md, tech-stack.md, source-tree.md"
|
|
269
|
+
echo " Source: aios-fullstack/docs/framework/"
|
|
270
|
+
echo ""
|
|
271
|
+
echo -e "${YELLOW} Note: Review changes before committing${NC}"
|
|
272
|
+
else
|
|
273
|
+
echo -e "${YELLOW}[DRY RUN]${NC} Git operations skipped"
|
|
274
|
+
fi
|
|
275
|
+
|
|
276
|
+
# Summary
|
|
277
|
+
print_section "Migration Summary"
|
|
278
|
+
|
|
279
|
+
echo -e "${GREEN}✓${NC} Migration completed successfully!"
|
|
280
|
+
echo ""
|
|
281
|
+
echo " Source: $SOURCE_DOCS"
|
|
282
|
+
echo " Target: $TARGET_DOCS"
|
|
283
|
+
echo " Files: $FILE_COUNT migrated"
|
|
284
|
+
echo ""
|
|
285
|
+
echo " Next Steps:"
|
|
286
|
+
echo " 1. Review migrated files in $TARGET_DOCS"
|
|
287
|
+
echo " 2. Test agent activations with new paths"
|
|
288
|
+
echo " 3. Update agent config files (agent-config-requirements.yaml)"
|
|
289
|
+
echo " 4. Commit changes to aios-core repository"
|
|
290
|
+
echo " 5. Update aios-fullstack deprecation warnings (Q3 2026)"
|
|
291
|
+
echo ""
|
|
292
|
+
|
|
293
|
+
if [ "$DRY_RUN" = true ]; then
|
|
294
|
+
echo -e "${YELLOW}⚠️ This was a DRY RUN - no changes were made${NC}"
|
|
295
|
+
echo " Run without --dry-run to perform actual migration"
|
|
296
|
+
echo ""
|
|
297
|
+
fi
|
|
298
|
+
|
|
299
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
300
|
+
echo ""
|