Autonomous Coding Agent — The Autonomous Gnome
Project description
PocketCoder-A1
Autonomous Coding Agent with Web Dashboard
A1 works on your tasks autonomously — you add tasks, start the agent, watch progress in the dashboard.
Quick Start (5 steps)
# 1. Clone and install
git clone https://github.com/Chashchin-Dmitry/pocketcoder-a1.git
cd pocketcoder-a1
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
# 2. Install browser for E2E tests (optional)
pip install playwright requests
playwright install chromium
# 3. Initialize in any project
pca init /path/to/your-project
# 4. Add tasks
pca task add "Add login page" -d /path/to/your-project
pca task add "Write unit tests" -d /path/to/your-project
# 5. Launch dashboard
pca ui -d /path/to/your-project
# Opens http://localhost:7331
Requirements: Python 3.10+, Claude Code CLI installed (npm i -g @anthropic-ai/claude-code)
Web Dashboard
Open http://localhost:7331 after running pca ui. 7 pages:
| Page | What it does |
|---|---|
| Dashboard | Status cards, task list, Quick Add form, Start/Stop agent, Live Log |
| Tasks | All tasks with priority badges (#1 #2 #3), drag-and-drop reorder, Add Task + Add Thought forms |
| Sessions | Current and previous session details |
| Activity Log | Timeline of all actions (started, stopped, task added) |
| Commits | Git commit history |
| Transform | Paste raw text -> AI breaks it into structured tasks |
| Settings | Theme toggle (dark/light), provider info |
Key features:
- Live Agent Log — see what Claude is doing in real-time (action icons + raw log)
- Queue Message — send instructions to running agent (appears when agent is Running)
- Drag-and-Drop — reorder task priorities on Tasks page
- Dark Theme — click moon icon top-right
- Transform — paste messy notes, AI creates structured tasks with checkboxes
How to Test (step by step)
Option A: Use the dashboard (recommended)
source .venv/bin/activate
# Start dashboard on any project
pca ui -d /path/to/your-project
Then in browser at http://localhost:7331:
- Add tasks — Quick Add form on Dashboard, or Tasks page
- Start Agent — green button, watch status change to "Running"
- Watch Live Log — "Agent Live Log" panel shows what Claude does
- Send message — "Message to Agent" form appears when running
- Stop — red "Stop Agent" button
- Transform — go to Transform page, paste text, click "AI Transform"
- Check results — Tasks page shows green checkmarks for completed tasks
Option B: CLI only
source .venv/bin/activate
pca init ./my-project
pca task add "Create hello.py with greet function" -d ./my-project
pca start -d ./my-project # Runs agent in terminal
pca status -d ./my-project # Check progress
pca tasks -d ./my-project # See task list
Option C: Run E2E tests
source .venv/bin/activate
# Start dashboard in background
pca ui -d ./my-project --no-browser &
# Run vision-based tests (7 scenarios)
pca test -d ./my-project --no-vision
# Reports saved to .a1/test-reports/
CLI Commands
| Command | Description |
|---|---|
pca init <dir> |
Initialize .a1/ in project |
pca task add "..." |
Add task with optional description |
pca think "..." |
Add raw thought/idea |
pca tasks |
Show all tasks |
pca start |
Start autonomous agent (CLI mode) |
pca status |
Show current status |
pca validate |
Run validation (syntax, tests, lint) |
pca ui |
Launch web dashboard on :7331 |
pca test |
Run E2E vision tests |
pca log |
Show session history |
Add -d /path/to/project to any command to specify project directory.
Dashboard API (17 endpoints)
| Method | Endpoint | What it does |
|---|---|---|
| GET | / |
Dashboard page |
| GET | /tasks |
Tasks page |
| GET | /sessions |
Sessions page |
| GET | /log |
Activity log page |
| GET | /commits |
Git commits page |
| GET | /transform |
Transform page |
| GET | /settings |
Settings page |
| GET | /api/status |
JSON: checkpoint + tasks + progress + running |
| GET | /api/log?since=N |
JSON: agent log entries since index N |
| POST | /add-task |
Add task (form: task, description) |
| POST | /add-thought |
Add thought (form: thought) |
| POST | /start |
Start agent |
| POST | /stop |
Stop agent |
| POST | /queue-message |
Message to agent (form: message) |
| POST | /api/reorder |
Reorder tasks (JSON: {order: [ids]}) |
| POST | /transform |
AI transform text to tasks (form: text) |
| POST | /transform-confirm |
Confirm transformed tasks (JSON: {tasks}) |
Project Structure
pocketcoder-a1/
├── a1/ # Main code
│ ├── checkpoint.py # State between sessions
│ ├── tasks.py # Task management (priorities, reorder)
│ ├── validator.py # Validation (syntax, tests, lint)
│ ├── loop.py # Agent session loop (Claude CLI subprocess)
│ ├── dashboard.py # Web UI (17 endpoints, inline HTML/CSS/JS)
│ ├── cli.py # CLI commands (pca)
│ └── tester/ # Vision-based QA agent
├── .a1/ # Data (created on pca init)
│ ├── checkpoint.json # Current state
│ ├── tasks.json # Task list with priorities
│ ├── queue.json # Message queue for agent
│ ├── sessions/ # Session logs
│ └── checkpoints/ # Checkpoint archive
├── sandbox/ # Test projects
│ ├── test-e2e/ # E2E test (3/3 tasks passed)
│ └── epotos-templates/ # Real project test (3/3 tasks passed)
├── CLAUDE.md # Agent instructions
├── CURRENT_STAGE.md # Status with cause-effect chains
└── pyproject.toml # pip install -e .
Providers
| Provider | Command | Requires |
|---|---|---|
| claude-max | pca start |
Claude Code CLI + Max subscription |
| claude-api | pca start --provider claude-api |
ANTHROPIC_API_KEY |
| ollama | pca start --provider ollama |
Local Ollama server |
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pocketcoder_a1-0.2.4.tar.gz.
File metadata
- Download URL: pocketcoder_a1-0.2.4.tar.gz
- Upload date:
- Size: 66.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3af09d7dd591f30e2b424d370ca07341ef0b6392a92731a989781fbc8ad01ddf
|
|
| MD5 |
cd71637da35dc120038096a1d7115e18
|
|
| BLAKE2b-256 |
4e1dd587caa3c514c07dcc6daacb42ecc1e11418a3dcee0eb1cba6670772f97f
|
File details
Details for the file pocketcoder_a1-0.2.4-py3-none-any.whl.
File metadata
- Download URL: pocketcoder_a1-0.2.4-py3-none-any.whl
- Upload date:
- Size: 68.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c356abb131e14310631870f4055bb467499eb23f38bb7d0d82f3cefa5662cbdb
|
|
| MD5 |
2cb344ccc5000eb2892cd74944eb3116
|
|
| BLAKE2b-256 |
59a3b344000bc37674a6c9f642cb13f3be74e86271512c862bc04ab95308ea7c
|