EvoX Genesis
EvoX Genesis turns a high-level software objective into a persistent recursive software world: finite-lived agents recursively develop software, while only accepted consequences persist across develop
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Catch the code that inflates your LLM bill, before it ships. Cost checks for AI agent code, on every pull request.
翻譯準備中
正在載入完整 README。
檢視完整 README ↗Catch the code that inflates your LLM bill, before it ships.
spendlint reads your agent code and points at the patterns that quietly multiply token spend: prompts that never hit the cache, system prompts that change on every call, agent loops with no limit, retries that never stop, and cost reports that miss cached tokens. It works on Python and TypeScript/JavaScript, installs in seconds, and has no dependencies.
On a pull request it only speaks up about the lines that pull request adds, right where you review them. Your code never leaves your machine or your CI runner.
Built by Vernia. Free while we are in early access.
Add .github/workflows/spendlint.yml:
name: spendlint
on: pull_request
permissions:
contents: read
jobs:
spendlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: vernialabs/spendlint@v0
Findings show up as annotations on the changed lines, with a summary on the run page. Every option (rule selection, confidence threshold, failing the build, SARIF for code scanning) is in docs/ACTION.md, and there is a complete example workflow.
pip install spendlint
spendlint . # scan a project
spendlint . --diff pr.patch --fail-on warning # only lines a diff adds; exit 1 on warnings
spendlint . --format sarif --out spendlint.sarif
Configuration, exit codes and inline ignores are in docs/USAGE.md.
| Rule | What it flags | Severity |
|---|---|---|
R-ACCT-001 | Cost computed from token counts that ignore cached-token fields | warning |
R-CACHE-001 | Anthropic requests with no prompt caching anywhere in the repo | warning |
R-CACHE-003 | A timestamp, uuid or path inside the system prompt, which breaks the cache | warning |
R-LOOP-001 | Agent loop around an LLM call with no step limit | warning |
R-LOOP-002 | Retry on an LLM call with no stop condition | warning |
R-CTX-008 | Pretty-printed JSON sent in a prompt | info |
R-CALL-004 | Embeddings requested one item at a time inside a loop | info |
R-MEDIA-001 | Image detail hard-coded to high | info |
R-OUT-001 | Chat completion with no output token cap | info |
R-MODEL-001 | Frontier model hard-coded for a cheap sub-task | info |
Every rule comes from a real cost bug that an open-source agent team found and fixed. spendlint reads code, not invoices, so treat each finding as a pointer worth a second look in review.
spendlint is the first product from Vernia. Next up are Vernia Reason, a reasoning harness that reviews pull requests with the context of the whole repository, and Vernia Ledger, an agent that connects to your providers and billing to tie every dollar to a feature and a customer. Want early access? Write to [email protected].
spendlint keeps anonymous usage counts so we can see which rules help and where they get in the way. Here is exactly what that means:
spendlint telemetry show, and Vernia's collector
at t.vernia.in, which stores only these counts (not your IP address). Its source is in
collector/. Set SPENDLINT_TELEMETRY_URL=none
to keep everything local.SPENDLINT_TELEMETRY=on or the Action's telemetry: on input.spendlint telemetry off, SPENDLINT_TELEMETRY=off, or DO_NOT_TRACK=1.The full schema is in docs/telemetry.md. A paid plan with telemetry fully disabled is on the way for teams that need it.
spendlint is source-available under the PolyForm Small Business License 1.0.0. It is free for individuals and for companies with fewer than 100 people and under US$1 million in annual revenue (the license has the exact terms). Larger organisations need a commercial license; see COMMERCIAL.md.
See CONTRIBUTING.md. Run the tests with:
python -m spendlint.test_rules && python -m spendlint.test_cli && python -m spendlint.test_telemetry