BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
翻译准备中
一个指挥官套牌构筑实验室,套牌文件是唯一真相来源,每张卡牌都必须证明其位置。蒙特卡罗模拟,Scryfall 数据验证门,生成引导——并在确定性代码与 Claude 建议之间划出明确界限。
AI 翻译
A Commander deckbuilding lab where the deck file is the source of truth and every card must justify its slot. Monte Carlo simulation, a validation gate over Scryfall data, generated primers — and a ha
游戏Go · TypeScriptGitHub @aasquier在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证一个指挥官套牌构筑实验室,套牌文件是唯一真相来源,每张卡牌都必须证明其位置。使用蒙特卡罗模拟,对 Scryfall 数据进行验证门,生成引导——并明确决定性代码与 Claude 建议之间的界限。一个 Go 二进制文件,一个 React 前端,永久免费。
AI 翻译
A Commander deckbuilding lab where the deck file is the source of truth and every card must justify its slot. Monte Carlo simulation, a validation gate over Scryfall data, generated primers — and a hard line between what deterministic code decides and what Claude advises. One Go binary, a React frontend, free forever.
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A Commander deckbuilding lab where the deck file is the source of truth, every
card has to justify its slot, and every claim about a deck is traceable to the
system that made it.
Live at sylvan-libraries.com — invite-only,
because accounts exist to share decks with a playgroup rather than to sign the
public up. Free forever, and it will stay that way.
Most deckbuilding tools are lists. This one is an argument.查看完整 README ↗A Commander deckbuilding lab where the deck file is the source of truth, every card has to justify its slot, and every claim about a deck is traceable to the system that made it.
Live at sylvan-libraries.com — invite-only, because accounts exist to share decks with a playgroup rather than to sign the public up. Free forever, and it will stay that way.
Most deckbuilding tools are lists. This one is an argument.
A deck is one YAML file. Each of the 99 cards carries a category and a why —
the reason it is in the deck rather than something else. Nothing generates that
sentence for you, and no write path accepts an empty one: a card you cannot
justify is a card to cut. The documents a deck ships with — two primers, an
annotated list, an import file, and a diff of what changed since the last build
— are generated from that file and never edited by hand.
Around it sit three things, each answering a different kind of question:
{W}{U} is not castable, since the dual cannot tap twice. Tier 3 drives
Forge headless for real games under
real rules.why that lands in the file. That boundary
is enforced structurally: no module in the Claude package may so much as
name a deck-write function, checked over the syntax tree, so the commit that
adds one fails before a prompt is ever written.Decks. Import a pasted decklist, validate it against the gate, get ranked replacements for whatever it flagged, and apply edits that re-run the gate on the result. Every edit lands in the deck's activity log.
Simulation. Tier 1 with a result cache keyed on the compiled deck, so the same question asked twice is answered instantly and says that it was. Tier 3 plays real games on a worker machine that exists only while it is working.
A web app. Deck library with real card art, the annotated 99, deterministic stats, card search over the whole printed history, the simulator with live progress, a teaching layer for Magic's colours and vocabulary — and a fortune-teller's table where a tarot spread asks about films and family rather than about Magic, and reads a set of colours out of the answers.
| Go 1.26 | One static binary — HTTP server, CLI, simulator, and every API route. CGO is on; the card pool rides DuckDB. |
| DuckDB | The card pool: Scryfall's daily bulk files loaded locally, ~35k oracle cards and ~107k printings. Fetched on demand, never committed, never redistributed. |
| SQLite | Accounts, sessions, invites, the activity log, the match ledger. |
| React + TypeScript | The frontend, built with Vite and Tailwind. The bundle is committed, so the binary serves the app with no Node anywhere near it. |
| Claude | The Anthropic API behind the advisory surfaces, each one a mode with a declared scope and no write access. |
| Fly.io | One machine, one volume. A green merge to main deploys itself. |
The binary and CLI are named mtglab; the repository is sylvan-library. The
project's remaining Python lives in tools/ — a local pipeline that renders
the site's committed art and card motion. It never ships and never serves.
cd go && go build -o ../mtglab ./cmd/mtglab && cd ..
./mtglab data refresh # Scryfall bulk -> DuckDB
./mtglab ui # http://127.0.0.1:8765
Go 1.26+ with CGO enabled is the only requirement. The Claude surfaces want an
ANTHROPIC_API_KEY in the environment; everything else — the gate, the mana
solver, the simulator — needs neither an account nor a network.
Setup in full, the command reference and the deck workflow are in CONTRIBUTING.md; standing up your own instance is docs/HOSTING.md.
In daily use against a curated library of Commander decks. The hosted
instance is the product — mtglab ui runs the same app on a laptop, as a
development harness and for anyone who would rather keep their decks on their
own machine.
Built: the gate, the mana solver, both simulator tiers, the artifact generator, the web app, accounts with invites and email password resets, deck ownership and sharing, and the Claude surfaces.
Not built, stated plainly so nothing here reads as a promise: the pod simulator and the deck tier list that would depend on it, free-form deck conversation with Claude, card-level spoiler scanning, and anything resembling a checkout. Prices are shown; nothing is ever bought.
One deck in that library deliberately fails the gate, on a card banned in Commander that has been left where it is. That is the gate working, and picking the replacement is a human's call.
| File | What it is |
|---|---|
| CONTRIBUTING.md | Setup, the command reference, the deck workflow |
| ROADMAP.md | What is being built next, and the open questions |
| docs/ENGINEERING.md | Testing rigor, containers, CI/CD — with the measurements behind each call, including the ones that say don't |
| docs/HOSTING.md | The maintainer's runbook: deploying, refreshing, backing up, rolling back |
| docs/FORGE.md | The Tier 3 bridge: setup, coverage, measured timings |
| docs/HISTORY.md | How it was designed, kept for the reasoning rather than as a changelog |
| docs/adr/ | 38 architecture decision records — context, options, decision, consequences. Immutable once accepted |
Unofficial Fan Content permitted under the Wizards of the Coast Fan Content Policy. Not approved or endorsed by Wizards. Portions of the materials used are property of Wizards of the Coast. ©Wizards of the Coast LLC.
The Fan Content Policy permits noncommercial use only — this stays free, including in forks. Card data comes from Scryfall at runtime and is never committed. See NOTICE.md for full attribution.
Do not commit collection, wishlist, or purchase data. A public inventory of expensive cards tied to a real identity is a targeting list, and CI fails the build if one is committed.