diff --git a/Makefile b/Makefile index 84735d2..32c5fcf 100644 --- a/Makefile +++ b/Makefile @@ -1,55 +1,48 @@ .PHONY: install uninstall status -CLAUDE_DIR := $(HOME)/.claude +OPENCODE_DIR := $(HOME)/.config/opencode REPO_DIR := $(shell pwd) # Items to symlink -ITEMS := scripts skills agents settings.json +ITEMS := skills tools agents # LLM services to manage -LLM_SERVICES := atlas forge swift sage +LLM_SERVICES := atlas forge swift install: - @echo "Installing Claude Code config symlinks..." - @mkdir -p $(CLAUDE_DIR) + @echo "Installing OpenCode config symlinks..." + @mkdir -p $(OPENCODE_DIR) @for item in $(ITEMS); do \ - if [ -e "$(REPO_DIR)/$$item" ]; then \ - if [ -L "$(CLAUDE_DIR)/$$item" ]; then \ + if [ -e "$(REPO_DIR)/.opencode/$$item" ]; then \ + if [ -L "$(OPENCODE_DIR)/$$item" ]; then \ echo " $$item: already symlinked"; \ - elif [ -e "$(CLAUDE_DIR)/$$item" ]; then \ - echo " $$item: backing up existing to $$item.bak"; \ - mv "$(CLAUDE_DIR)/$$item" "$(CLAUDE_DIR)/$$item.bak"; \ - ln -s "$(REPO_DIR)/$$item" "$(CLAUDE_DIR)/$$item"; \ - echo " $$item: symlinked"; \ else \ - ln -s "$(REPO_DIR)/$$item" "$(CLAUDE_DIR)/$$item"; \ + ln -s "$(REPO_DIR)/.opencode/$$item" "$(OPENCODE_DIR)/$$item"; \ echo " $$item: symlinked"; \ fi \ + else \ + echo " $$item: skipped (not found)"; \ fi \ done - @echo "Done! Restart Claude Code to apply changes." + @echo "Done!" uninstall: - @echo "Removing Claude Code config symlinks..." + @echo "Removing OpenCode config symlinks..." @for item in $(ITEMS); do \ - if [ -L "$(CLAUDE_DIR)/$$item" ]; then \ - rm "$(CLAUDE_DIR)/$$item"; \ + if [ -L "$(OPENCODE_DIR)/$$item" ]; then \ + rm "$(OPENCODE_DIR)/$$item"; \ echo " $$item: removed symlink"; \ - if [ -e "$(CLAUDE_DIR)/$$item.bak" ]; then \ - mv "$(CLAUDE_DIR)/$$item.bak" "$(CLAUDE_DIR)/$$item"; \ - echo " $$item: restored backup"; \ - fi \ fi \ done @echo "Done!" status: - @echo "Claude Code config status:" + @echo "OpenCode config status:" @for item in $(ITEMS); do \ - if [ -L "$(CLAUDE_DIR)/$$item" ]; then \ - target=$$(readlink "$(CLAUDE_DIR)/$$item"); \ + if [ -L "$(OPENCODE_DIR)/$$item" ]; then \ + target=$$(readlink "$(OPENCODE_DIR)/$$item"); \ echo " $$item: symlink -> $$target"; \ - elif [ -e "$(CLAUDE_DIR)/$$item" ]; then \ + elif [ -e "$(OPENCODE_DIR)/$$item" ]; then \ echo " $$item: exists (not symlinked)"; \ else \ echo " $$item: not found"; \ @@ -58,7 +51,7 @@ status: restart-llm-%: @echo "Restarting com.vllm-mlx-$*..." - @launchctl bootout gui/$$(id -u) ~/Library/LaunchAgents/com.vllm-mlx-$*.plist || true - @launchctl bootstrap gui/$$(id -u) ~/Library/LaunchAgents/com.vllm-mlx-$*.plist + @launchctl bootout gui/$$(id -u) ~/Library/LaunchAgents/com.vllm-mlx.$*.plist || true + @launchctl bootstrap gui/$$(id -u) ~/Library/LaunchAgents/com.vllm-mlx.$*.plist -restart-llm: $(patsubst %,restart-llm-%,$(LLM_SERVICES)) +restart-llm: $(patsubst %,restart-llm-%,$(LLM_SERVICES)) \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..39f01eb --- /dev/null +++ b/README.md @@ -0,0 +1,155 @@ +# Architecture + +The organizational source of truth for how we build software with OpenCode. + +This repository contains the structure for our OpenCode configuration: skills, tools, and agents that make AI-assisted development predictable and effective. + +## Core Concepts + +OpenCode uses three component types: + +| Component | Location | Purpose | Example | +|-----------|----------|---------|---------| +| **Skills** | `.opencode/skills/` | Reference knowledge | `issue-writing` knows how to structure good issues | +| **Tools** | `.opencode/tools/` | Custom functions | `spawn_issues` implements multiple issues in parallel | +| **Agents** | `.opencode/agents/` | Specialized subagents | `code-reviewer` handles PR reviews | + +## Quick Start + +### Installation + +```bash +# Clone the repository +git clone ssh://git@code.flowmade.one/flowmade-one/architecture.git +cd architecture + +# Install symlinks to ~/.config/opencode/ +make install +``` + +This creates symlinks at: +- `~/.config/opencode/skills/` → `.opencode/skills/` +- `~/.config/opencode/tools/` → `.opencode/tools/` +- `~/.config/opencode/agents/` → `.opencode/agents/` + +### Uninstallation + +```bash +make uninstall +``` + +### Status + +```bash +make status +``` + +Shows current symlink state for each component. + +### Restart LLMs + +```bash +make restart-llm +``` + +Restarts all local LLM services (atlas, forge, swift). + +## Project Structure + +``` +architecture/ +├── legacy/ # Historical Claude Code content +│ ├── old/ # Early Claude Code structure +│ ├── old2/ # Most recent Claude Code structure +│ ├── docs/ # Documentation +│ ├── learnings/ # Governance learnings +│ └── scripts/ # Bash scripts +│ +├── .opencode/ # OpenCode configuration +│ ├── skills/ # Reference knowledge (SKILL.md files) +│ ├── tools/ # Custom tools (TypeScript/JS) +│ └── agents/ # Specialized subagents (AGENT.md files) +│ +├── Makefile # Symlink management +├── settings.json # Historical reference (Claude Code) +└── README.md # This file +``` + +## Adding Components + +### Skills + +Create `.opencode/skills//SKILL.md`: + +```markdown +--- +name: skill-name +description: What this skill does and when to use it +--- + +# Skill Title + +Content goes here... +``` + +Skills are auto-discovered by OpenCode and available via the `skill` tool. + +### Tools + +Create `.opencode/tools/.ts`: + +```typescript +import { tool } from "@opencode-ai/plugin" + +export default tool({ + description: "What this tool does", + args: { + param: tool.schema.string().describe("Parameter description"), + }, + async execute(args) { + // Your implementation + return "result" + }, +}) +``` + +Tools are auto-discovered and available to the LLM. + +### Agents + +Create `.opencode/agents/.md`: + +```markdown +--- +description: What this agent does and when to use it +mode: subagent +permission: + edit: deny + bash: deny +--- + +You are an agent that specializes in... +``` + +Agents can be invoked with `@agent-name` or automatically by primary agents. + +## Referencing Legacy Content + +The `legacy/` folder contains the original Claude Code structure for reference: + +- **`legacy/old2/`** - Most recent Claude Code structure with skills, agents, commands +- **`legacy/old2/manifesto.md`** - Organization vision and beliefs +- **`legacy/old2/software-architecture.md`** - Architectural patterns and principles +- **`legacy/old2/learnings/`** - Historical learnings (if any) + +These are preserved for historical reference but not actively used by OpenCode. + +## Existing OpenCode Configuration + +Your global OpenCode configuration is at `~/.config/opencode/opencode.json`. This repository does not manage that file. + +The `settings.json` in this repository is kept for historical reference (it was used with Claude Code). + +## License + +MIT \ No newline at end of file diff --git a/docs/writing-capabilities.md b/legacy/docs/writing-capabilities.md similarity index 100% rename from docs/writing-capabilities.md rename to legacy/docs/writing-capabilities.md diff --git a/learnings/README.md b/legacy/learnings/README.md similarity index 100% rename from learnings/README.md rename to legacy/learnings/README.md diff --git a/old/agents/code-reviewer/AGENT.md b/legacy/old/agents/code-reviewer/AGENT.md similarity index 100% rename from old/agents/code-reviewer/AGENT.md rename to legacy/old/agents/code-reviewer/AGENT.md diff --git a/old/agents/issue-worker/agent.md b/legacy/old/agents/issue-worker/agent.md similarity index 100% rename from old/agents/issue-worker/agent.md rename to legacy/old/agents/issue-worker/agent.md diff --git a/old/agents/pr-fixer/agent.md b/legacy/old/agents/pr-fixer/agent.md similarity index 100% rename from old/agents/pr-fixer/agent.md rename to legacy/old/agents/pr-fixer/agent.md diff --git a/old/agents/software-architect/agent.md b/legacy/old/agents/software-architect/agent.md similarity index 100% rename from old/agents/software-architect/agent.md rename to legacy/old/agents/software-architect/agent.md diff --git a/old/skills/arch-refine-issue/SKILL.md b/legacy/old/skills/arch-refine-issue/SKILL.md similarity index 100% rename from old/skills/arch-refine-issue/SKILL.md rename to legacy/old/skills/arch-refine-issue/SKILL.md diff --git a/old/skills/arch-review-repo/SKILL.md b/legacy/old/skills/arch-review-repo/SKILL.md similarity index 100% rename from old/skills/arch-review-repo/SKILL.md rename to legacy/old/skills/arch-review-repo/SKILL.md diff --git a/old/skills/backlog-grooming/SKILL.md b/legacy/old/skills/backlog-grooming/SKILL.md similarity index 100% rename from old/skills/backlog-grooming/SKILL.md rename to legacy/old/skills/backlog-grooming/SKILL.md diff --git a/old/skills/claude-md-writing/SKILL.md b/legacy/old/skills/claude-md-writing/SKILL.md similarity index 100% rename from old/skills/claude-md-writing/SKILL.md rename to legacy/old/skills/claude-md-writing/SKILL.md diff --git a/old/skills/code-review/SKILL.md b/legacy/old/skills/code-review/SKILL.md similarity index 100% rename from old/skills/code-review/SKILL.md rename to legacy/old/skills/code-review/SKILL.md diff --git a/old/skills/commit/SKILL.md b/legacy/old/skills/commit/SKILL.md similarity index 100% rename from old/skills/commit/SKILL.md rename to legacy/old/skills/commit/SKILL.md diff --git a/old/skills/create-issue/SKILL.md b/legacy/old/skills/create-issue/SKILL.md similarity index 100% rename from old/skills/create-issue/SKILL.md rename to legacy/old/skills/create-issue/SKILL.md diff --git a/old/skills/create-repo/SKILL.md b/legacy/old/skills/create-repo/SKILL.md similarity index 100% rename from old/skills/create-repo/SKILL.md rename to legacy/old/skills/create-repo/SKILL.md diff --git a/old/skills/dashboard/SKILL.md b/legacy/old/skills/dashboard/SKILL.md similarity index 100% rename from old/skills/dashboard/SKILL.md rename to legacy/old/skills/dashboard/SKILL.md diff --git a/old/skills/groom/SKILL.md b/legacy/old/skills/groom/SKILL.md similarity index 100% rename from old/skills/groom/SKILL.md rename to legacy/old/skills/groom/SKILL.md diff --git a/old/skills/improve/SKILL.md b/legacy/old/skills/improve/SKILL.md similarity index 100% rename from old/skills/improve/SKILL.md rename to legacy/old/skills/improve/SKILL.md diff --git a/old/skills/issue-writing/SKILL.md b/legacy/old/skills/issue-writing/SKILL.md similarity index 100% rename from old/skills/issue-writing/SKILL.md rename to legacy/old/skills/issue-writing/SKILL.md diff --git a/old/skills/manifesto/SKILL.md b/legacy/old/skills/manifesto/SKILL.md similarity index 100% rename from old/skills/manifesto/SKILL.md rename to legacy/old/skills/manifesto/SKILL.md diff --git a/old/skills/plan-issues/SKILL.md b/legacy/old/skills/plan-issues/SKILL.md similarity index 100% rename from old/skills/plan-issues/SKILL.md rename to legacy/old/skills/plan-issues/SKILL.md diff --git a/old/skills/pr/SKILL.md b/legacy/old/skills/pr/SKILL.md similarity index 100% rename from old/skills/pr/SKILL.md rename to legacy/old/skills/pr/SKILL.md diff --git a/old/skills/repo-conventions/SKILL.md b/legacy/old/skills/repo-conventions/SKILL.md similarity index 100% rename from old/skills/repo-conventions/SKILL.md rename to legacy/old/skills/repo-conventions/SKILL.md diff --git a/old/skills/retro/SKILL.md b/legacy/old/skills/retro/SKILL.md similarity index 100% rename from old/skills/retro/SKILL.md rename to legacy/old/skills/retro/SKILL.md diff --git a/old/skills/review-pr/SKILL.md b/legacy/old/skills/review-pr/SKILL.md similarity index 100% rename from old/skills/review-pr/SKILL.md rename to legacy/old/skills/review-pr/SKILL.md diff --git a/old/skills/roadmap-planning/SKILL.md b/legacy/old/skills/roadmap-planning/SKILL.md similarity index 100% rename from old/skills/roadmap-planning/SKILL.md rename to legacy/old/skills/roadmap-planning/SKILL.md diff --git a/old/skills/roadmap/SKILL.md b/legacy/old/skills/roadmap/SKILL.md similarity index 100% rename from old/skills/roadmap/SKILL.md rename to legacy/old/skills/roadmap/SKILL.md diff --git a/old/skills/software-architecture/SKILL.md b/legacy/old/skills/software-architecture/SKILL.md similarity index 100% rename from old/skills/software-architecture/SKILL.md rename to legacy/old/skills/software-architecture/SKILL.md diff --git a/old/skills/spawn-issues/SKILL.md b/legacy/old/skills/spawn-issues/SKILL.md similarity index 100% rename from old/skills/spawn-issues/SKILL.md rename to legacy/old/skills/spawn-issues/SKILL.md diff --git a/old/skills/spawn-pr-fixes/SKILL.md b/legacy/old/skills/spawn-pr-fixes/SKILL.md similarity index 100% rename from old/skills/spawn-pr-fixes/SKILL.md rename to legacy/old/skills/spawn-pr-fixes/SKILL.md diff --git a/old/skills/update-claude-md/SKILL.md b/legacy/old/skills/update-claude-md/SKILL.md similarity index 100% rename from old/skills/update-claude-md/SKILL.md rename to legacy/old/skills/update-claude-md/SKILL.md diff --git a/old/skills/vision-management/SKILL.md b/legacy/old/skills/vision-management/SKILL.md similarity index 100% rename from old/skills/vision-management/SKILL.md rename to legacy/old/skills/vision-management/SKILL.md diff --git a/old/skills/vision/SKILL.md b/legacy/old/skills/vision/SKILL.md similarity index 100% rename from old/skills/vision/SKILL.md rename to legacy/old/skills/vision/SKILL.md diff --git a/old/skills/work-issue/SKILL.md b/legacy/old/skills/work-issue/SKILL.md similarity index 100% rename from old/skills/work-issue/SKILL.md rename to legacy/old/skills/work-issue/SKILL.md diff --git a/old2/ARCHITECTURE.md b/legacy/old2/ARCHITECTURE.md similarity index 100% rename from old2/ARCHITECTURE.md rename to legacy/old2/ARCHITECTURE.md diff --git a/old2/CLAUDE.md b/legacy/old2/CLAUDE.md similarity index 100% rename from old2/CLAUDE.md rename to legacy/old2/CLAUDE.md diff --git a/old2/README.md b/legacy/old2/README.md similarity index 100% rename from old2/README.md rename to legacy/old2/README.md diff --git a/old2/VISION.md b/legacy/old2/VISION.md similarity index 100% rename from old2/VISION.md rename to legacy/old2/VISION.md diff --git a/old2/agents/AGENT.md b/legacy/old2/agents/AGENT.md similarity index 100% rename from old2/agents/AGENT.md rename to legacy/old2/agents/AGENT.md diff --git a/old2/agents/capability-extractor/AGENT.md b/legacy/old2/agents/capability-extractor/AGENT.md similarity index 100% rename from old2/agents/capability-extractor/AGENT.md rename to legacy/old2/agents/capability-extractor/AGENT.md diff --git a/old2/agents/code-reviewer/AGENT.md b/legacy/old2/agents/code-reviewer/AGENT.md similarity index 100% rename from old2/agents/code-reviewer/AGENT.md rename to legacy/old2/agents/code-reviewer/AGENT.md diff --git a/old2/agents/context-mapper/AGENT.md b/legacy/old2/agents/context-mapper/AGENT.md similarity index 100% rename from old2/agents/context-mapper/AGENT.md rename to legacy/old2/agents/context-mapper/AGENT.md diff --git a/old2/agents/domain-modeler/AGENT.md b/legacy/old2/agents/domain-modeler/AGENT.md similarity index 100% rename from old2/agents/domain-modeler/AGENT.md rename to legacy/old2/agents/domain-modeler/AGENT.md diff --git a/old2/agents/issue-worker/AGENT.md b/legacy/old2/agents/issue-worker/AGENT.md similarity index 100% rename from old2/agents/issue-worker/AGENT.md rename to legacy/old2/agents/issue-worker/AGENT.md diff --git a/old2/agents/milestone-planner/AGENT.md b/legacy/old2/agents/milestone-planner/AGENT.md similarity index 100% rename from old2/agents/milestone-planner/AGENT.md rename to legacy/old2/agents/milestone-planner/AGENT.md diff --git a/old2/agents/pr-fixer/AGENT.md b/legacy/old2/agents/pr-fixer/AGENT.md similarity index 100% rename from old2/agents/pr-fixer/AGENT.md rename to legacy/old2/agents/pr-fixer/AGENT.md diff --git a/old2/agents/problem-space-analyst/AGENT.md b/legacy/old2/agents/problem-space-analyst/AGENT.md similarity index 100% rename from old2/agents/problem-space-analyst/AGENT.md rename to legacy/old2/agents/problem-space-analyst/AGENT.md diff --git a/old2/manifesto.md b/legacy/old2/manifesto.md similarity index 100% rename from old2/manifesto.md rename to legacy/old2/manifesto.md diff --git a/old2/repos.md b/legacy/old2/repos.md similarity index 100% rename from old2/repos.md rename to legacy/old2/repos.md diff --git a/old2/skills/SKILL.md b/legacy/old2/skills/SKILL.md similarity index 100% rename from old2/skills/SKILL.md rename to legacy/old2/skills/SKILL.md diff --git a/old2/skills/actions-ci.md b/legacy/old2/skills/actions-ci.md similarity index 100% rename from old2/skills/actions-ci.md rename to legacy/old2/skills/actions-ci.md diff --git a/old2/skills/best-practices.md b/legacy/old2/skills/best-practices.md similarity index 100% rename from old2/skills/best-practices.md rename to legacy/old2/skills/best-practices.md diff --git a/old2/skills/create-capability/SKILL.md b/legacy/old2/skills/create-capability/SKILL.md similarity index 100% rename from old2/skills/create-capability/SKILL.md rename to legacy/old2/skills/create-capability/SKILL.md diff --git a/old2/skills/create-milestones/SKILL.md b/legacy/old2/skills/create-milestones/SKILL.md similarity index 100% rename from old2/skills/create-milestones/SKILL.md rename to legacy/old2/skills/create-milestones/SKILL.md diff --git a/old2/skills/dashboard/SKILL.md b/legacy/old2/skills/dashboard/SKILL.md similarity index 100% rename from old2/skills/dashboard/SKILL.md rename to legacy/old2/skills/dashboard/SKILL.md diff --git a/old2/skills/dashboard/scripts/generate-dashboard.sh b/legacy/old2/skills/dashboard/scripts/generate-dashboard.sh similarity index 100% rename from old2/skills/dashboard/scripts/generate-dashboard.sh rename to legacy/old2/skills/dashboard/scripts/generate-dashboard.sh diff --git a/old2/skills/ddd/SKILL.md b/legacy/old2/skills/ddd/SKILL.md similarity index 100% rename from old2/skills/ddd/SKILL.md rename to legacy/old2/skills/ddd/SKILL.md diff --git a/old2/skills/examples/progressive-disclosure.md b/legacy/old2/skills/examples/progressive-disclosure.md similarity index 100% rename from old2/skills/examples/progressive-disclosure.md rename to legacy/old2/skills/examples/progressive-disclosure.md diff --git a/old2/skills/examples/simple-workflow.md b/legacy/old2/skills/examples/simple-workflow.md similarity index 100% rename from old2/skills/examples/simple-workflow.md rename to legacy/old2/skills/examples/simple-workflow.md diff --git a/old2/skills/examples/with-scripts.md b/legacy/old2/skills/examples/with-scripts.md similarity index 100% rename from old2/skills/examples/with-scripts.md rename to legacy/old2/skills/examples/with-scripts.md diff --git a/old2/skills/issue-writing/SKILL.md b/legacy/old2/skills/issue-writing/SKILL.md similarity index 100% rename from old2/skills/issue-writing/SKILL.md rename to legacy/old2/skills/issue-writing/SKILL.md diff --git a/old2/skills/milestone-planning/SKILL.md b/legacy/old2/skills/milestone-planning/SKILL.md similarity index 100% rename from old2/skills/milestone-planning/SKILL.md rename to legacy/old2/skills/milestone-planning/SKILL.md diff --git a/old2/skills/product-strategy/SKILL.md b/legacy/old2/skills/product-strategy/SKILL.md similarity index 100% rename from old2/skills/product-strategy/SKILL.md rename to legacy/old2/skills/product-strategy/SKILL.md diff --git a/old2/skills/reference/anti-patterns.md b/legacy/old2/skills/reference/anti-patterns.md similarity index 100% rename from old2/skills/reference/anti-patterns.md rename to legacy/old2/skills/reference/anti-patterns.md diff --git a/old2/skills/reference/frontmatter-fields.md b/legacy/old2/skills/reference/frontmatter-fields.md similarity index 100% rename from old2/skills/reference/frontmatter-fields.md rename to legacy/old2/skills/reference/frontmatter-fields.md diff --git a/old2/skills/reference/model-selection.md b/legacy/old2/skills/reference/model-selection.md similarity index 100% rename from old2/skills/reference/model-selection.md rename to legacy/old2/skills/reference/model-selection.md diff --git a/old2/skills/setup.md b/legacy/old2/skills/setup.md similarity index 100% rename from old2/skills/setup.md rename to legacy/old2/skills/setup.md diff --git a/old2/skills/spawn-issues/SKILL.md b/legacy/old2/skills/spawn-issues/SKILL.md similarity index 100% rename from old2/skills/spawn-issues/SKILL.md rename to legacy/old2/skills/spawn-issues/SKILL.md diff --git a/old2/skills/spawn-pr-fixers/SKILL.md b/legacy/old2/skills/spawn-pr-fixers/SKILL.md similarity index 100% rename from old2/skills/spawn-pr-fixers/SKILL.md rename to legacy/old2/skills/spawn-pr-fixers/SKILL.md diff --git a/old2/skills/spawn-pr-reviews/SKILL.md b/legacy/old2/skills/spawn-pr-reviews/SKILL.md similarity index 100% rename from old2/skills/spawn-pr-reviews/SKILL.md rename to legacy/old2/skills/spawn-pr-reviews/SKILL.md diff --git a/old2/skills/templates/agent.md b/legacy/old2/skills/templates/agent.md similarity index 100% rename from old2/skills/templates/agent.md rename to legacy/old2/skills/templates/agent.md diff --git a/old2/skills/templates/background-skill.md b/legacy/old2/skills/templates/background-skill.md similarity index 100% rename from old2/skills/templates/background-skill.md rename to legacy/old2/skills/templates/background-skill.md diff --git a/old2/skills/templates/helper-script.sh b/legacy/old2/skills/templates/helper-script.sh similarity index 100% rename from old2/skills/templates/helper-script.sh rename to legacy/old2/skills/templates/helper-script.sh diff --git a/old2/skills/templates/user-invocable-skill.md b/legacy/old2/skills/templates/user-invocable-skill.md similarity index 100% rename from old2/skills/templates/user-invocable-skill.md rename to legacy/old2/skills/templates/user-invocable-skill.md diff --git a/old2/skills/vision-to-backlog/SKILL.md b/legacy/old2/skills/vision-to-backlog/SKILL.md similarity index 100% rename from old2/skills/vision-to-backlog/SKILL.md rename to legacy/old2/skills/vision-to-backlog/SKILL.md diff --git a/old2/skills/worktrees/SKILL.md b/legacy/old2/skills/worktrees/SKILL.md similarity index 100% rename from old2/skills/worktrees/SKILL.md rename to legacy/old2/skills/worktrees/SKILL.md diff --git a/old2/skills/worktrees/scripts/cleanup-worktrees.sh b/legacy/old2/skills/worktrees/scripts/cleanup-worktrees.sh similarity index 100% rename from old2/skills/worktrees/scripts/cleanup-worktrees.sh rename to legacy/old2/skills/worktrees/scripts/cleanup-worktrees.sh diff --git a/old2/skills/worktrees/scripts/create-worktree.sh b/legacy/old2/skills/worktrees/scripts/create-worktree.sh similarity index 100% rename from old2/skills/worktrees/scripts/create-worktree.sh rename to legacy/old2/skills/worktrees/scripts/create-worktree.sh diff --git a/old2/skills/worktrees/scripts/list-worktrees.sh b/legacy/old2/skills/worktrees/scripts/list-worktrees.sh similarity index 100% rename from old2/skills/worktrees/scripts/list-worktrees.sh rename to legacy/old2/skills/worktrees/scripts/list-worktrees.sh diff --git a/old2/software-architecture.md b/legacy/old2/software-architecture.md similarity index 100% rename from old2/software-architecture.md rename to legacy/old2/software-architecture.md diff --git a/scripts/pre-commit-checks.sh b/legacy/scripts/pre-commit-checks.sh similarity index 100% rename from scripts/pre-commit-checks.sh rename to legacy/scripts/pre-commit-checks.sh