{"id":47309990,"url":"https://github.com/holgerleichsenring/agent-smith","last_synced_at":"2026-05-31T23:01:56.654Z","repository":{"id":339203665,"uuid":"1159494355","full_name":"holgerleichsenring/agent-smith","owner":"holgerleichsenring","description":"Self-hosted AI coding agent · ticket → code → PR","archived":false,"fork":false,"pushed_at":"2026-04-19T18:27:08.000Z","size":10096,"stargazers_count":14,"open_issues_count":3,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-19T20:03:24.422Z","etag":null,"topics":["ai","azure-devops","coding-agent","dotnet","github","gitlab","jita","llm","open-source"],"latest_commit_sha":null,"homepage":"https://agent-smith.org","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/holgerleichsenring.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-16T19:51:07.000Z","updated_at":"2026-04-19T18:26:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ba8699f-2bc0-4137-aaaf-5c6eeeaaff27","html_url":"https://github.com/holgerleichsenring/agent-smith","commit_stats":null,"previous_names":["holgerleichsenring/agent-smith"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/holgerleichsenring/agent-smith","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerleichsenring%2Fagent-smith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerleichsenring%2Fagent-smith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerleichsenring%2Fagent-smith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerleichsenring%2Fagent-smith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/holgerleichsenring","download_url":"https://codeload.github.com/holgerleichsenring/agent-smith/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holgerleichsenring%2Fagent-smith/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32312507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"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","azure-devops","coding-agent","dotnet","github","gitlab","jita","llm","open-source"],"created_at":"2026-03-17T10:32:06.733Z","updated_at":"2026-05-31T23:01:56.648Z","avatar_url":"https://github.com/holgerleichsenring.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Smith\n\n\u003e **From ticket to PR.**\n\u003e Every run shows its cost. Every change comes with the reasoning the agent followed.\n\n[![Agent Smith](docs/agent-smith-logo-large-green.png)](https://docs.agent-smith.org)\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![.NET 8](https://img.shields.io/badge/.NET-8.0-blue.svg)](https://dotnet.microsoft.com)\n[![Docker](https://img.shields.io/badge/Docker-ready-blue.svg)](Dockerfile)\n\n**[Docs](https://docs.agent-smith.org)** · **[Releases](https://github.com/holgerleichsenring/agent-smith/releases)** · **[Blog](https://codingsoul.org)**\n\n---\n\nAgent Smith is an open source AI coding agent. You drop a ticket into your tracker, and a pull request shows up on your repo, with the ticket already updated to point at it. That's the whole loop.\n\nI built it because most AI coding tools stop at a suggestion in your editor and call it a day. I wanted to close the loop — actual PR, in the actual repo, the ticket actually moved to resolved. Plus a paper trail so six months later I can answer \"why did we pick path A over B in this fix\" without guessing.\n\n![Lifecycle: ticket → orchestrator → sandboxes → pull requests → resolved](docs/assets/lifecycle.svg)\n\n## What it does\n\nYou drop a ticket into your tracker. Agent Smith reads it, clones every repo in the project into its own sandbox (each with its own toolchain — a .NET repo gets `dotnet/sdk:8.0`, a Node repo gets `node:20`, a Python worker gets `python:3.12`), writes the code, runs the tests, opens one pull request per repo with the changes cross-linked, and writes the ticket back as resolved with every PR URL in the comment.\n\nThe reasoning the agent followed lands on disk in `.agentsmith/runs/{run-id}/` — a `plan.md`, a `result.md` with token usage and dollar cost, and a `decisions.md` for the non-obvious choices. Read it six months later when you've forgotten why.\n\n## What it works with\n\n| Trackers | AI providers | Hosting |\n|---|---|---|\n| Azure DevOps Boards | Anthropic Claude | CLI single-binary |\n| Jira | OpenAI | Docker Compose |\n| GitHub Issues | Azure OpenAI | Kubernetes |\n| GitLab Issues | Google Gemini | |\n| | Ollama (local) | |\n| | OpenAI-compatible (Groq, vLLM, LM Studio, …) | |\n\nThe skills — the role definitions for what an architect / reviewer / security analyst does in a run — live in a [separate repo](https://github.com/holgerleichsenring/agent-smith-skills), pinned by tag in your `agentsmith.yml`. Skills update without a binary upgrade.\n\n## Install\n\n```bash\n# Linux (x64)\ncurl -sL https://github.com/holgerleichsenring/agent-smith/releases/latest/download/agent-smith-linux-x64 \\\n  -o /usr/local/bin/agent-smith \u0026\u0026 chmod +x /usr/local/bin/agent-smith\n\n# macOS (Apple Silicon)\ncurl -sL https://github.com/holgerleichsenring/agent-smith/releases/latest/download/agent-smith-osx-arm64 \\\n  -o /usr/local/bin/agent-smith \u0026\u0026 chmod +x /usr/local/bin/agent-smith\n\n# Docker\ndocker pull holgerleichsenring/agent-smith:latest\n```\n\nEvery platform (Linux x64 / ARM64, macOS Intel / Apple Silicon, Windows) is on the [releases page](https://github.com/holgerleichsenring/agent-smith/releases). The [install guide](https://docs.agent-smith.org/get-it-running/install/) walks through CLI / Docker / Kubernetes setups.\n\n## First run\n\nDrop an `agentsmith.yml` in a working directory:\n\n```yaml\nagents:\n  default-openai:\n    type: openai\n    models:\n      primary: { model: gpt-4.1 }\n\nrepos:\n  todolist:\n    type: github\n    url: https://github.com/acme-org/todolist\n    auth: github_token\n\ntrackers:\n  acme-issues:\n    type: github\n    organization: acme-org\n    auth: github_token\n\nprojects:\n  todolist:\n    agent: default-openai\n    tracker: acme-issues\n    repos: [todolist]\n\nsecrets:\n  openai_api_key: ${OPENAI_API_KEY}\n  github_token:   ${GITHUB_TOKEN}\n```\n\nSet the secrets, fix a ticket:\n\n```bash\nexport OPENAI_API_KEY=sk-...\nexport GITHUB_TOKEN=ghp_...\n\nagent-smith fix \"#54 in todolist\"\n```\n\nThe [first-run page](https://docs.agent-smith.org/get-it-running/first-run/) shows the end-to-end output.\n\n## More than fix-bug\n\n`fix-bug` is the headline because it's the one most people show up for. Eight more presets ship in the box:\n\n- `add-feature` — same flow plus generated tests and docs.\n- `security-scan` — multi-role code security review.\n- `api-security-scan` — Nuclei + Spectral + an AI panel against a live API.\n- `legal-analysis` — contract review with five legal specialists.\n- `mad-discussion` — multi-agent design discussion when you want to argue something out.\n- `init-project` — bootstraps `.agentsmith/context.yaml` per repo in a project.\n- `autonomous` — open-ended operator-driven loop.\n- `skill-manager` — author / lint / validate skills.\n\nSame orchestrator, different roles. You can define your own in `agentsmith.yml` too — see the [pipeline reference](https://docs.agent-smith.org/reference/pipelines/).\n\n## Where the docs are\n\n- **[Get it running](https://docs.agent-smith.org/get-it-running/install/)** — install + first run.\n- **[Connect your stuff](https://docs.agent-smith.org/connect-your-stuff/tracker-azure-devops/)** — tracker + repos + AI provider, with a copy-pasteable YAML per system.\n- **[Trigger it](https://docs.agent-smith.org/trigger-it/webhooks/)** — webhooks, polling, labels, CLI.\n- **[Host it](https://docs.agent-smith.org/host-it/docker-compose/)** — CLI, Docker Compose, Kubernetes.\n- **[How it works](https://docs.agent-smith.org/how-it-works/methodology/)** — the spec-first plan → review → verify → execute methodology.\n\n## License\n\nMIT. Copyright (c) 2026 Holger Leichsenring.\n\nIf you find Agent Smith useful, [say hi on the blog](https://codingsoul.org) or [drop an issue](https://github.com/holgerleichsenring/agent-smith/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholgerleichsenring%2Fagent-smith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fholgerleichsenring%2Fagent-smith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholgerleichsenring%2Fagent-smith/lists"}