Skip to main content

Build apps autonomously with Claude Code CLI

Project description

autonomous-claude

Build apps autonomously with Claude Code CLI. Uses your existing Claude subscription - no API key required.

Based on Anthropic's long-running agents guide.

Installation

curl -fsSL https://ferdousbhai.com/install.sh | sh

Or download directly from ferdousbhai.com/releases/autonomous-claude.

Prerequisites

Claude Code CLI:

npm install -g @anthropic-ai/claude-code
claude login

GitHub CLI - required for issue tracking:

# Install: https://cli.github.com/
gh auth login

Docker - required for secure sandboxed execution:

# Install Docker: https://docs.docker.com/get-docker/
docker --version  # Verify installation

By default, Claude runs in a Docker container with access only to your project directory. Use --no-sandbox to bypass this isolation (not recommended).

Usage

# cd into your project directory first
cd my-project

# Start a new project or add features
autonomous-claude [INSTRUCTIONS]

# Continue work on existing features
autonomous-claude --continue

Start a new project

# Create and enter project directory
mkdir notes-app && cd notes-app

# With description
autonomous-claude "An Apple Notes clone - local .md storage, folders, rich text, search"

# From a spec file
autonomous-claude ./app-spec.md

Add features to an existing project

cd notes-app

# Add new features
autonomous-claude "Add dark mode and keyboard shortcuts"

Continue work

Continue implementing existing features where you left off:

cd notes-app
autonomous-claude --continue

Options

Option Short Description Default
--continue -c Continue work on existing features -
--no-sandbox Run without Docker sandbox (not recommended) false
--model -m Claude model Claude Code default
--max-sessions -n Max sessions (Claude Code invocations) 100
--timeout -t Timeout per session (seconds) 18000 (5 hours)

Configuration

Create ~/.config/autonomous-claude/config.toml to customize defaults:

[session]
timeout = 18000        # Seconds per session (default: 5 hours)
max_turns = 2000       # Max turns per Claude session
max_sessions = 100     # Max Claude sessions before stopping
spec_timeout = 600     # Timeout for spec generation (10 minutes)

[sandbox]
enabled = true         # Run in Docker sandbox (default: true)
memory_limit = "8g"    # Container memory limit
cpu_limit = 4.0        # Container CPU limit

How It Works

New projects

  1. Spec Generation: Creates a project specification from your description
  2. Session 1 (Initializer): Creates GitHub Issues for each testable feature
  3. Sessions 2+ (Coding Agent): Implements features one by one, closing issues when done

Adding features to existing projects

  1. Session 1 (Enhancement Initializer): Creates new GitHub Issues for the requested features
  2. Sessions 2+ (Coding Agent): Implements the new features

Progress is tracked via GitHub Issues and git commits. Press Ctrl+C to stop, then --continue to resume.

Security

Docker Sandbox (Default)

By default, all Claude Code executions run inside an isolated Docker container.

Mounts:

Host Path Container Path Mode Why
Project directory /workspace rw Code being built
~/.claude/.credentials.json /home/node/.claude/.credentials.json rw Auth tokens (needs write for refresh)
~/.claude/settings.json /home/node/.claude/settings.json ro User preferences
~/.claude/settings.local.json /home/node/.claude/settings.local.json ro Permission allowlists
~/.claude/CLAUDE.md /home/node/.claude/CLAUDE.md ro Personal instructions
~/.claude/skills/ /home/node/.claude/skills/ rw User-scoped skills (rw for deps/cache)
~/.claude/plugins/ /home/node/.claude/plugins/ ro Installed plugins
~/.config/gh /home/node/.config/gh rw GitHub CLI auth (rw for token refresh)

Settings and plugins are read-only to prevent a sandboxed session from escalating permissions.

Not accessible: ~/.ssh, ~/.aws, or any directory outside your project.

Limits: 8GB RAM, 4 CPUs (configurable). Runs as non-root with all capabilities dropped.

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

autonomous_claude-1.4.8.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autonomous_claude-1.4.8-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file autonomous_claude-1.4.8.tar.gz.

File metadata

  • Download URL: autonomous_claude-1.4.8.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for autonomous_claude-1.4.8.tar.gz
Algorithm Hash digest
SHA256 d359a95ddcc1e4350800c33a6b56a9a2f3fd60ab66c3df073b618b37c302b24e
MD5 be2d6d18137671050d7e169240a07e97
BLAKE2b-256 8a05023ee108502b935dd71d4f0bbb6a3a57f72b5c44c8b83a31a67225737eb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonomous_claude-1.4.8.tar.gz:

Publisher: release.yml on ferdousbhai/autonomous-claude

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autonomous_claude-1.4.8-py3-none-any.whl.

File metadata

File hashes

Hashes for autonomous_claude-1.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 cbbde3d7a17fdb4840865a0981748afea546769e73bb5549167f469040eeb35b
MD5 43a0f5afc236e6658bdbf57e681cdf4f
BLAKE2b-256 466181c406c550fab1f96f065c39b5dd48388269be532c62681c57f171a77b8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for autonomous_claude-1.4.8-py3-none-any.whl:

Publisher: release.yml on ferdousbhai/autonomous-claude

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page