From aad5dfc745ee900f8888d9d333db8fbb8a372c2f Mon Sep 17 00:00:00 2001 From: Kacper Date: Wed, 24 Dec 2025 20:10:05 +0100 Subject: [PATCH 1/2] docs: Update README for clarity and feature enhancements - Changed "Powered by Claude Code" to "Powered by Claude Agent SDK" for accuracy. - Reorganized sections for better flow, including new entries for Environment Configuration, Authentication Setup, and detailed feature descriptions. - Expanded installation and setup instructions, including Docker deployment and testing configurations. - Added new features and tools available in Automaker, enhancing user understanding of capabilities. - Improved overall readability and structure of the documentation. --- README.md | 407 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 348 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 15309a6e..2299915e 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ - [What Makes Automaker Different?](#what-makes-automaker-different) - [The Workflow](#the-workflow) - - [Powered by Claude Code](#powered-by-claude-code) + - [Powered by Claude Agent SDK](#powered-by-claude-agent-sdk) - [Why This Matters](#why-this-matters) - [Security Disclaimer](#security-disclaimer) - [Community & Support](#community--support) @@ -28,22 +28,36 @@ - [Quick Start](#quick-start) - [How to Run](#how-to-run) - [Development Mode](#development-mode) - - [Electron Desktop App (Recommended)](#electron-desktop-app-recommended) - - [Web Browser Mode](#web-browser-mode) - [Building for Production](#building-for-production) - - [Running Production Build](#running-production-build) - [Testing](#testing) - [Linting](#linting) - - [Authentication Options](#authentication-options) - - [Persistent Setup (Optional)](#persistent-setup-optional) + - [Environment Configuration](#environment-configuration) + - [Authentication Setup](#authentication-setup) - [Features](#features) + - [Core Workflow](#core-workflow) + - [AI & Planning](#ai--planning) + - [Project Management](#project-management) + - [Collaboration & Review](#collaboration--review) + - [Developer Tools](#developer-tools) + - [Advanced Features](#advanced-features) - [Tech Stack](#tech-stack) + - [Frontend](#frontend) + - [Backend](#backend) + - [Testing & Quality](#testing--quality) + - [Shared Libraries](#shared-libraries) +- [Available Views](#available-views) +- [Architecture](#architecture) + - [Monorepo Structure](#monorepo-structure) + - [How It Works](#how-it-works) + - [Key Architectural Patterns](#key-architectural-patterns) + - [Security & Isolation](#security--isolation) + - [Data Storage](#data-storage) - [Learn More](#learn-more) - [License](#license) -Automaker is an autonomous AI development studio that transforms how you build software. Instead of manually writing every line of code, you describe features on a Kanban board and watch as AI agents powered by Claude Code automatically implement them. +Automaker is an autonomous AI development studio that transforms how you build software. Instead of manually writing every line of code, you describe features on a Kanban board and watch as AI agents powered by Claude Agent SDK automatically implement them. Built with React, Vite, Electron, and Express, Automaker provides a complete workflow for managing AI agents through a desktop application (or web browser), with features like real-time streaming, git worktree isolation, plan approval, and multi-agent task execution. ![Automaker UI](https://i.imgur.com/jdwKydM.png) @@ -59,9 +73,9 @@ Traditional development tools help you write code. Automaker helps you **orchest 4. **Review & Verify** - Review the changes, run tests, and approve when ready 5. **Ship Faster** - Build entire applications in days, not weeks -### Powered by Claude Code +### Powered by Claude Agent SDK -Automaker leverages the [Claude Agent SDK](https://platform.claude.com/docs/en/agent-sdk/overview) to give AI agents full access to your codebase. Agents can read files, write code, execute commands, run tests, and make git commitsβ€”all while working in isolated git worktrees to keep your main branch safe. +Automaker leverages the [Claude Agent SDK](https://www.npmjs.com/package/@anthropic-ai/claude-agent-sdk) to give AI agents full access to your codebase. Agents can read files, write code, execute commands, run tests, and make git commitsβ€”all while working in isolated git worktrees to keep your main branch safe. The SDK provides autonomous AI agents that can use tools, make decisions, and complete complex multi-step tasks without constant human intervention. ### Why This Matters @@ -104,28 +118,49 @@ https://discord.gg/jjem7aEDKU ### Prerequisites -- Node.js 18+ -- npm -- [Claude Code CLI](https://code.claude.com/docs/en/overview) installed and authenticated +- **Node.js 18+** (tested with Node.js 22) +- **npm** (comes with Node.js) +- **Authentication** (choose one): + - **[Claude Code CLI](https://code.claude.com/docs/en/overview)** (recommended) - Install and authenticate, credentials used automatically + - **Anthropic API Key** - Direct API key for Claude Agent SDK ([get one here](https://console.anthropic.com/)) ### Quick Start ```bash -# 1. Clone the repo +# 1. Clone the repository git clone https://github.com/AutoMaker-Org/automaker.git cd automaker # 2. Install dependencies npm install -# 3. Build local shared packages +# 3. Build shared packages (REQUIRED before first run) npm run build:packages -# 4. Run Automaker (pick your mode) +# 4. Set up authentication (skip if using Claude Code CLI) +# If using Claude Code CLI: credentials are detected automatically +# If using API key directly, choose one method: + +# Option A: Environment variable +export ANTHROPIC_API_KEY="sk-ant-..." + +# Option B: Create .env file in project root +echo "ANTHROPIC_API_KEY=sk-ant-..." > .env + +# 5. Start Automaker (interactive launcher) npm run dev -# Then choose your run mode when prompted, or use specific commands below +# Choose between: +# 1. Web Application (browser at localhost:3007) +# 2. Desktop Application (Electron - recommended) ``` +**Note:** The `npm run dev` command will: + +- Check for dependencies and install if needed +- Install Playwright browsers for E2E tests +- Kill any processes on ports 3007/3008 +- Present an interactive menu to choose your run mode + ## How to Run ### Development Mode @@ -163,31 +198,65 @@ npm run dev:web ### Building for Production +**Web Application:** + ```bash -# Build Next.js app +# Build for web deployment (uses Vite) npm run build -# Build Electron app for distribution -npm run build:electron +# Run production build +npm run start ``` -### Running Production Build +**Desktop Application:** ```bash -# Start production Next.js server -npm run start +# Build for current platform (macOS/Windows/Linux) +npm run build:electron + +# Platform-specific builds +npm run build:electron:mac # macOS (DMG + ZIP, x64 + arm64) +npm run build:electron:win # Windows (NSIS installer, x64) +npm run build:electron:linux # Linux (AppImage + DEB, x64) + +# Output directory: apps/ui/release/ +``` + +**Docker Deployment:** + +```bash +# Build and run with Docker Compose (recommended for security) +docker-compose up -d + +# Access at http://localhost:3007 +# API at http://localhost:3008 ``` ### Testing -```bash -# Run tests headless -npm run test +**End-to-End Tests (Playwright):** -# Run tests with browser visible -npm run test:headed +```bash +npm run test # Headless E2E tests +npm run test:headed # Browser visible E2E tests ``` +**Unit Tests (Vitest):** + +```bash +npm run test:server # Server unit tests +npm run test:server:coverage # Server tests with coverage +npm run test:packages # All shared package tests +npm run test:all # Packages + server tests +``` + +**Test Configuration:** + +- E2E tests run on ports 3007 (UI) and 3008 (server) +- Automatically starts test servers before running +- Uses Chromium browser via Playwright +- Mock agent mode available in CI with `AUTOMAKER_MOCK_AGENT=true` + ### Linting ```bash @@ -195,59 +264,279 @@ npm run test:headed npm run lint ``` -### Authentication Options +### Environment Configuration -Automaker supports multiple authentication methods (in order of priority): +**Authentication (if not using Claude Code CLI):** -| Method | Environment Variable | Description | -| ---------------- | -------------------- | ------------------------------- | -| API Key (env) | `ANTHROPIC_API_KEY` | Anthropic API key | -| API Key (stored) | β€” | Anthropic API key stored in app | +- `ANTHROPIC_API_KEY` - Your Anthropic API key for Claude Agent SDK (not needed if using Claude Code CLI) -### Persistent Setup (Optional) +**Optional - Server:** + +- `PORT` - Server port (default: 3008) +- `DATA_DIR` - Data storage directory (default: ./data) +- `ENABLE_REQUEST_LOGGING` - HTTP request logging (default: true) + +**Optional - Security:** + +- `AUTOMAKER_API_KEY` - Optional API authentication for the server +- `ALLOWED_ROOT_DIRECTORY` - Restrict file operations to specific directory +- `CORS_ORIGIN` - CORS policy (default: \*) + +**Optional - Development:** + +- `VITE_SKIP_ELECTRON` - Skip Electron in dev mode +- `OPEN_DEVTOOLS` - Auto-open DevTools in Electron + +### Authentication Setup + +**Option 1: Claude Code CLI (Recommended)** + +Install and authenticate the Claude Code CLI following the [official quickstart guide](https://code.claude.com/docs/en/quickstart). + +Once authenticated, Automaker will automatically detect and use your CLI credentials. No additional configuration needed! + +**Option 2: Direct API Key** + +If you prefer not to use the CLI, you can provide an Anthropic API key directly using one of these methods: + +**2a. Shell Configuration** Add to your `~/.bashrc` or `~/.zshrc`: ```bash -export ANTHROPIC_API_KEY="YOUR_API_KEY_HERE" +export ANTHROPIC_API_KEY="sk-ant-..." ``` -Then restart your terminal or run `source ~/.bashrc`. +Then restart your terminal or run `source ~/.bashrc` (or `source ~/.zshrc`). + +**2b. .env File** + +Create a `.env` file in the project root (gitignored): + +```bash +ANTHROPIC_API_KEY=sk-ant-... +PORT=3008 +DATA_DIR=./data +``` + +**2c. In-App Storage** + +The application can store your API key securely in the settings UI. The key is persisted in the `DATA_DIR` directory. ## Features +### Core Workflow + - πŸ“‹ **Kanban Board** - Visual drag-and-drop board to manage features through backlog, in progress, waiting approval, and verified stages - πŸ€– **AI Agent Integration** - Automatic AI agent assignment to implement features when moved to "In Progress" -- 🧠 **Multi-Model Support** - Choose from multiple AI models including Claude Opus, Sonnet, and more -- πŸ’­ **Extended Thinking** - Enable extended thinking modes for complex problem-solving -- πŸ“‘ **Real-time Agent Output** - View live agent output, logs, and file diffs as features are being implemented -- πŸ” **Project Analysis** - AI-powered project structure analysis to understand your codebase -- πŸ“ **Context Management** - Add context files to help AI agents understand your project better -- πŸ’‘ **Feature Suggestions** - AI-generated feature suggestions based on your project -- πŸ–ΌοΈ **Image Support** - Attach images and screenshots to feature descriptions -- ⚑ **Concurrent Processing** - Configure concurrency to process multiple features simultaneously -- πŸ§ͺ **Test Integration** - Automatic test running and verification for implemented features -- πŸ”€ **Git Integration** - View git diffs and track changes made by AI agents -- πŸ‘€ **AI Profiles** - Create and manage different AI agent profiles for various tasks -- πŸ’¬ **Chat History** - Keep track of conversations and interactions with AI agents -- ⌨️ **Keyboard Shortcuts** - Efficient navigation and actions via keyboard shortcuts -- 🎨 **Dark/Light Theme** - Beautiful UI with theme support -- πŸ–₯️ **Cross-Platform** - Desktop application built with Electron for Windows, macOS, and Linux +- πŸ”€ **Git Worktree Isolation** - Each feature executes in isolated git worktrees to protect your main branch +- πŸ“‘ **Real-time Streaming** - Watch AI agents work in real-time with live tool usage, progress updates, and task completion +- πŸ”„ **Follow-up Instructions** - Send additional instructions to running agents without stopping them + +### AI & Planning + +- 🧠 **Multi-Model Support** - Choose from Claude Opus, Sonnet, and Haiku per feature +- πŸ’­ **Extended Thinking** - Enable thinking modes (none, medium, deep, ultra) for complex problem-solving +- πŸ“ **Planning Modes** - Four planning levels: skip (direct implementation), lite (quick plan), spec (task breakdown), full (phased execution) +- βœ… **Plan Approval** - Review and approve AI-generated plans before implementation begins +- πŸ“Š **Multi-Agent Task Execution** - Spec mode spawns dedicated agents per task for focused implementation + +### Project Management + +- πŸ” **Project Analysis** - AI-powered codebase analysis to understand your project structure +- πŸ’‘ **Feature Suggestions** - AI-generated feature suggestions based on project analysis +- πŸ“ **Context Management** - Add markdown, images, and documentation files that agents automatically reference +- πŸ”— **Dependency Blocking** - Features can depend on other features, enforcing execution order +- 🌳 **Graph View** - Visualize feature dependencies with interactive graph visualization +- πŸ“‹ **GitHub Integration** - Import issues, validate feasibility, and convert to tasks automatically + +### Collaboration & Review + +- πŸ§ͺ **Verification Workflow** - Features move to "Waiting Approval" for review and testing +- πŸ’¬ **Agent Chat** - Interactive chat sessions with AI agents for exploratory work +- πŸ‘€ **AI Profiles** - Create custom agent configurations with different prompts, models, and settings +- πŸ“œ **Session History** - Persistent chat sessions across restarts with full conversation history +- πŸ” **Git Diff Viewer** - Review changes made by agents before approving + +### Developer Tools + +- πŸ–₯️ **Integrated Terminal** - Full terminal access with tabs, splits, and persistent sessions +- πŸ–ΌοΈ **Image Support** - Attach screenshots and diagrams to feature descriptions for visual context +- ⚑ **Concurrent Execution** - Configure how many features can run simultaneously (default: 3) +- ⌨️ **Keyboard Shortcuts** - Fully customizable shortcuts for navigation and actions +- 🎨 **Theme System** - 25+ themes including Dark, Light, Dracula, Nord, Catppuccin, and more +- πŸ–₯️ **Cross-Platform** - Desktop app for macOS (x64, arm64), Windows (x64), and Linux (x64) +- 🌐 **Web Mode** - Run in browser or as Electron desktop app + +### Advanced Features + +- πŸ” **Docker Isolation** - Security-focused Docker deployment with no host filesystem access +- 🎯 **Worktree Management** - Create, switch, commit, and create PRs from worktrees +- πŸ“Š **Usage Tracking** - Monitor Claude API usage with detailed metrics +- πŸ”Š **Audio Notifications** - Optional completion sounds (mutable in settings) +- πŸ’Ύ **Auto-save** - All work automatically persisted to `.automaker/` directory ## Tech Stack -- [Next.js](https://nextjs.org) - React framework -- [Electron](https://www.electronjs.org/) - Desktop application framework -- [Tailwind CSS](https://tailwindcss.com/) - Styling -- [Zustand](https://zustand-demo.pmnd.rs/) - State management -- [dnd-kit](https://dndkit.com/) - Drag and drop functionality +### Frontend + +- **React 19** - UI framework +- **Vite 7** - Build tool and development server +- **Electron 39** - Desktop application framework +- **TypeScript 5.9** - Type safety +- **TanStack Router** - File-based routing +- **Zustand 5** - State management with persistence +- **Tailwind CSS 4** - Utility-first styling with 25+ themes +- **Radix UI** - Accessible component primitives +- **dnd-kit** - Drag and drop for Kanban board +- **@xyflow/react** - Graph visualization for dependencies +- **xterm.js** - Integrated terminal emulator +- **CodeMirror 6** - Code editor for XML/syntax highlighting +- **Lucide Icons** - Icon library + +### Backend + +- **Node.js** - JavaScript runtime with ES modules +- **Express 5** - HTTP server framework +- **TypeScript 5.9** - Type safety +- **Claude Agent SDK** - AI agent integration (@anthropic-ai/claude-agent-sdk) +- **WebSocket (ws)** - Real-time event streaming +- **node-pty** - PTY terminal sessions + +### Testing & Quality + +- **Playwright** - End-to-end testing +- **Vitest** - Unit testing framework +- **ESLint 9** - Code linting +- **Prettier 3** - Code formatting +- **Husky** - Git hooks for pre-commit formatting + +### Shared Libraries + +- **@automaker/types** - Shared TypeScript definitions +- **@automaker/utils** - Logging, error handling, image processing +- **@automaker/prompts** - AI prompt templates +- **@automaker/platform** - Path management and security +- **@automaker/model-resolver** - Claude model alias resolution +- **@automaker/dependency-resolver** - Feature dependency ordering +- **@automaker/git-utils** - Git operations and worktree management + +## Available Views + +Automaker provides several specialized views accessible via the sidebar or keyboard shortcuts: + +| View | Shortcut | Description | +| ------------------ | -------- | ------------------------------------------------------------------------------------------------ | +| **Board** | `K` | Kanban board for managing feature workflow (Backlog β†’ In Progress β†’ Waiting Approval β†’ Verified) | +| **Agent** | `A` | Interactive chat sessions with AI agents for exploratory work and questions | +| **Spec** | `D` | Project specification editor with AI-powered generation and feature suggestions | +| **Context** | `C` | Manage context files (markdown, images) that AI agents automatically reference | +| **Profiles** | `M` | Create and manage AI agent profiles with custom prompts and configurations | +| **Settings** | `S` | Configure themes, shortcuts, defaults, authentication, and more | +| **Terminal** | `T` | Integrated terminal with tabs, splits, and persistent sessions | +| **GitHub Issues** | - | Import and validate GitHub issues, convert to tasks | +| **Running Agents** | - | View all active agents across projects with status and progress | + +### Keyboard Navigation + +All shortcuts are customizable in Settings. Default shortcuts: + +- **Navigation:** `K` (Board), `A` (Agent), `D` (Spec), `C` (Context), `S` (Settings), `M` (Profiles), `T` (Terminal) +- **UI:** `` ` `` (Toggle sidebar) +- **Actions:** `N` (New item in current view), `G` (Start next features), `O` (Open project), `P` (Project picker) +- **Projects:** `Q`/`E` (Cycle previous/next project) + +## Architecture + +### Monorepo Structure + +Automaker is built as an npm workspace monorepo with two main applications and seven shared packages: + +``` +automaker/ +β”œβ”€β”€ apps/ +β”‚ β”œβ”€β”€ ui/ # React + Vite + Electron frontend +β”‚ └── server/ # Express + WebSocket backend +└── libs/ # Shared packages + β”œβ”€β”€ types/ # Core TypeScript definitions + β”œβ”€β”€ utils/ # Logging, errors, utilities + β”œβ”€β”€ prompts/ # AI prompt templates + β”œβ”€β”€ platform/ # Path management, security + β”œβ”€β”€ model-resolver/ # Claude model aliasing + β”œβ”€β”€ dependency-resolver/ # Feature dependency ordering + └── git-utils/ # Git operations & worktree management +``` + +### How It Works + +1. **Feature Definition** - Users create feature cards on the Kanban board with descriptions, images, and configuration +2. **Git Worktree Creation** - When a feature starts, a git worktree is created for isolated development +3. **Agent Execution** - Claude Agent SDK executes in the worktree with full file system and command access +4. **Real-time Streaming** - Agent output streams via WebSocket to the frontend for live monitoring +5. **Plan Approval** (optional) - For spec/full planning modes, agents generate plans that require user approval +6. **Multi-Agent Tasks** (spec mode) - Each task in the spec gets a dedicated agent for focused implementation +7. **Verification** - Features move to "Waiting Approval" where changes can be reviewed via git diff +8. **Integration** - After approval, changes can be committed and PRs created from the worktree + +### Key Architectural Patterns + +- **Event-Driven Architecture** - All server operations emit events that stream to the frontend +- **Provider Pattern** - Extensible AI provider system (currently Claude, designed for future providers) +- **Service-Oriented Backend** - Modular services for agent management, features, terminals, settings +- **State Management** - Zustand with persistence for frontend state across restarts +- **File-Based Storage** - No database; features stored as JSON files in `.automaker/` directory + +### Security & Isolation + +- **Git Worktrees** - Each feature executes in an isolated git worktree, protecting your main branch +- **Path Sandboxing** - Optional `ALLOWED_ROOT_DIRECTORY` restricts file access +- **Docker Isolation** - Recommended deployment uses Docker with no host filesystem access +- **Plan Approval** - Optional plan review before implementation prevents unwanted changes + +### Data Storage + +Automaker uses a file-based storage system (no database required): + +**Per-Project Data** (stored in `{projectPath}/.automaker/`): + +``` +.automaker/ +β”œβ”€β”€ features/ # Feature JSON files and images +β”‚ └── {featureId}/ +β”‚ β”œβ”€β”€ feature.json # Feature metadata +β”‚ β”œβ”€β”€ agent-output.md # AI agent output log +β”‚ └── images/ # Attached images +β”œβ”€β”€ context/ # Context files for AI agents +β”œβ”€β”€ settings.json # Project-specific settings +β”œβ”€β”€ spec.md # Project specification +β”œβ”€β”€ analysis.json # Project structure analysis +└── feature-suggestions.json # AI-generated suggestions +``` + +**Global Data** (stored in `DATA_DIR`, default `./data`): + +``` +data/ +β”œβ”€β”€ settings.json # Global settings, profiles, shortcuts +β”œβ”€β”€ credentials.json # API keys (encrypted) +β”œβ”€β”€ sessions-metadata.json # Chat session metadata +└── agent-sessions/ # Conversation histories + └── {sessionId}.json +``` ## Learn More -To learn more about Next.js, take a look at the following resources: +### Documentation -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +- [Project Documentation](./docs/) - Architecture guides, patterns, and developer docs +- [Docker Isolation Guide](./docs/docker-isolation.md) - Security-focused Docker deployment +- [Shared Packages Guide](./docs/llm-shared-packages.md) - Using monorepo packages + +### Community + +Join the **Agentic Jumpstart** Discord to connect with other builders exploring **agentic coding**: + +πŸ‘‰ https://discord.gg/jjem7aEDKU ## License From 3325b91de973255d0caf9d3e6c1373c88e0497f3 Mon Sep 17 00:00:00 2001 From: Kacper Date: Wed, 24 Dec 2025 20:19:58 +0100 Subject: [PATCH 2/2] docs: adress code rabbit suggestions - Updated Discord join link to a markdown format for better presentation. - Enhanced section headers for Web, Desktop, Docker Deployment, Testing, and Environment Configuration for consistency. - Clarified instructions regarding the build process and authentication setup. - Improved formatting for better readability and organization of content. --- README.md | 51 +++++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 2299915e..f9cabfd0 100644 --- a/README.md +++ b/README.md @@ -109,8 +109,7 @@ In the Discord, you can: - πŸš€ Show off projects built with AI agents - 🀝 Collaborate with other developers and contributors -πŸ‘‰ **Join the Discord:** -https://discord.gg/jjem7aEDKU +πŸ‘‰ **Join the Discord:** [Agentic Jumpstart Discord](https://discord.gg/jjem7aEDKU) --- @@ -134,7 +133,7 @@ cd automaker # 2. Install dependencies npm install -# 3. Build shared packages (REQUIRED before first run) +# 3. Build shared packages (Now can be skipped npm install / run dev does it automaticly) npm run build:packages # 4. Set up authentication (skip if using Claude Code CLI) @@ -198,7 +197,7 @@ npm run dev:web ### Building for Production -**Web Application:** +#### Web Application ```bash # Build for web deployment (uses Vite) @@ -208,7 +207,7 @@ npm run build npm run start ``` -**Desktop Application:** +#### Desktop Application ```bash # Build for current platform (macOS/Windows/Linux) @@ -222,7 +221,7 @@ npm run build:electron:linux # Linux (AppImage + DEB, x64) # Output directory: apps/ui/release/ ``` -**Docker Deployment:** +#### Docker Deployment ```bash # Build and run with Docker Compose (recommended for security) @@ -234,14 +233,14 @@ docker-compose up -d ### Testing -**End-to-End Tests (Playwright):** +#### End-to-End Tests (Playwright) ```bash npm run test # Headless E2E tests npm run test:headed # Browser visible E2E tests ``` -**Unit Tests (Vitest):** +#### Unit Tests (Vitest) ```bash npm run test:server # Server unit tests @@ -250,7 +249,7 @@ npm run test:packages # All shared package tests npm run test:all # Packages + server tests ``` -**Test Configuration:** +#### Test Configuration - E2E tests run on ports 3007 (UI) and 3008 (server) - Automatically starts test servers before running @@ -266,40 +265,40 @@ npm run lint ### Environment Configuration -**Authentication (if not using Claude Code CLI):** +#### Authentication (if not using Claude Code CLI) - `ANTHROPIC_API_KEY` - Your Anthropic API key for Claude Agent SDK (not needed if using Claude Code CLI) -**Optional - Server:** +#### Optional - Server - `PORT` - Server port (default: 3008) - `DATA_DIR` - Data storage directory (default: ./data) - `ENABLE_REQUEST_LOGGING` - HTTP request logging (default: true) -**Optional - Security:** +#### Optional - Security - `AUTOMAKER_API_KEY` - Optional API authentication for the server - `ALLOWED_ROOT_DIRECTORY` - Restrict file operations to specific directory - `CORS_ORIGIN` - CORS policy (default: \*) -**Optional - Development:** +#### Optional - Development - `VITE_SKIP_ELECTRON` - Skip Electron in dev mode - `OPEN_DEVTOOLS` - Auto-open DevTools in Electron ### Authentication Setup -**Option 1: Claude Code CLI (Recommended)** +#### Option 1: Claude Code CLI (Recommended) Install and authenticate the Claude Code CLI following the [official quickstart guide](https://code.claude.com/docs/en/quickstart). Once authenticated, Automaker will automatically detect and use your CLI credentials. No additional configuration needed! -**Option 2: Direct API Key** +#### Option 2: Direct API Key If you prefer not to use the CLI, you can provide an Anthropic API key directly using one of these methods: -**2a. Shell Configuration** +##### 2a. Shell Configuration Add to your `~/.bashrc` or `~/.zshrc`: @@ -309,7 +308,7 @@ export ANTHROPIC_API_KEY="sk-ant-..." Then restart your terminal or run `source ~/.bashrc` (or `source ~/.zshrc`). -**2b. .env File** +##### 2b. .env File Create a `.env` file in the project root (gitignored): @@ -319,7 +318,7 @@ PORT=3008 DATA_DIR=./data ``` -**2c. In-App Storage** +##### 2c. In-App Storage The application can store your API key securely in the settings UI. The key is persisted in the `DATA_DIR` directory. @@ -452,7 +451,7 @@ All shortcuts are customizable in Settings. Default shortcuts: Automaker is built as an npm workspace monorepo with two main applications and seven shared packages: -``` +```text automaker/ β”œβ”€β”€ apps/ β”‚ β”œβ”€β”€ ui/ # React + Vite + Electron frontend @@ -497,9 +496,11 @@ automaker/ Automaker uses a file-based storage system (no database required): -**Per-Project Data** (stored in `{projectPath}/.automaker/`): +#### Per-Project Data -``` +Stored in `{projectPath}/.automaker/`: + +```text .automaker/ β”œβ”€β”€ features/ # Feature JSON files and images β”‚ └── {featureId}/ @@ -513,9 +514,11 @@ Automaker uses a file-based storage system (no database required): └── feature-suggestions.json # AI-generated suggestions ``` -**Global Data** (stored in `DATA_DIR`, default `./data`): +#### Global Data -``` +Stored in `DATA_DIR` (default `./data`): + +```text data/ β”œβ”€β”€ settings.json # Global settings, profiles, shortcuts β”œβ”€β”€ credentials.json # API keys (encrypted) @@ -536,7 +539,7 @@ data/ Join the **Agentic Jumpstart** Discord to connect with other builders exploring **agentic coding**: -πŸ‘‰ https://discord.gg/jjem7aEDKU +πŸ‘‰ [Agentic Jumpstart Discord](https://discord.gg/jjem7aEDKU) ## License