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를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.