Guide Origin: Official | ArcKit Version: [VERSION]
migrate-filenames.sh converts legacy ArcKit filenames to the standardized Document ID naming convention.
Platform note: This migration script requires a bash shell (Linux, macOS, or Windows via Git Bash / WSL). It is a one-time migration utility and does not affect day-to-day ArcKit command usage.
ArcKit uses standardized Document IDs for all artifacts:
ARC-{PROJECT_ID}-{TYPE}-v{VERSION}.md
Examples:
ARC-001-REQ-v1.0.md- Requirements for project 001ARC-001-ADR-001-v1.0.md- First ADR for project 001ARC-000-PRIN-v1.0.md- Global architecture principles
# Single project
${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh projects/001-my-project
# Dry run (preview changes)
${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh projects/001-my-project --dry-run
# All projects
${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh --all
# Global directory only
${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh --global| Option | Description |
|---|---|
--dry-run |
Preview changes without modifying files |
--all |
Migrate all projects in projects/ directory |
--global |
Migrate only projects/000-global/ |
--force |
Overwrite existing files if they exist |
--no-backup |
Skip creating backup (not recommended) |
--help, -h |
Show help message |
| Old Filename | Type Code | New Filename |
|---|---|---|
requirements.md |
REQ | ARC-{PID}-REQ-v1.0.md |
stakeholder-drivers.md |
STKE | ARC-{PID}-STKE-v1.0.md |
stakeholder-analysis.md |
STKE | ARC-{PID}-STKE-v1.0.md |
risk-register.md |
RISK | ARC-{PID}-RISK-v1.0.md |
sobc.md |
SOBC | ARC-{PID}-SOBC-v1.0.md |
data-model.md |
DATA | ARC-{PID}-DATA-v1.0.md |
research-findings.md |
RSCH | ARC-{PID}-RSCH-v1.0.md |
traceability-matrix.md |
TRAC | ARC-{PID}-TRAC-v1.0.md |
analysis-report.md |
ANAL | ARC-{PID}-ANAL-v1.0.md |
| Old Filename | Type Code | New Filename |
|---|---|---|
architecture-principles.md |
PRIN | ARC-000-PRIN-v1.0.md |
principles.md |
PRIN | ARC-000-PRIN-v1.0.md |
| Old Filename | Type Code | New Filename |
|---|---|---|
project-plan.md |
PLAN | ARC-{PID}-PLAN-v1.0.md |
roadmap.md |
ROAD | ARC-{PID}-ROAD-v1.0.md |
backlog.md |
BKLG | ARC-{PID}-BKLG-v1.0.md |
devops-strategy.md |
DEVOPS | ARC-{PID}-DEVOPS-v1.0.md |
mlops-strategy.md |
MLOPS | ARC-{PID}-MLOPS-v1.0.md |
finops-strategy.md |
FINOPS | ARC-{PID}-FINOPS-v1.0.md |
operational-readiness.md |
OPS | ARC-{PID}-OPS-v1.0.md |
servicenow-design.md |
SNOW | ARC-{PID}-SNOW-v1.0.md |
platform-design.md |
PLAT | ARC-{PID}-PLAT-v1.0.md |
| Old Filename | Type Code | New Filename |
|---|---|---|
sow.md |
SOW | ARC-{PID}-SOW-v1.0.md |
dos-requirements.md |
DOS | ARC-{PID}-DOS-v1.0.md |
digital-marketplace-dos.md |
DOS | ARC-{PID}-DOS-v1.0.md |
gcloud-requirements.md |
GCLD | ARC-{PID}-GCLD-v1.0.md |
gcloud-clarification-questions.md |
GCLC | ARC-{PID}-GCLC-v1.0.md |
evaluation-criteria.md |
EVAL | ARC-{PID}-EVAL-v1.0.md |
| Old Filename | Type Code | New Filename |
|---|---|---|
tcop-review.md |
TCOP | ARC-{PID}-TCOP-v1.0.md |
tcop-assessment.md |
TCOP | ARC-{PID}-TCOP-v1.0.md |
ukgov-secure-by-design.md |
SECD | ARC-{PID}-SECD-v1.0.md |
secure-by-design.md |
SECD | ARC-{PID}-SECD-v1.0.md |
mod-secure-by-design.md |
SECD-MOD | ARC-{PID}-SECD-MOD-v1.0.md |
ai-playbook-assessment.md |
AIPB | ARC-{PID}-AIPB-v1.0.md |
atrs-record.md |
ATRS | ARC-{PID}-ATRS-v1.0.md |
jsp-936.md |
JSP936 | ARC-{PID}-JSP936-v1.0.md |
jsp936.md |
JSP936 | ARC-{PID}-JSP936-v1.0.md |
dpia.md |
DPIA | ARC-{PID}-DPIA-v1.0.md |
principles-compliance-assessment.md |
PRIN-COMP | ARC-{PID}-PRIN-COMP-v1.0.md |
| Old Filename | Type Code | New Filename |
|---|---|---|
hld-review.md |
HLDR | ARC-{PID}-HLDR-v1.0.md |
dld-review.md |
DLDR | ARC-{PID}-DLDR-v1.0.md |
| Old Filename | Type Code | New Filename |
|---|---|---|
PROJECT-STORY.md |
STORY | ARC-{PID}-STORY-v1.0.md |
Files in these subdirectories are renamed with sequence numbers:
| Subdirectory | Type Code | New Pattern |
|---|---|---|
decisions/ |
ADR | ARC-{PID}-ADR-{NNN}-v1.0.md |
diagrams/ |
DIAG | ARC-{PID}-DIAG-{NNN}-v1.0.md |
wardley-maps/ |
WARD | ARC-{PID}-WARD-{NNN}-v1.0.md |
data-contracts/ |
DMC | ARC-{PID}-DMC-{NNN}-v1.0.md |
research/ |
RSCH | ARC-{PID}-RSCH-{NNN}-v1.0.md |
Root-level research files are moved to research/ subdirectory:
| Pattern | Migrated To |
|---|---|
research-*.md |
research/ARC-{PID}-RSCH-{NNN}-v1.0.md |
research.md |
research/ARC-{PID}-RSCH-{NNN}-v1.0.md |
Files in procurement/ are migrated to the project root:
Before:
projects/001-project/procurement/gcloud-requirements.md
projects/001-project/procurement/digital-marketplace-dos.md
After:
projects/001-project/ARC-001-GCLD-v1.0.md
projects/001-project/ARC-001-DOS-v1.0.md
HLD and DLD review files are moved to reviews/:
Before:
projects/001-project/hld-review.md
After:
projects/001-project/reviews/ARC-001-HLDR-v1.0.md
The migration script checks these legacy locations for principles:
| Legacy Location | Migrated To |
|---|---|
.arckit/memory/architecture-principles.md |
projects/000-global/ARC-000-PRIN-v1.0.md |
.arckit/memory/principles.md |
projects/000-global/ARC-000-PRIN-v1.0.md |
Files matching these patterns are moved to diagrams/:
| Pattern | Migrated To |
|---|---|
*-diagram.md |
diagrams/ARC-{PID}-DIAG-{NNN}-v1.0.md |
diagram-*.md |
diagrams/ARC-{PID}-DIAG-{NNN}-v1.0.md |
Files matching these patterns are moved to wardley-maps/:
| Pattern | Migrated To |
|---|---|
*-wardley.md |
wardley-maps/ARC-{PID}-WARD-{NNN}-v1.0.md |
*-map.md |
wardley-maps/ARC-{PID}-WARD-{NNN}-v1.0.md |
Some compliance files have date suffixes. These are handled specially:
| Pattern | Migrated To |
|---|---|
principles-compliance-assessment-YYYY-MM-DD.md |
ARC-{PID}-PRIN-COMP-v1.0.md |
service-assessment-*-prep.md |
ARC-{PID}-SVCASS-v1.0.md |
By default, the script creates a timestamped backup before making changes:
projects/001-project/.backup/20260128_143022/
├── requirements.md
├── stakeholder-drivers.md
└── risk-register.md
Use --no-backup to skip backups (not recommended).
${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh --all --dry-runOutput:
[INFO] Migrating project: 001-payment-gateway (ID: 001)
[DRY-RUN] Would rename: requirements.md → ARC-001-REQ-v1.0.md
[DRY-RUN] Would rename: stakeholder-drivers.md → ARC-001-STKE-v1.0.md
[DRY-RUN] Would rename: risk-register.md → ARC-001-RISK-v1.0.md
[DRY-RUN] No changes made
${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh --globalThis will:
- Create
projects/000-global/if it doesn't exist - Check
.arckit/memory/for legacy principles files - Migrate to
projects/000-global/ARC-000-PRIN-v1.0.md
${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh projects/001-payment-gateway${CLAUDE_PLUGIN_ROOT}/scripts/bash/migrate-filenames.sh projects/001-payment-gateway --force- Review backups: Check
.backup/directories for original files - Update references: Search for old filenames in documentation
- Run pages command: Regenerate documentation site with
/arckit.pages - Commit changes: Add migrated files to version control
Project directories must follow the pattern {NNN}-{name}:
- Valid:
001-payment-gateway,002-user-auth - Invalid:
payment-gateway,project1
A file with the new name already exists. Use --force to overwrite.
Check that the filename matches a known mapping. The script only migrates recognized ArcKit artifact names.
- Ran
--dry-runfirst to preview changes - Verified backup directory was created
- Checked all expected files were migrated
- Updated cross-references in documentation
- Regenerated GitHub Pages with
/arckit.pages - Committed changes to version control
- Non-destructive: Original files are backed up before migration
- Idempotent: Already-migrated files are skipped
- Predictable: Consistent naming pattern across all projects
- Traceable: Document IDs enable cross-referencing