AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Showcase and docs site for bottega-kit
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Showcase and docs site for bottega-kit:
a planner, an implementer, a reviewer and an optional judge on the coding
agents you already have, Claude Code and Codex, one role each, in a git
worktree, with a receipt for every step.
Built with Astro 5 + Tailwind v4 + TypeScript. Static-only output.
The only runtime JavaScript is the copy button on code blocks. The loop
diagram on the home page is inline SVG. Fonts (Instrument Serif, Instrument
Sans, JetBrains Mono) are self-hosted from the @fontsource packages: no
request leaves the site but the analytics beacon.
Everything that describes the kit is generated from the kit checkout, never written by hand here:
| on the site | source in ../bottega-kit |
|---|---|
| version and release date in the footer and the hero | package.json, CHANGELOG.md |
| the starter configuration, the effort sets, the default round cap, the exit codes, the harness argv per role | bin/lib/bottega/config.py, util.py, harness/__init__.py, imported through python3 |
/docs/ (the README), /docs/process, /docs/configuration, /docs/compatibility, /docs/later | README.md, docs/*.md |
/docs/prompts | templates/task.md, prompts/*.md |
/changelog | CHANGELOG.md |
scripts/sync-kit.mjs reads those files, asks python3 for the kit's tables
(an import of its modules, no command of the kit runs) and rewrites the synced
blocks between <!-- BEGIN AUTOGEN --> / <!-- END AUTOGEN --> markers. It
never dispatches a model.
The generated release link and documentation version come from the kit's current tag. Repository links in the synced docs point to that tag, so they describe the same release as the site.
npm run sync-kit # refresh from ../bottega-kit (or BOTTEGA_KIT_ROOT)
npm run sync-kit -- --check # exit 1 if out of sync; skipped when the kit checkout is absent (CI)
npm run sync-kit -- --allow-unreleased # from a checkout that is not at its clean release tag
npm run build runs the check first, then regenerates public/og-image.png
with scripts/generate-og-image.mjs: satori lays the card out in the site's
own fonts and sharp rasterises it, so the image is the same on every machine.
The home page's copy, in src/data/copy.json, is the one hand-written
description of the kit: it is reviewed at every release against the README.
Its strings may hold `code`, *emphasis* (see Inline.astro) and the
placeholders {rounds}, {exitOk}, {exitRefused}, {exitStopped},
{proxyStripped} and {version}, filled from kit.json at build time so no
number is typed by hand. The OG card takes its headline from the same file.
npm install
npm run dev # http://localhost:4321
npm run check # astro check: TypeScript + templates
npm run build # static output in dist/
npm run preview
When the kit ships a version (its CLAUDE.md, "Release tagging", step "sync
the showcase site"): after the tag exists and npm serves the version,
npm run sync-kit, npm run build, commit, deploy.
Production runs on Cloudflare Workers with Static Assets, configured in
wrangler.jsonc (Worker bottega-kit-sh, assets from dist/), served at
https://bottega-kit.sh and www.bottega-kit.sh as Workers custom domains;
the zone is on the Cloudflare account, the domain stays registered at
DNSimple. The origin is set in astro.config.mjs, public/robots.txt and
the routes in wrangler.jsonc. Two ways to deploy, same result:
.github/workflows/deploy.yml builds and runs wrangler deploy on every push to main. It needs the repository secrets
CLOUDFLARE_API_TOKEN (Workers Scripts:Edit) and CLOUDFLARE_ACCOUNT_ID,
and the optional variables PUBLIC_UMAMI_WEBSITE_ID and PUBLIC_UMAMI_SRC.npx wrangler login once, then npm run deploy
(npm run build && wrangler deploy).Umami, through src/components/UmamiAnalytics.astro. Off unless
PUBLIC_UMAMI_WEBSITE_ID is set at build time; PUBLIC_UMAMI_SRC points at a
self-hosted instance instead of Umami Cloud. See .env.example and
/privacy.
src/
components/ CodeBlock, Transcript, Inline, LoopDiagram, UmamiAnalytics
data/ kit.json (generated), copy.json (the hand-written home copy)
layouts/ BaseLayout, DocLayout
pages/ index.astro, 404.astro, privacy.md, docs/*.md, changelog/index.md
styles/ global.css (design tokens)
scripts/ sync-kit.mjs, generate-og-image.mjs
public/ favicon.svg, og-image.png (generated), prose.css, _headers, robots.txt
wrangler.jsonc Workers Static Assets config
MIT. Content synced from the kit repository is MIT there too.