Files
scripts/IMPLEMENTATION_CHECKLIST.md
2026-02-09 21:51:52 -08:00

258 lines
7.7 KiB
Markdown

# Scripts Modularization - Implementation Checklist
**Date**: 2025-01-27
**Total Scripts**: 30
**Status**: Ready to Begin
---
## ✅ Phase 1: Script Migration (30 scripts)
### Migration Scripts (6 scripts)
- [ ] `migrate-readme.sh``migration/migrate-readme.sh`
- [ ] `migrate-terraform.sh``migration/migrate-terraform.sh`
- [ ] `migrate-to-api-gateway.sh``migration/migrate-to-api-gateway.sh`
- [ ] `migrate-to-k8s.sh``migration/migrate-to-k8s.sh`
- [ ] `migrate-to-monitoring.sh``migration/migrate-to-monitoring.sh`
- [ ] `migrate-to-shared-packages.sh``migration/migrate-to-shared-packages.sh`
### Metrics Scripts (10 scripts)
- [ ] `collect-code-metrics.sh``metrics/collect/collect-code-metrics.sh`
- [ ] `collect-deployment-metrics.sh``metrics/collect/collect-deployment-metrics.sh`
- [ ] `collect-developer-metrics.sh``metrics/collect/collect-developer-metrics.sh`
- [ ] `collect-infrastructure-metrics.sh``metrics/collect/collect-infrastructure-metrics.sh`
- [ ] `collect-operational-metrics.sh``metrics/collect/collect-operational-metrics.sh`
- [ ] `collect-service-metrics.sh``metrics/collect/collect-service-metrics.sh`
- [ ] `track-all-metrics.sh``metrics/track-all-metrics.sh`
- [ ] `track-success-metrics.sh``metrics/track-success-metrics.sh`
- [ ] `update-metrics.sh``metrics/update-metrics.sh`
- [ ] `generate-metrics-report.sh``metrics/generate-metrics-report.sh`
### DBIS Scripts (4 scripts)
- [ ] `automate-dbis-migration.sh``dbis/automate-dbis-migration.sh`
- [ ] `migrate-all-dbis-projects.sh``dbis/migrate-all-dbis-projects.sh`
- [ ] `migrate-dbis-project.sh``dbis/migrate-dbis-project.sh`
- [ ] `test-dbis-migration.sh``dbis/test-dbis-migration.sh`
### Infrastructure Scripts (2 scripts)
- [ ] `setup-shared-infrastructure.sh``infrastructure/setup-shared-infrastructure.sh`
- [ ] `setup.sh``infrastructure/setup.sh`
### Utility Scripts (8 scripts)
- [ ] `analyze-costs.sh``utils/analyze-costs.sh`
- [ ] `optimize-builds.sh``utils/optimize-builds.sh`
- [ ] `deps-analyze.sh``utils/deps-analyze.sh`
- [ ] `deps-audit.sh``utils/deps-audit.sh`
- [ ] `build-all.sh``utils/build-all.sh`
- [ ] `test-all.sh``utils/test-all.sh`
- [ ] `verify-all.sh``utils/verify-all.sh`
- [ ] `cleanup.sh``utils/cleanup.sh`
**Command to move all at once:**
```bash
cd /home/intlc/projects/scripts
mv migrate-readme.sh migrate-terraform.sh migrate-to-*.sh migration/
mv collect-*.sh metrics/collect/
mv track-*.sh update-metrics.sh generate-metrics-report.sh metrics/
mv *dbis*.sh dbis/
mv setup*.sh infrastructure/
mv analyze-costs.sh optimize-builds.sh deps-*.sh build-all.sh test-all.sh verify-all.sh cleanup.sh utils/
```
---
## ✅ Phase 2: Update Scripts to Use Libraries (30 scripts)
For each script, add this at the top (after shebang):
```bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/init.sh"
```
### Migration Scripts (6)
- [ ] `migration/migrate-readme.sh`
- [ ] `migration/migrate-terraform.sh`
- [ ] `migration/migrate-to-api-gateway.sh`
- [ ] `migration/migrate-to-k8s.sh`
- [ ] `migration/migrate-to-monitoring.sh`
- [ ] `migration/migrate-to-shared-packages.sh`
### Metrics Scripts (10)
- [ ] `metrics/collect/collect-code-metrics.sh`
- [ ] `metrics/collect/collect-deployment-metrics.sh`
- [ ] `metrics/collect/collect-developer-metrics.sh`
- [ ] `metrics/collect/collect-infrastructure-metrics.sh`
- [ ] `metrics/collect/collect-operational-metrics.sh`
- [ ] `metrics/collect/collect-service-metrics.sh`
- [ ] `metrics/track-all-metrics.sh`
- [ ] `metrics/track-success-metrics.sh`
- [ ] `metrics/update-metrics.sh`
- [ ] `metrics/generate-metrics-report.sh`
### DBIS Scripts (4)
- [ ] `dbis/automate-dbis-migration.sh`
- [ ] `dbis/migrate-all-dbis-projects.sh`
- [ ] `dbis/migrate-dbis-project.sh`
- [ ] `dbis/test-dbis-migration.sh`
### Infrastructure Scripts (2)
- [ ] `infrastructure/setup-shared-infrastructure.sh`
- [ ] `infrastructure/setup.sh`
### Utility Scripts (8)
- [ ] `utils/analyze-costs.sh`
- [ ] `utils/optimize-builds.sh`
- [ ] `utils/deps-analyze.sh`
- [ ] `utils/deps-audit.sh`
- [ ] `utils/build-all.sh`
- [ ] `utils/test-all.sh`
- [ ] `utils/verify-all.sh`
- [ ] `utils/cleanup.sh`
**Replace patterns:**
- `echo "..."``log_info "..."` or `log_error "..."` or `log_success "..."` or `log_warn "..."`
- `command -v tool``require_command tool` or `check_command tool`
- `mkdir -p dir``ensure_dir dir`
- Add `validate_project_name "$1"` where appropriate
- Add `set_error_trap` for error handling
---
## ✅ Phase 3: Update References
### Documentation Files
- [ ] `README.md` (project root)
- [ ] `QUICK_START_GUIDE.md`
- [ ] `PROJECT_INDEX.md`
- [ ] `INTEGRATION_TASKS_LIST.md`
- [ ] All files in `docs/` directory
### CI/CD Workflows
- [ ] `.github/workflows/ci-pilot-template.yml`
- [ ] `.github/workflows/publish-shared-packages.yml`
- [ ] `.github/workflows/infrastructure-deploy.yml`
- [ ] `.github/workflows/metrics-collection.yml`
### Search and Update
```bash
# Find all references
grep -r "scripts/migrate-to-k8s.sh" . --exclude-dir=node_modules
grep -r "scripts/collect-" . --exclude-dir=node_modules
grep -r "scripts/track-" . --exclude-dir=node_modules
grep -r "scripts/setup.sh" . --exclude-dir=node_modules
```
---
## ✅ Phase 4: Testing
### Library Tests
- [ ] Test `lib/init.sh` loads correctly
- [ ] Test each library function individually
- [ ] Test logging functions output correctly
- [ ] Test validation functions work
### Script Tests
- [ ] Test each migration script with `--help` or no args
- [ ] Test each metrics script
- [ ] Test each DBIS script
- [ ] Test each infrastructure script
- [ ] Test each utility script
### Integration Tests
- [ ] Test scripts from project root
- [ ] Test scripts calling other scripts
- [ ] Test error handling
- [ ] Test input validation
### Make Executable
```bash
find scripts -name "*.sh" -exec chmod +x {} \;
```
---
## ✅ Phase 5: Quality Assurance
### Linting
```bash
find scripts -name "*.sh" -exec shellcheck {} \;
```
- [ ] Fix all shellcheck warnings
- [ ] Fix syntax errors
- [ ] Verify shebang lines
### Consistency
- [ ] All scripts use libraries
- [ ] All scripts have help text
- [ ] All scripts validate inputs
- [ ] All scripts use logging functions
---
## ✅ Phase 6: Final Verification
- [ ] All 30 scripts moved
- [ ] All 30 scripts updated
- [ ] All scripts tested
- [ ] All documentation updated
- [ ] All references updated
- [ ] All scripts executable
- [ ] No linting errors
- [ ] No broken paths
---
## 📊 Progress Summary
**Phase 1 (Migration)**: 0/30 (0%)
**Phase 2 (Updates)**: 0/30 (0%)
**Phase 3 (References)**: 0%
**Phase 4 (Testing)**: 0%
**Phase 5 (QA)**: 0%
**Phase 6 (Verification)**: 0%
**Overall Progress**: 0%
---
## 🚀 Quick Start
### 1. Move All Scripts
```bash
cd /home/intlc/projects/scripts
mv migrate-readme.sh migrate-terraform.sh migrate-to-*.sh migration/
mv collect-*.sh metrics/collect/
mv track-*.sh update-metrics.sh generate-metrics-report.sh metrics/
mv *dbis*.sh dbis/
mv setup*.sh infrastructure/
mv analyze-costs.sh optimize-builds.sh deps-*.sh build-all.sh test-all.sh verify-all.sh cleanup.sh utils/
```
### 2. Make All Executable
```bash
find scripts -name "*.sh" -exec chmod +x {} \;
```
### 3. Update First Script (Example)
```bash
# Edit migration/migrate-to-k8s.sh
# Add after shebang:
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../lib/init.sh"
# Replace echo with log_info, log_error, etc.
# Add validate_project_name "$1"
```
### 4. Test
```bash
./scripts/migration/migrate-to-k8s.sh test-project
```
---
**Status**: Ready to Begin
**Next Action**: Start Phase 1 - Move Scripts