{"id":47279699,"url":"https://github.com/mechemsi/agentickode","last_synced_at":"2026-04-05T07:02:15.944Z","repository":{"id":344128723,"uuid":"1160612611","full_name":"mechemsi/agentickode","owner":"mechemsi","description":"AI task automation platform — dispatch coding tasks to AI agents, create PRs, gate on human approval","archived":false,"fork":false,"pushed_at":"2026-03-25T14:07:56.000Z","size":3754,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-25T15:42:49.459Z","etag":null,"topics":["ai","automation","coding-agent","devops","fastapi","llm","open-source","react","self-hosted"],"latest_commit_sha":null,"homepage":"https:///agentickode.ai","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mechemsi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":"CLA.md"}},"created_at":"2026-02-18T06:41:52.000Z","updated_at":"2026-03-25T14:08:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mechemsi/agentickode","commit_stats":null,"previous_names":["mechemsi/agentickode"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/mechemsi/agentickode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechemsi%2Fagentickode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechemsi%2Fagentickode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechemsi%2Fagentickode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechemsi%2Fagentickode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mechemsi","download_url":"https://codeload.github.com/mechemsi/agentickode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mechemsi%2Fagentickode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31427386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T02:22:46.605Z","status":"ssl_error","status_checked_at":"2026-04-05T02:22:33.263Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","automation","coding-agent","devops","fastapi","llm","open-source","react","self-hosted"],"created_at":"2026-03-15T22:28:41.357Z","updated_at":"2026-04-05T07:02:15.937Z","avatar_url":"https://github.com/mechemsi.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\n# AgenticKode\n\n### Turn issues into pull requests with AI agents\n\n**Create an issue. AgenticKode clones your repo, plans the work, writes the code, runs tests, opens a PR, and waits for your approval. Run a structured 8-phase pipeline or let agents work autonomously — either way, fully self-hosted, you stay in control.**\n\n\u003cbr\u003e\n\n[![CI](https://github.com/mechemsi/agentickode/actions/workflows/ci.yml/badge.svg)](https://github.com/mechemsi/agentickode/actions/workflows/ci.yml)\n[![Dependency Audit](https://github.com/mechemsi/agentickode/actions/workflows/dependency-audit.yml/badge.svg)](https://github.com/mechemsi/agentickode/actions/workflows/dependency-audit.yml)\n[![License Check](https://github.com/mechemsi/agentickode/actions/workflows/license-check.yml/badge.svg)](https://github.com/mechemsi/agentickode/actions/workflows/license-check.yml)\n[![License: AGPLv3](https://img.shields.io/badge/license-AGPLv3-blue.svg)](LICENSE)\n![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg)\n![Node 22](https://img.shields.io/badge/node-22-green.svg)\n![React 18](https://img.shields.io/badge/react-18-61dafb.svg)\n![FastAPI](https://img.shields.io/badge/FastAPI-0.115-009688.svg)\n![TypeScript 5.7](https://img.shields.io/badge/TypeScript-5.7-3178c6.svg)\n![PostgreSQL 16](https://img.shields.io/badge/PostgreSQL-16-336791.svg)\n![Docker Compose](https://img.shields.io/badge/docker-compose-2496ED.svg)\n![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/screenshots/demo.gif\" alt=\"AgenticKode Demo\" width=\"100%\"\u003e\n\n*Full UI walkthrough — Dashboard, Run Detail, Projects, Servers, Agents, Workflows, Settings*\n\n\u003c/div\u003e\n\n## Why AgenticKode?\n\nMost AI coding tools are chat-based — you type prompts, copy-paste code, manually test, and commit. **AgenticKode eliminates all of that.** It connects directly to your issue tracker and git provider, runs AI agents on remote workspace servers, and delivers ready-to-review pull requests.\n\n**What makes AgenticKode different:**\n\n- **Two workflow modes** — Structured 8-phase pipeline for maximum control, or autonomous mode where agents work independently and deliver a PR.\n- **Issue-to-PR automation** — Not a chatbot. A full automation platform that takes an issue and delivers a PR with code, tests, and review.\n- **Self-hosted \u0026 private** — Your code never leaves your infrastructure. Run it on your own servers with your own models.\n- **7+ AI agents** — Claude CLI, Codex, Gemini, Aider, OpenCode, Kimi, Copilot, Ollama, OpenHands — all with auto-install. Mix and match per role.\n- **Smart workspaces** — Multi-server assignment, server groups, automatic load balancing, parallel runs, persistent CLI sessions with tmux.\n- **Human-in-the-loop** — Every PR requires your approval. You see the plan before coding starts. You control every phase.\n- **Multi-agent comparison** — Run the same task with different agents in parallel, compare the results, pick the winner.\n- **Works with your stack** — GitHub, GitLab, Gitea, Bitbucket. Plane, GitHub Issues, GitLab Issues. Slack, Discord, Telegram notifications.\n\n## How It Works\n\nAgenticKode offers two workflow modes:\n\n| Mode | How It Works | Best For |\n|------|-------------|----------|\n| **Pipeline Mode** | 8-phase sequential pipeline with per-phase controls, approval gates, and live streaming | Structured tasks where you want full visibility and control over each step |\n| **Autonomous Mode** | Agent works independently — analyzes context, writes code, runs tests, opens PR | Fast turnaround where you trust the agent and just want to review the result |\n\n### Pipeline Mode\n\n```\n┌─────────────┐     ┌──────────────────────────────────────────────────────────────────┐     ┌──────────────┐\n│             │     │                     AgenticKode Pipeline                              │     │              │\n│  Issue      │────\u003e│  Setup → Init → Plan → Code → Test → Review → Approve → Done    │────\u003e│  Pull        │\n│  Created    │     │   ↑                                                      ↑       │     │  Request     │\n│             │     │   └── live logs, phase controls, cost tracking ──────────┘       │     │              │\n└─────────────┘     └──────────────────────────────────────────────────────────────────┘     └──────────────┘\n```\n\n### The 8-Phase Pipeline\n\n| Phase | What Happens | You Control |\n|-------|-------------|-------------|\n| **1. Workspace Setup** | Clones repo, creates feature branch | Automatic |\n| **2. Init** | Analyzes project structure, gathers context | Automatic |\n| **3. Planning** | AI decomposes issue into subtasks | Review plan before proceeding |\n| **4. Coding** | AI writes code for each subtask | Watch live, retry if needed |\n| **5. Testing** | Runs test suite, reports coverage | Auto or manual trigger |\n| **6. Reviewing** | AI reviews its own code changes | See review feedback |\n| **7. Approval** | Creates PR, waits for your approval | Approve, reject, or send back |\n| **8. Finalization** | Sends notifications, cleans up | Automatic |\n\nEach phase can be configured independently: auto-advance, wait for manual trigger, or require human approval. Watch everything happen in real time with live log streaming.\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/screenshots/run-detail-top.png\" alt=\"Run Detail - Phase Timeline\" width=\"100%\"\u003e\n\n*Run detail view with phase timeline, task metadata, PR link, and action buttons*\n\n\u003c/div\u003e\n\n## Features\n\n### Supported AI Agents\n\nAgenticKode doesn't lock you into one AI provider. The **RoleAdapter Protocol** lets you plug in any AI agent — and AgenticKode can **auto-install** them on your workspace servers.\n\n\u003cimg src=\"docs/screenshots/agents.png\" alt=\"Agent Settings\" width=\"100%\"\u003e\n\n#### CLI Agents\n\nThese run directly on your workspace servers via SSH. AgenticKode discovers, installs, and manages them automatically.\n\n| Agent | Provider | Session Support | Auto-Install | Best For |\n|-------|----------|:--------------:|:------------:|----------|\n| **[Claude CLI](https://docs.anthropic.com/en/docs/claude-code)** | Anthropic | Yes | Yes | High-quality code generation with session continuity. Supports resuming previous sessions for multi-step tasks. |\n| **[Codex CLI](https://github.com/openai/codex)** | OpenAI | — | Yes | OpenAI-powered autonomous coding agent. |\n| **[Gemini CLI](https://github.com/google-gemini/gemini-cli)** | Google | — | Yes | Google's Gemini models for code generation. |\n| **[Aider](https://aider.chat)** | Multi-provider | — | Yes | AI pair programming tool. Works with OpenAI, Anthropic, local models, and many others. |\n| **[OpenCode](https://opencode.ai)** | Multi-provider | — | Yes | Terminal-based AI coding assistant. |\n| **[Kimi CLI](https://kimi.ai)** | Moonshot | — | Yes | Moonshot's Kimi models for code tasks. |\n| **[GitHub Copilot CLI](https://github.com/features/copilot)** | GitHub/Microsoft | — | Yes | GitHub Copilot in autopilot mode for terminal-based coding. |\n\n#### API-Based Agents\n\nThese connect over HTTP to a running service. No workspace server SSH needed.\n\n| Agent | Type | Session Support | Auto-Install | Best For |\n|-------|------|:--------------:|:------------:|----------|\n| **[OpenHands](https://github.com/All-Hands-AI/OpenHands)** | Autonomous agent | — | Docker pull | Complex multi-file autonomous coding with sandboxed execution. |\n\n#### LLM Providers (for Planning \u0026 Reviewing)\n\nThese are used for text generation roles (planner, reviewer) rather than direct code execution.\n\n| Provider | Models | GPU Dashboard | Best For |\n|----------|--------|:------------:|----------|\n| **[Ollama](https://ollama.ai)** | Any GGUF model (Qwen, DeepSeek, Llama, Mistral, etc.) | Yes | Self-hosted LLM inference. Zero API costs. Full privacy. Manage models and monitor GPU usage from the AgenticKode dashboard. |\n\n#### Bring Your Own Agent\n\nAgenticKode's plugin architecture makes it easy to add new agents:\n\n- **CLI agents**: Add a command template to `AGENT_COMMANDS` dict — define `generate`, `task`, and `check` commands. AgenticKode handles SSH execution, output capture, and error handling.\n- **API agents**: Implement the `RoleAdapter` Protocol (4 methods: `provider_name`, `generate`, `run_task`, `is_available`) and register in the `AdapterFactory`.\n- **Per-agent config**: Each agent has configurable timeouts, retry limits, environment variables, and CLI flags — all manageable from the UI.\n\n#### Mix \u0026 Match Per Role\n\nUse different agents for different roles in the same pipeline run:\n\n```\nPlanning  →  Ollama (qwen2.5-coder:32b)     # Fast, free, local\nCoding    →  Claude CLI                       # Best code quality\nReviewing →  Ollama (qwen2.5-coder:14b)      # Cost-effective review\n```\n\n**Workflow templates**: Create templates that auto-select agents based on issue labels. `bug` label routes to one agent configuration, `feature` to another. Each template can override agents per-phase.\n\n\u003cimg src=\"docs/screenshots/workflows.png\" alt=\"Workflow Templates\" width=\"100%\"\u003e\n\n### Git Provider Support\n\n| Provider | PRs | Webhooks | Issue Updates |\n|----------|-----|----------|---------------|\n| GitHub | Yes | Yes | Yes |\n| GitLab | Yes | Yes | Yes |\n| Gitea | Yes | Yes | Yes |\n| Bitbucket | Yes | — | — |\n\n**Webhook sources**: Plane, GitHub, Gitea, and GitLab issue events can automatically trigger AgenticKode runs.\n\n### Workspace Management\n\nAgenticKode runs AI agents on **remote workspace servers** — dedicated machines accessed via SSH:\n\n- **Multi-workspace assignment**: Assign multiple servers to a project with automatic load balancing\n- **Server groups**: Organize workspace servers into logical groups for easier management\n- **Parallel runs**: Run multiple tasks concurrently across different workspaces for the same project\n- **Worker user isolation**: Code execution runs under a non-root user for security\n- **Agent discovery \u0026 sync**: AgenticKode finds and manages installed agents on your servers\n- **SSH terminal bridge**: Jump into any server from the UI via xterm.js with user selection\n- **Docker management**: Monitor and manage Docker containers on workspace servers\n- **Per-server git connections**: Configure git tokens per server and project\n\n\u003cimg src=\"docs/screenshots/workspace-servers.png\" alt=\"Workspace Servers\" width=\"100%\"\u003e\n\n### Persistent CLI Sessions\n\nManage long-running AI agent sessions with tmux-based persistence:\n\n- **Attach \u0026 detach**: Connect to running agent sessions, detach without stopping them\n- **Session management**: Create, list, kill sessions from the UI\n- **Chat interface**: Interact with AI agents through a built-in chat UI\n- **Health monitoring**: Automatic session health checks with status tracking\n- **Cross-server**: Sessions run on remote workspace servers via SSH\n\n### Autonomous Mode\n\nFor tasks that don't need phase-by-phase control:\n\n- **Context builder**: Agent analyzes project structure and relevant files before starting\n- **Configurable autonomy**: Set autonomy levels — how much freedom the agent gets\n- **Direct PR creation**: Agents can create pull requests directly, skipping the approval push step\n- **PR status monitoring**: Hourly checks auto-approve or reject runs based on PR state\n\n### IDE Integration\n\nOpen any project on your workspace servers directly in your IDE — one click from the AgenticKode UI.\n\n#### VS Code Remote SSH\n\nClick **\"VS Code\"** next to any project to open it in VS Code via the [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode.remote-ssh) extension:\n\n```\nvscode://vscode-remote/ssh-remote+coder@your-server/home/coder/projects/your-repo\n```\n\nAgenticKode generates the correct `vscode://` URI with:\n- Automatic worker user detection (uses `coder` if configured, falls back to `root`)\n- SSH config snippet generation for non-standard ports\n- Direct deep-link to the project directory on the remote server\n\n#### JetBrains Gateway\n\nClick **\"JetBrains\"** to open a picker with all supported IDEs via [JetBrains Gateway](https://www.jetbrains.com/remote-development/gateway/):\n\n| IDE | Supported |\n|-----|:---------:|\n| IntelliJ IDEA | Yes |\n| PyCharm | Yes |\n| WebStorm | Yes |\n| GoLand | Yes |\n| PhpStorm | Yes |\n| RubyMine | Yes |\n| Rider | Yes |\n| CLion | Yes |\n\nAgenticKode generates `jetbrains-gateway://` URIs with SSH connection details, so Gateway connects directly to the right server, user, and project path.\n\n#### SSH Terminal (xterm.js)\n\nFor quick access without leaving the browser, use the built-in **SSH terminal** — a full xterm.js terminal embedded in the AgenticKode UI that connects to your workspace server via WebSocket. Available from both the server management page and individual run detail pages.\n\n### Ollama Server Management \u0026 GPU Dashboard\n\nAgenticKode includes a dedicated dashboard for managing your Ollama LLM servers:\n\n#### Multi-Server Management\n- **Register multiple Ollama servers** — connect to Ollama instances across your infrastructure\n- **Health monitoring** — automatic status checks with last-seen timestamps\n- **Model discovery** — auto-fetch available models from each server\n- **Role assignment** — assign specific servers and models to pipeline roles (planner, coder, reviewer)\n\n#### GPU Monitoring\n- **Real-time GPU status** — see VRAM usage per loaded model across all servers\n- **VRAM split visualization** — see how much of each model is in GPU vs CPU memory\n- **Running model list** — view all currently loaded models with memory footprint and expiry timers\n\n#### Model Control\n- **Preload models** — load models into GPU memory before pipeline runs to eliminate cold-start delays\n- **Unload models** — free GPU memory by unloading models you're not using\n- **Keep-alive configuration** — control how long models stay loaded after last use\n\nThis lets you optimize GPU utilization across multiple servers — preload your coding model before a batch of runs, unload the planning model when you're done, and monitor everything from one dashboard.\n\n### Real-Time Monitoring\n\n- **Live log streaming** via WebSocket — see exactly what the AI agent is doing\n- **Phase timeline** — clickable visualization of pipeline progress\n- **Cost tracking** — per-invocation token counting and cost estimation\n- **Analytics dashboard** — 14-day rolling charts of runs, costs, and success rates\n- **Health monitoring** — database, Redis, Ollama, OpenHands status at a glance\n\n### Project Configuration\n\n- **Per-project instructions** — Global prompts plus phase-specific instructions (e.g., \"always use pytest\", \"follow our naming conventions\")\n- **Encrypted secrets** — Store API keys and credentials that get injected into agent prompts securely\n- **Comparison mode** — Run multiple agents on the same task, compare outputs side-by-side, pick the best result\n\n### Notifications \u0026 Integrations\n\n| Channel | Status Updates | Approval Requests | Completion |\n|---------|---------------|-------------------|------------|\n| Slack | Yes | Yes | Yes |\n| Discord | Yes | Yes | Yes |\n| Telegram | Yes | Yes | Yes |\n| Webhooks | Yes | Yes | Yes |\n\n### Operations\n\n- **Backup \u0026 restore** — Full config export/import with optional AES encryption\n- **GPU dashboard** — Monitor Ollama server GPU utilization and manage models\n- **Queue scheduling** — Control concurrent run limits and prioritization\n- **Retry \u0026 restart** — Retry failed phases or restart entire runs\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────┐\n│                    Frontend                       │\n│         React 18 + TypeScript + Vite              │\n│    Dashboard, Run Detail, Projects, Servers       │\n│         WebSocket + SSE live updates              │\n├─────────────────────────────────────────────────┤\n│                   FastAPI Backend                  │\n│                                                   │\n│  ┌─────────────┐  ┌──────────────┐  ┌─────────┐ │\n│  │ REST API    │  │ Worker Engine│  │ Services│  │\n│  │ Routes      │  │ 8-Phase      │  │         │  │\n│  │ WebSocket   │  │ Pipeline     │  │ Git     │  │\n│  │ SSE         │  │ Broadcaster  │  │ Agents  │  │\n│  │ Webhooks    │  │ Queue        │  │ SSH     │  │\n│  └─────────────┘  └──────────────┘  │ Notify  │  │\n│                                      └─────────┘ │\n├──────────────────┬──────────────────────────────┤\n│   PostgreSQL 16  │         Redis 7               │\n│   JSONB storage  │     Cache \u0026 queues            │\n├──────────────────┴──────────────────────────────┤\n│              Workspace Servers (SSH)              │\n│    ┌──────┐  ┌──────┐  ┌──────┐  ┌──────┐      │\n│    │Ollama│  │Claude│  │Open  │  │Custom│       │\n│    │      │  │CLI   │  │Hands │  │Agent │       │\n│    └──────┘  └──────┘  └──────┘  └──────┘      │\n└─────────────────────────────────────────────────┘\n```\n\n### Design Principles\n\n- **Protocol-driven**: `GitProvider` and `RoleAdapter` Protocols make everything pluggable\n- **Repository pattern**: Clean separation between API routes and database access\n- **Dependency injection**: `ServiceContainer` provides services to worker phases\n- **Async-first**: Built on async SQLAlchemy, httpx, and FastAPI for high concurrency\n\n## Quick Start\n\n### Prerequisites\n\n- Docker and Docker Compose\n- A git provider account (GitHub, GitLab, Gitea, or Bitbucket)\n- At least one AI agent (Ollama for local, or API keys for cloud agents)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/mechemsi/agentickode.git\ncd agentickode\n\n# Copy and configure environment\ncp .env.example .env\n# Edit .env with your git provider tokens and agent URLs\n\n# Start AgenticKode\ndocker compose -f docker-compose.dev.yml up -d\n```\n\n### Access\n\n| Service | URL |\n|---------|-----|\n| **UI** | http://localhost:5173 |\n| **API** | http://localhost:8000 |\n| **API Docs** | http://localhost:8000/docs |\n\n### First Run\n\n1. **Add a workspace server** — Go to Servers, add your remote machine's SSH details\n2. **Create a project** — Add your repo URL and git provider credentials\n3. **Create a run** — Pick a project, describe the task (or connect webhooks for automatic triggering)\n4. **Watch it work** — Follow the live pipeline, review the plan, approve the PR\n\n## Configuration\n\n\u003cimg src=\"docs/screenshots/settings.png\" alt=\"Settings\" width=\"100%\"\u003e\n\n*Default agents, queue schedule, Ollama servers, notifications, backup/import, SSH keys*\n\n### Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `DATABASE_URL` | PostgreSQL connection string | `postgresql+asyncpg://agentickode:agentickode@postgres:5432/agentickode` |\n| `OLLAMA_URL` | Ollama server URL | `http://localhost:11434` |\n| `OPENHANDS_URL` | OpenHands server URL | `http://localhost:3000` |\n| `GITHUB_TOKEN` | GitHub personal access token | — |\n| `GITEA_URL` / `GITEA_TOKEN` | Gitea server URL and token | — |\n| `GITLAB_TOKEN` | GitLab personal access token | — |\n| `MAX_CONCURRENT_RUNS` | Max parallel pipeline runs | `3` |\n| `APPROVAL_TIMEOUT_HOURS` | Hours before approval times out | `24` |\n| `ENCRYPTION_KEY` | AES key for backup encryption | — |\n\nSee [`.env.example`](.env.example) for the full list.\n\n### Webhook Setup\n\nAgenticKode can automatically start runs when issues are created in your tracker:\n\n- **GitHub** — Repository webhook → `POST /api/webhooks/github`\n- **GitLab** — Project webhook → `POST /api/webhooks/gitlab`\n- **Gitea** — Repository webhook → `POST /api/webhooks/gitea`\n- **Plane** — Project webhook → `POST /api/webhooks/plane`\n\nSee the [Webhook Setup Guide](docs/guides/09-webhook-setup.md) for detailed instructions.\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Backend | Python 3.12, FastAPI, SQLAlchemy (async), Pydantic v2 |\n| Frontend | React 18, TypeScript 5.7, Vite 6, Tailwind CSS, Recharts |\n| Database | PostgreSQL 16 (JSONB), Alembic migrations |\n| Cache | Redis 7 |\n| Testing | pytest + pytest-asyncio (backend), Vitest + RTL (frontend) |\n| Linting | Ruff (backend), ESLint (frontend), Pyright (types) |\n| Infrastructure | Docker Compose, GitHub Actions CI |\n\n## Project Structure\n\n```\nagentickode/\n├── backend/              # FastAPI backend\n│   ├── api/              # REST routes, WebSocket, SSE, webhooks\n│   │   └── servers/      # Workspace server, groups, sessions, Docker endpoints\n│   ├── services/         # Business logic layer\n│   │   ├── git/          # Git providers (GitHub, GitLab, Gitea, Bitbucket)\n│   │   ├── adapters/     # AI agent adapters (Ollama, OpenHands, CLI)\n│   │   ├── workspace/    # SSH, agent discovery, worker users, sessions\n│   │   ├── notifications/# Slack, Discord, Telegram, webhooks\n│   │   └── backup/       # Export/import with encryption\n│   ├── worker/           # Pipeline engine\n│   │   └── phases/       # 8 phase implementations\n│   ├── repositories/     # Database access layer\n│   ├── models/           # SQLAlchemy models (16+ entities)\n│   └── schemas/          # Pydantic request/response schemas\n├── frontend/src/         # React/Vite frontend\n│   ├── pages/            # 10 page components\n│   ├── components/       # 47+ reusable components\n│   │   ├── runs/         # Pipeline visualization, logs, approval\n│   │   ├── servers/      # Server management UI\n│   │   ├── settings/     # Configuration panels\n│   │   └── shared/       # Common UI components\n│   ├── api/              # API client modules\n│   └── types/            # TypeScript type definitions\n├── tests/                # 73 unit + 15 integration tests\n├── alembic/              # 27 database migration versions\n├── .github/workflows/    # CI, CLA, license check, dependency audit\n└── docs/                 # Technical docs and architecture decisions\n```\n\n## Documentation\n\n| Document | Description |\n|----------|-------------|\n| [`CLAUDE.md`](CLAUDE.md) | AI agent instructions and project conventions |\n| [`docs/WORKER_PIPELINE.md`](docs/WORKER_PIPELINE.md) | Complete worker pipeline technical reference |\n| [`docs/guides/09-webhook-setup.md`](docs/guides/09-webhook-setup.md) | Webhook setup for GitHub, GitLab, Gitea, Plane |\n| [`docs/guides/decisions/`](docs/guides/decisions/) | Architecture decision records |\n| [`CONTRIBUTING.md`](CONTRIBUTING.md) | Contribution guidelines |\n| [`SECURITY.md`](SECURITY.md) | Security vulnerability reporting |\n\n## Roadmap\n\n- [x] Demo GIF walkthrough\n- [x] Autonomous agent mode\n- [x] Multi-workspace assignment with load balancing\n- [x] Server groups\n- [x] Persistent CLI sessions (tmux)\n- [x] Docker container management\n- [x] Per-server git connections\n- [x] 7 CLI agent integrations with auto-install\n- [ ] One-click deployment templates (Docker Hub, Railway, Coolify)\n- [ ] Plugin system for custom pipeline phases\n- [ ] Multi-tenant support with team permissions\n- [ ] Built-in code review with inline commenting\n- [ ] Mobile-responsive UI\n- [ ] API key authentication for external integrations\n\n## Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\nAll contributors must agree to the [Contributor License Agreement](CLA.md) before their contributions can be merged.\n\n## Security\n\nTo report a security vulnerability, please see [SECURITY.md](SECURITY.md). Do not open a public issue.\n\n## License\n\nAgenticKode is dual-licensed:\n\n- **AGPLv3** — Free for self-hosting, personal, and internal use. If you offer it as a SaaS, you must open-source your modifications. See [LICENSE](LICENSE).\n- **Commercial License** — For proprietary use, SaaS offerings, or embedding without copyleft obligations. Contact info@mechemsi.com for details.\n\nSee [LICENSING.md](LICENSING.md) for full details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**If AgenticKode saves you time, give it a star!**\n\n\u003c/div\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmechemsi%2Fagentickode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmechemsi%2Fagentickode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmechemsi%2Fagentickode/lists"}