Implemented foundational modules for Claude Discord Coordinator: - Project skeleton with uv (CRIT-003) - Claude CLI subprocess runner with 11/11 tests passing (CRIT-004) - SQLite session manager with 27/27 tests passing (CRIT-005) - Comprehensive test suites for both modules - Production-ready async/await patterns - Full type hints and documentation Technical highlights: - Validated CLI pattern: claude -p --resume --output-format json - bypassPermissions requires non-root user (discord-bot) - WAL mode SQLite for concurrency - asyncio.Lock for thread safety - Context manager support Progress: 5/18 tasks complete (28%) Week 1: 5/6 complete Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
73 lines
2.0 KiB
Markdown
73 lines
2.0 KiB
Markdown
# Claude Discord Coordinator
|
|
|
|
A Discord bot that provides multi-user access to Claude CLI sessions with persistence, configuration management, and formatted responses.
|
|
|
|
## Features
|
|
|
|
- **Multi-user sessions**: Each Discord user gets their own persistent Claude CLI session
|
|
- **Session persistence**: Conversation history and working directories saved in SQLite
|
|
- **YAML configuration**: Flexible bot configuration with environment variable support
|
|
- **Response formatting**: Automatic chunking and code block formatting for Discord
|
|
- **Subprocess management**: Robust Claude CLI process handling with timeout control
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
claude-coordinator/
|
|
├── pyproject.toml # uv project configuration
|
|
├── README.md # This file
|
|
├── .gitignore # Python/uv ignore patterns
|
|
└── claude_coordinator/ # Main package
|
|
├── __init__.py # Package initialization
|
|
├── bot.py # Discord bot entry point
|
|
├── config.py # YAML configuration management
|
|
├── session_manager.py # SQLite session persistence
|
|
├── claude_runner.py # Claude CLI subprocess wrapper
|
|
└── response_formatter.py # Discord message formatting
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- Python 3.12+
|
|
- uv 0.10.2+
|
|
- Claude CLI (authenticated)
|
|
|
|
## Dependencies
|
|
|
|
- discord.py 2.6.4+ - Discord bot framework
|
|
- aiosqlite 0.22.1+ - Async SQLite interface
|
|
- pyyaml 6.0.3+ - YAML configuration parsing
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
cd /opt/projects/claude-coordinator
|
|
uv sync
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Configuration will be loaded from a YAML file (to be implemented in CRIT-004).
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
# Run the bot (entry point to be completed)
|
|
uv run python -m claude_coordinator.bot
|
|
```
|
|
|
|
## Development Status
|
|
|
|
This project is under active development. Current implementation status:
|
|
|
|
- [x] CRIT-003: Project skeleton with uv
|
|
- [ ] CRIT-004: Configuration system
|
|
- [ ] CRIT-005: Session management
|
|
- [ ] CRIT-006: Claude CLI integration
|
|
- [ ] CRIT-007: Discord bot commands
|
|
- [ ] CRIT-008: Testing and deployment
|
|
|
|
## License
|
|
|
|
TBD
|