AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Vos tickets Notion, joués par Claude Code : une session par ticket, une pull request à l'arrivée.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
▶ Ponos in a minute — one ticket, from Ready to Done. The video plays on the site, sound on. Ponos — write the ticket, it comes back done. (En français : écris le ticket. Il revient fait.) Ponos is a harness around Claude Code that runs your tasks on your machine — code, writing, external actions, publications. It has a board of its own: the web console, over a folder of Markdown files. Notion, GitHub, Telegram, Slack and OpenRouter plug in when you want them; none of them is required.檢視完整 README ↗
A harness around Claude Code that runs your tasks on your machine — code, writing, actions, posts.
Write the ticket on Ponos's own board — the console, or a folder of Markdown files. He brings back a pull request, a text, an action carried out or a post ready to go. You answer in a word, even from your phone, and nothing ships until you say yes. Notion, GitHub, Telegram, Slack and OpenRouter plug in when you want them; none of them is required.
▶ Ponos in a minute — one ticket, from Ready to Done. The video plays on the site, sound on.
The name is a robot's, after the Greek god of toil: he does the tedious part of a ticket in
your place, and you keep the decisions. The repository, the ponos command, the Python
package and every path on your machine carry his name too. An installation from before the
rename moves over on its own — see the CHANGELOG for what it does.
Two of them are yours, and each takes a few seconds. The two in between are Ponos's.
Not only code — four kinds of task. The ticket's type decides the road: pick it, or let a small model read the ticket and choose.
| Type | A ticket | What comes back |
|---|---|---|
| Code | Console: limit the Done column | A pull request, on its own branch and a disposable worktree; the tests run. Merged when you validate. |
| Writing | Draft the October newsletter | A text, written into the ticket, ready to copy. No repository needed. |
| External action | Add the DNS records for the new domain | Done in the browser or a service's settings, with every change logged. It stops at its first doubt. |
| Publication | Post the 1.2 release on LinkedIn | Prepared and shown to you first. Published once you say yes. |
Tickets also come back on their own on a schedule, and the console's chat is a Claude Code session in your workspace.
Ponos needs nobody else's board. The console, on 127.0.0.1, is where
you write a ticket, drag it to Ready and watch its session live. Under it, the board is
a folder of Markdown files: grep, your
editor and git read it too.
Everything runs on your machine; the board, GitHub and your channel are the only things it reaches — see Architecture.
Ponos needs Claude Code and nothing else. Each of these is one more token in the settings, and none of them is a requirement.
| Optional | ||
|---|---|---|
| Your board in Notion. | Tickets, projects and schedules become Notion databases, and every report is written back on the ticket's page. The Notion side | |
| GitHub | Pull requests. | A code ticket comes back as one, through a GitHub App, an access token or gh, and is merged on your yes. Writing, actions and posts need none of it. Several GitHub accounts |
| Telegram · Slack | Your phone. | A question or a result reaches you there, and your answer — oui will do — lands on the ticket. Telegram and Slack |
| OpenRouter | Every other model. | One key: a GPT writes the copy, a model transcribes a voice note — or the sessions themselves run on the model you name. Every other model |
One command. It checks what your machine has — Python, git, Claude Code and its sign-in, room on the disk —, names whatever is missing with the command that installs it, starts Ponos and opens its console in your browser. Beyond Claude Code, nothing to sign up for.
curl -LsSf https://raw.githubusercontent.com/hermez-agency/ponos/main/install.sh | sh
Everything after that happens in the console, on http://127.0.0.1:8787 — never on the
Internet: a first connection in steps, each one checked against the
real thing before the next. The language; the password that opens the console; who answers
the sessions; Notion — paste the integration's token, add it to one page, and the board is
built under that page, found on its own as soon as it is shared; GitHub in one click; a first
project; and a demonstration ticket, played there and then, which is the proof that every
step holds. No Notion? The board can be a folder of Markdown files.
It needs Linux or macOS, python3 ≥ 3.11 — what it imports, httpx and pydantic for the
runner and FastAPI and uvicorn for the console, goes into an environment of its own, made by the installer —,
git and Claude Code, which the installer offers to
install when it is missing. gh is optional: the console connects GitHub itself. What the
installer arms, how Ponos updates itself and every variable it reads are in
Installation; where it stops, and what to do, in
Troubleshooting.
Or in a container, on your machine or behind a domain: docker compose up -d, then the
console's first connection — see Docker. On Dokploy, a template does it in one
click: Install with Dokploy.
Notion Ponos what you get
────── ───────────── ────────────
Ready ──────▶ claims it, writes the session link
│
In progress ◀───────────┤
│
├─ has a repository ──▶ worktree, branch, commits
│ push + gh pr create ──▶ a pull request
│
└─ has none ──────────▶ scratch dir, ANSWER.md
published as Notion blocks ──▶ the page itself
In review ◀─────────── a pull request is waiting for you
Validated ──────▶ merges that pull request — or publishes what the
ticket holds: the post, the mail, the announcement
Done ◀─────────── once it is in
Which of the two you get is decided by the ticket's Type when it has one — Code, Writing, External action, Publication — and otherwise by the project: a project that names a repository produces code, a project that names none — or a ticket with no project at all — produces a document. A ticket that reaches Ready with no type is classified first, and a doubt stops it before anything runs. See The type of a ticket.
The guide, one page per subject — its contents:
| Page | What it covers |
|---|---|
| Installation | what the installer arms, updating, the install variables, uninstalling |
| Configuration | Notion, config.toml, who answers the sessions, OpenRouter, GitHub, the vault |
| The board | the board as Markdown files, the Notion databases, the type, sub-type and model of a ticket |
| A ticket's life | the comments, the statuses, ten tickets on one repository, Validated, the tickets that come back |
| Telegram and Slack | being told, and answering with one word |
| The web console | the console, its first connection, signing in, connecting Ponos to Claude |
| Every command | the ponos command, its exit codes, and what clean removes |
| What protects your code | the worktrees, the permissions, what a session cannot touch |
| When the credits run out | waiting for the window, what a session may do alone, spending limits |
| On a server |
Working on Ponos itself — the architecture, the console's code, the tests, the mascot, releases — is in CONTRIBUTING.md.
Ponos is a Hermez product.
MIT.
| a server, Docker, Dokploy |
| Troubleshooting | while installing, and once it runs: symptoms, journals, ponos.db |