Commit graph

3 commits

Author SHA1 Message Date
Rasmus Widing
3026a6445d
Add Archon distribution config and directory structure (#101)
* Add Archon distribution config and directory structure

- Create centralized path resolution in src/utils/archon-paths.ts
- Add YAML configuration system (src/config/) with layered loading
- Update Dockerfile and docker-compose for /.archon/ directory
- Add GHCR publish workflow for multi-arch Docker builds
- Create deploy/ directory with end-user docker-compose
- Add /init command to create .archon structure in repos
- Add docs/configuration.md reference guide
- Update README with Quick Start section
- Add bun run validate script
- Update tests for new path defaults (~/.archon/)

Directory structure:
- Local: ~/.archon/{workspaces,worktrees,config.yaml}
- Docker: /.archon/{workspaces,worktrees}
- Repo: .archon/{commands,workflows,config.yaml}

Legacy WORKSPACE_PATH and WORKTREE_BASE env vars still supported.

* Complete Archon distribution config implementation

- Wire up config system in src/index.ts (Task 3.5)
- Remove legacy WORKSPACE_PATH and WORKTREE_BASE support
- Add logConfig() function to config-loader.ts
- Update docker-compose.yml to use ARCHON_DOCKER env var
- Remove legacy env vars from .env.example
- Update all documentation to reference ARCHON_HOME
- Create scripts/validate-setup.sh for setup validation
- Add setup:check script to package.json
- Create docs/getting-started.md guide
- Create docs/archon-architecture.md technical docs
- Update tests to use ARCHON_HOME instead of legacy vars
- Fix validate.md command template for new paths

All plan phases now complete:
- Phase 1: Archon Directory Structure
- Phase 2: Docker Distribution
- Phase 3: YAML Configuration System
- Phase 4: Developer Experience
- Phase 5: Documentation
2025-12-17 21:45:41 +02:00
Rasmus Widing
e24a4a8f4b
Add unified isolation environment architecture (Phase 2.5) (#92)
Introduces work-centric isolation model where orchestrator is the single
source of truth for all isolation decisions. Adapters now pass IsolationHints
instead of managing worktrees directly.

Key changes:
- Add isolation_environments table for workflow-based isolation tracking
- Add validateAndResolveIsolation to orchestrator as single decision point
- Add cleanup-service for unified event-driven cleanup handling
- Simplify GitHub adapter to delegate isolation to orchestrator
- Add IsolationHints type for adapter-to-orchestrator communication
- Support automatic worktree sharing between linked issues and PRs
2025-12-17 15:57:12 +02:00
Rasmus Widing
44eef594b9
Add isolation provider abstraction for worktree management (#87)
* Add isolation provider abstraction for worktree management

Introduces IIsolationProvider interface to abstract workflow isolation:
- WorktreeProvider implementation with semantic branch naming
- Database migration for isolation_env_id and isolation_provider columns
- GitHub adapter migrated to use provider for create/destroy
- /worktree commands updated to use provider
- Manual testing guide and migration status docs

* Fix worktree base location defaults and add isolation provider docs

- Default to ~/tmp/worktrees locally (matches worktree-manager skill)
- Default to /workspace/worktrees in Docker (inside mounted volume)
- Docker ignores WORKTREE_BASE override (end user protection)
- Local allows WORKTREE_BASE override for developers
- Add IIsolationProvider section to architecture.md
- Add docs/worktree-orchestration.md with lifecycle diagrams
2025-12-17 11:10:16 +02:00