mirror of
https://github.com/coleam00/Archon
synced 2026-04-21 13:37:41 +00:00
* 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
4.6 KiB
4.6 KiB
Getting Started
This guide walks you through setting up the Remote Coding Agent from scratch.
Prerequisites
Before you begin, you'll need:
- Docker (recommended) or Bun runtime
- PostgreSQL database (local or managed like Supabase/Neon)
- AI Assistant credentials (Claude or Codex)
- Platform credentials (Telegram, Discord, Slack, or GitHub)
Step 1: Choose Your Setup Method
| Method | Best For | Time |
|---|---|---|
| Docker Quick Start | Trying it out, production | ~10 min |
| Local Development | Contributing, customizing | ~15 min |
| Cloud Deployment | 24/7 self-hosted | ~30 min |
Docker Quick Start
1.1 Get the Files
mkdir remote-agent && cd remote-agent
# Download docker-compose and env template
curl -fsSL https://raw.githubusercontent.com/dynamous-community/remote-coding-agent/main/deploy/docker-compose.yml -o docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/dynamous-community/remote-coding-agent/main/deploy/.env.example -o .env
1.2 Get Your Credentials
Database
Option A: Use a managed database (recommended)
Option B: Run PostgreSQL locally
- Uncomment the postgres service in docker-compose.yml
- Use:
postgresql://postgres:postgres@postgres:5432/remote_coding_agent
AI Assistant
Claude (recommended):
- Install Claude Code CLI: https://docs.anthropic.com/claude-code
- Run:
claude setup-token - Copy the token (starts with
sk-ant-oat01-)
Codex:
- Run:
codex login - Copy credentials from
~/.codex/auth.json
Platform (choose at least one)
Telegram:
- Message @BotFather on Telegram
- Send
/newbotand follow prompts - Copy the bot token
Discord:
- Go to Discord Developer Portal
- Create New Application > Bot > Reset Token
- Enable MESSAGE CONTENT INTENT in Bot settings
- Copy the bot token
Slack:
- Go to Slack API
- Create New App > From Scratch
- See Slack Setup Guide for detailed steps
1.3 Configure
Edit .env with your credentials:
nano .env
At minimum, set:
DATABASE_URL- One AI assistant (
CLAUDE_CODE_OAUTH_TOKENor Codex credentials) - One platform (
TELEGRAM_BOT_TOKEN,DISCORD_BOT_TOKEN, etc.)
1.4 Start
docker compose up -d
1.5 Verify
# Check health
curl http://localhost:3000/health
# Expected: {"status":"ok"}
# Check database
curl http://localhost:3000/health/db
# Expected: {"status":"ok","database":"connected"}
1.6 Test Your Bot
Send a message to your bot:
- Telegram: Message your bot with
/help - Discord: Mention your bot with
@botname /help - Slack: Message your bot with
/help
Local Development
2.1 Clone and Install
git clone https://github.com/dynamous-community/remote-coding-agent
cd remote-coding-agent
bun install
2.2 Configure
cp .env.example .env
nano .env # Add your credentials (same as Docker method)
2.3 Start Database
docker compose --profile with-db up -d postgres
2.4 Run Migrations
psql $DATABASE_URL < migrations/000_combined.sql
2.5 Validate Setup
bun run setup:check
2.6 Start Development Server
bun run dev
The server starts with hot reload. Changes to code automatically restart.
Next Steps
- Configuration Guide - Customize settings
- Command System - Create custom commands
- Cloud Deployment - Deploy for 24/7 operation
Troubleshooting
"Database connection failed"
- Check
DATABASE_URLis correct - For managed DB: Ensure IP is whitelisted
- For local: Ensure postgres container is running:
docker compose ps
"No AI assistant credentials found"
Set at least one of:
CLAUDE_CODE_OAUTH_TOKEN(recommended)CLAUDE_API_KEYCODEX_ID_TOKEN+CODEX_ACCESS_TOKEN+CODEX_REFRESH_TOKEN
"Bot not responding"
- Check logs:
docker compose logs -f appor terminal output forbun run dev - Verify bot token is correct
- For Discord: Ensure MESSAGE CONTENT INTENT is enabled
- For Slack: Ensure Socket Mode is enabled
Archon Directory Not Created
The ~/.archon/ directory is created automatically on first use. To create manually:
mkdir -p ~/.archon/workspaces ~/.archon/worktrees