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.