diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index e4e3238..4bbd2dd 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -242,7 +242,11 @@ every intra-repo Markdown anchor (`#x` and `path.md#x`) against the target's rea version; and `checkCrosswalk` resolves every `.js`/`.sh` binding the research paper's crosswalk (`research/formal-synthesis/crosswalk.json`) claims for this repo against the files that actually exist in `src/`, `global/guards/`, and `hooks/` (kit-only names opt -out with a `kit:` prefix), so the paper's stated bindings can no longer trail the code. The two public pages +out with a `kit:` prefix), so the paper's stated bindings can no longer trail the code; and +`checkMintlify` extends the reconcile to the hand-maintained Mintlify site (`mintlify/`, +previously unchecked and prone to drift) — every command must be documented on the English +site as `forge `, and any env var the site names must be one the code reads (no +phantom vars). The two public pages (`landing/index.html` + the `build-pages.mjs` status page) derive from ONE color source — `brand.json.colors` (full dark + light palettes), emitted as CSS by `src/brand.js` (`rootTokensCss()`). `test/pages.test.js` enforces full-palette parity: every hex in @@ -363,6 +367,11 @@ self-correction` (rules) · project-layer template. **`forge init`** (one-command bootstrap) · **`cost-budget` guard** · **Start-Here catalog** · **`recall`** unified memory subsystem. +**Bundled skills (model-invoked, shipped in `global/tools/`):** beyond the reuse skills +above, `problem-solver` (a framework-driven Clarify → Classify → Diagnose → Generate → +Decide → Act cycle) and `catchup` (session re-orientation, pairs with `forge decide`) ship +as native skills through the plugin's `skills` directory. + ## `atlas` — the code graph `forge atlas build [path]` walks the tree and writes a **portable JSON artifact**, diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f7536d..0cb4e94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed + +- **Synced the docs with the code and added a Mintlify drift guard.** `docs check` now has + a `checkMintlify` reconciler that reconciles the hand-maintained Mintlify site + (`mintlify/`) against the code the same way it already does README/GUIDE — every command + must be documented on the English site as `forge `, and any env var the site names + must be one the code reads (no phantom vars). The site had drifted (it was outside the + reconciler) and is now brought current: the `FORGE_LEDGER_ONLY` default flip, the + `problem-solver` skill, the `forge dash` write guard, the `Labs (experimental)` command + group, and version-neutral wording (was "new in v0.19"). Top-level docs updated too — + `ROADMAP.md` (legacy-store retirement now shipped), a stale `forge cortex` sample in + `docs/GUIDE.md`, and the `ARCHITECTURE.md` tool map (adds `problem-solver`/`catchup`). + `mintlify/docs.json` locale code `zh` aligned with its `zh-CN/` directory. + ## [0.27.1] - 2026-07-21 ### Security diff --git a/ROADMAP.md b/ROADMAP.md index bcfbd8a..094bccc 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -60,12 +60,14 @@ confidence only from independent oracles, and merges across teammates conflict-f ## Next -- **Legacy store retirement** — the read-path flip has shipped: every read surface - (cortex injection/status, the substrate advisory, routing, `recall list`, brain's - AGENTS.md index) is now a merged view (legacy ∪ ledger) via `src/ledger_read.js`, - so teammate knowledge from `forge ledger merge` reaches injection. The legacy - formats (`lessons/*.md`, recall/brain fact files) are still written as the canonical - local state; the remaining step is retiring them so the ledger is the only store. +- **Legacy store retirement** — mostly shipped. The read-path flip (every read surface — + cortex injection/status, the substrate advisory, routing, `recall list`, brain's + AGENTS.md index — is a merged view (legacy ∪ ledger) via `src/ledger_read.js`) landed + first, and the **write default has now flipped too**: `FORGE_LEDGER_ONLY` defaults on, so + the legacy formats (`lessons/*.md`, recall/brain fact files) are no longer written and the + ledger is the sole store. `FORGE_LEDGER_ONLY=0` is a one-release escape hatch that restores + the file store. The only remaining step is deleting the now-dormant legacy write/read code + once that escape hatch is removed in a later release. - **OpenAI + Gemini provider detection** — extend `autoDetectProvider()` beyond Anthropic/OpenRouter/LiteLLM (`OPENAI_API_KEY`, `GEMINI_API_KEY`) with the same guided, low-configuration auto-detect contract. diff --git a/docs/GUIDE.md b/docs/GUIDE.md index 244aa77..83f98b3 100644 --- a/docs/GUIDE.md +++ b/docs/GUIDE.md @@ -653,7 +653,7 @@ Forge cortex — self-correcting project memory (no active lessons yet — Cortex learns from corrections as you work) - stored in .forge/lessons/ (git-committable, auditable) + stored in the .forge/ ledger (content-addressed, git-mergeable) ``` `forge cortex why ` shows the lessons that would be injected when you touch it. @@ -1040,7 +1040,7 @@ Plain `forge cost` remains the per-day spend view via `ccusage`. | `forge init` | Emit every tool's native config from one source. | | `forge sync` | Recompile `source/` → each tool's files (idempotent). | | `forge doctor` | Health check: layers, install, drift, cortex. `forge doctor --fix` auto-repairs the safely fixable findings (missing settings hooks/permissions, ledger union-merge rule, stale `AGENTS.md`, non-executable guards) by reusing the same idempotent functions `forge init`/`forge sync` use, then re-checks. | -| `forge docs check` | Docs↔code drift: commands, env vars, MCP tools, CHANGELOG reconciled against the code (CI-gated on the forge repo itself). | +| `forge docs check` | Docs↔code drift: commands, env vars, MCP tools, CHANGELOG, and the Mintlify site (`mintlify/`) reconciled against the code (CI-gated on the forge repo itself). | | `forge docs sync` | Diff-driven stale-docs sweep: UPDATED / STALE (file:line hits) / VERIFIED-UNAFFECTED per artifact (see the full section above). | | `forge docs impact` | Documentation-reference graph: extract typed entities (commands/flags/env/MCP/symbols/version), index every doc surface, and report which docs reference the entities THIS diff changed — ranked by confidence (see the full section above). | | `forge catalog` | Start-Here index of every tool / crew / guard. | diff --git a/mintlify/ar/cli/config.mdx b/mintlify/ar/cli/config.mdx index d5796ae..24b14ab 100644 --- a/mintlify/ar/cli/config.mdx +++ b/mintlify/ar/cli/config.mdx @@ -34,7 +34,7 @@ forge cost --stages # measured per-stage cost factors لوحة معلومات محلية فوق السجل والقياسات ونصف قطر الانفجار. ```bash -forge dash # localhost-only, read-only (default port 4242) +forge dash # localhost-only (default port 4242) ``` ## `forge brand` @@ -72,7 +72,7 @@ forge stack وأُطر العمل، ومديري الحِزم، وأوامر الاختبار **الفعلية** للمستودع — التي تُغذّي قائمة تحقق الركيزة. -## `forge report` v0.19+ +## `forge report` توليد تقرير HTML ثابت عن حالة Forge للمستودع — السجل والقياسات ونصف قطر الانفجار مُصيَّرة في ملف مكتفٍ ذاتيًا يمكنك مشاركته أو أرشفته. @@ -81,7 +81,7 @@ forge stack forge report ``` -## `forge tools` v0.19+ +## `forge tools` اختَر أداة الترميز الأساسية بالذكاء الاصطناعي لهذا المستودع، ووصِّل مدخلات `.gitignore` المطابقة، ليتم تجاهل الإعدادات المُولَّدة وقطع `.forge/` تجاهلًا صحيحًا لإعدادك. diff --git a/mintlify/ar/cli/core.mdx b/mintlify/ar/cli/core.mdx index 8e12984..f253b62 100644 --- a/mintlify/ar/cli/core.mdx +++ b/mintlify/ar/cli/core.mdx @@ -107,7 +107,7 @@ forge docs sync # diff-driven stale-docs sweep ```bash forge update # apply the update (git checkout or npm/copy install) forge update --check # report whether a newer version is available -forge update --to # pin or downgrade to a specific version (v0.19+) +forge update --to # pin or downgrade to a specific version ``` كل مسار يفشل بلطف — دون اتصال أو منبع أو رأس منفصل يُرجَع "غير معروف"، لا خطأ. diff --git a/mintlify/ar/cli/memory.mdx b/mintlify/ar/cli/memory.mdx index 07ab1fa..bcb41d9 100644 --- a/mintlify/ar/cli/memory.mdx +++ b/mintlify/ar/cli/memory.mdx @@ -56,7 +56,7 @@ forge ledger query "" # retrieve by relevance forge ledger ratify # human accept forge ledger retract # tombstone a claim forge ledger merge # fold a teammate's ledger in, conflict-free -forge ledger import # bridge legacy stores into the ledger +forge ledger import # back-fill pre-ledger history into the ledger ``` أضف `--personal` للحصول على سجل خاص بالمستخدم. @@ -88,7 +88,7 @@ forge decide "" forge decide # read the log before re-deciding ``` -## `forge know` v0.19+ +## `forge know` توجيه حقيقة إلى موطن تخزينها الصحيح — يقرر ما إذا كانت المعرفة تنتمي إلى `recall`، أو `remember`/`brain`، أو قرار، أو درس cortex، ويودعها هناك. @@ -97,7 +97,7 @@ forge decide # read the log before re-deciding forge know "" ``` -## `forge deja` v0.19+ +## `forge deja` بحث عن أعمال سابقة مماثلة — يُظهر الأعمال السابقة في السجل التي تشبه ما توشك على عمله، لتعيد استخدام الإثبات بدلًا من التوليد من جديد. diff --git a/mintlify/ar/cli/overview.mdx b/mintlify/ar/cli/overview.mdx index 41a4e0d..50e1a74 100644 --- a/mintlify/ar/cli/overview.mdx +++ b/mintlify/ar/cli/overview.mdx @@ -49,15 +49,16 @@ description: "كل أمر من أوامر forge مُصنَّف حسب المجم | `FORGE_NO_HINT=1` | كتم تلميح init المُعروض لمرة واحدة الذي يدفعك إلى تشغيل `forge init`. | | `FORGE_VERBOSE=1` | إظهار عنوان الأمر (`Forge — …`) المخفي افتراضيًا. | | `FORGE_EMBED=1` | تفعيل طبقة التضمينات لاسترجاع الذاكرة (يبقى MinHash افتراضًا بدون تبعيات). | +| `FORGE_LEDGER_ONLY=0` | منفذ هروب. وضع «السجل فقط» هو الافتراضي — تعيش الذاكرة في `.forge/ledger` فقط، ولم تعد ملفات `lessons/*.md` وملفات الحقائق القديمة تُكتب. اضبطه على `0` لاستعادة مخزن الملفات القديم. | شغّل `forge --help` للقائمة المحدَّثة دائمًا، أو `forge catalog` لفهرس البدء لكل أداة وطاقم وحاجز مع سبب موجز. -## جديد في v0.19+ +## أوامر وعلامات أحدث -عدة أوامر وعلامات تصل في خط v0.19. موثقة في صفحات مجموعاتها وموسومة داخل النص: +هذه الأوامر والعلامات متاحة. موثقة في صفحات مجموعاتها وموسومة داخل النص: | الأمر / العلامة | المجموعة | ماذا يفعل | | ---------------------- | -------- | ----------------------------------------------- | diff --git a/mintlify/ar/cli/quality.mdx b/mintlify/ar/cli/quality.mdx index f041658..fb16c87 100644 --- a/mintlify/ar/cli/quality.mdx +++ b/mintlify/ar/cli/quality.mdx @@ -1,6 +1,6 @@ --- title: "أوامر Quality" -description: "التحقق والسلامة: verify وscan وspec وtaste وuicheck وharden — إضافةً إلى بوّابتَي precommit وradar في الإصدار v0.19+." +description: "التحقق والسلامة: verify وscan وspec وtaste وuicheck وharden — إضافةً إلى بوّابتَي precommit وradar." --- مجموعة Quality هي سطح التحقق والسلامة. راجع @@ -12,7 +12,7 @@ description: "التحقق والسلامة: verify وscan وspec وtaste وuich ```bash forge verify -forge verify --deep # multi-lens consensus (v0.19+) +forge verify --deep # multi-lens consensus ``` يُبلِّغ `forge verify --deep` عن `status` رباعي الحالات بدلًا من نجاح/إخفاق ثنائي: @@ -76,7 +76,7 @@ forge uicheck visual # Playwright-rendered check (opt-in tier) forge harden ``` -## `forge precommit` v0.19+ +## `forge precommit` بوّابة على مستوى الالتزام — تُشغّل الحد الأدنى للتحقق عند وقت الالتزام، فيُلتقط العمل الجزئي أو غير المُتحقَّق منه قبل أن يستقر. @@ -85,7 +85,7 @@ forge harden forge precommit ``` -## `forge radar` v0.19+ +## `forge radar` حلقات حداثة التبعيات — تُجمِّع تبعيات المشروع بحسب مدى حداثتها، ليظهر ما هو بائت أو منحرف قبل أن يعضّ. diff --git a/mintlify/ar/concepts/verification-gates.mdx b/mintlify/ar/concepts/verification-gates.mdx index 1b23f0c..1f05bd8 100644 --- a/mintlify/ar/concepts/verification-gates.mdx +++ b/mintlify/ar/concepts/verification-gates.mdx @@ -24,7 +24,7 @@ forge verify --deep # multi-lens consensus — several independent checks ``` - يُصعّد `--deep` (v0.19+) إلى إجماع متعدد العدسات: يجب أن يجتاز التغيير عدة عدسات + يُصعّد `--deep` إلى إجماع متعدد العدسات: يجب أن يجتاز التغيير عدة عدسات تحقق مستقلة، لا عدسة واحدة فقط. @@ -92,7 +92,7 @@ forge harden # gitleaks pre-commit + sandbox settings ## بوابة على مستوى الالتزام — `forge precommit` - `forge precommit` (v0.19+) هي بوابة على مستوى الالتزام (commit) — تُشغّل الحد الأدنى للتحقق + `forge precommit` هي بوابة على مستوى الالتزام (commit) — تُشغّل الحد الأدنى للتحقق وقت الالتزام حتى يُصطاد العمل الجزئي أو غير المُتحقَق منه قبل أن يهبط. diff --git a/mintlify/ar/guides/radar-deps.mdx b/mintlify/ar/guides/radar-deps.mdx index 37307e4..5455b2d 100644 --- a/mintlify/ar/guides/radar-deps.mdx +++ b/mintlify/ar/guides/radar-deps.mdx @@ -4,7 +4,7 @@ description: "يجمع forge radar تبعياتك في حلقات حداثة (cu --- - `forge radar` يهبط في خط v0.19. يصف هذا الدليل كيف يتناسب مع انضباط تحديث التبعيات القائم؛ + `forge radar` متاح. يصف هذا الدليل كيف يتناسب مع انضباط تحديث التبعيات القائم؛ شغّل `forge --help` للتأكد من توفره في نسختك المثبتة. diff --git a/mintlify/cli/config.mdx b/mintlify/cli/config.mdx index bfdc53e..ab45d14 100644 --- a/mintlify/cli/config.mdx +++ b/mintlify/cli/config.mdx @@ -31,10 +31,13 @@ forge cost --stages # measured per-stage cost factors ## `forge dash` -Local dashboard over the ledger, metrics, and blast radius. +Local dashboard over the ledger, metrics, and blast radius. Read-mostly: the only writes +are the two human-driven actions `POST /api/ratify` and `POST /api/retract`, which are +guarded against CSRF and DNS-rebinding — a request must come from the loopback `Host` (and, +for a browser, a loopback `Origin`) or it is refused with `403`. ```bash -forge dash # localhost-only, read-only (default port 4242) +forge dash # localhost-only (default port 4242) ``` ## `forge brand` @@ -72,7 +75,7 @@ Reads `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, `Gemfile`, frameworks, package managers, and the repo's **actual** test commands — which feed the substrate's verification checklist. -## `forge report` v0.19+ +## `forge report` Generate a static HTML report of the repo's Forge state — the ledger, metrics, and blast radius rendered to a self-contained file you can share or archive. @@ -81,7 +84,7 @@ radius rendered to a self-contained file you can share or archive. forge report ``` -## `forge tools` v0.19+ +## `forge tools` Select this repo's primary AI coding tool and wire the matching `.gitignore` entries, so generated config and `.forge/` artifacts are ignored correctly for your setup. diff --git a/mintlify/cli/core.mdx b/mintlify/cli/core.mdx index b2ef8fc..3037d17 100644 --- a/mintlify/cli/core.mdx +++ b/mintlify/cli/core.mdx @@ -105,7 +105,7 @@ Self-update across all three install modes. ```bash forge update # apply the update (git checkout or npm/copy install) forge update --check # report whether a newer version is available -forge update --to # pin or downgrade to a specific version (v0.19+) +forge update --to # pin or downgrade to a specific version ``` Every path is fail-open — offline, no upstream, or detached HEAD returns "unknown", never diff --git a/mintlify/cli/memory.mdx b/mintlify/cli/memory.mdx index f692935..2ecdba7 100644 --- a/mintlify/cli/memory.mdx +++ b/mintlify/cli/memory.mdx @@ -56,7 +56,7 @@ forge ledger query "" # retrieve by relevance forge ledger ratify # human accept forge ledger retract # tombstone a claim forge ledger merge # fold a teammate's ledger in, conflict-free -forge ledger import # bridge legacy stores into the ledger +forge ledger import # back-fill pre-ledger history into the ledger ``` Add `--personal` for the per-user ledger. @@ -88,7 +88,7 @@ forge decide "" forge decide # read the log before re-deciding ``` -## `forge know` v0.19+ +## `forge know` Route a fact to its correct storage home — decides whether a piece of knowledge belongs in `recall`, `remember`/`brain`, a decision, or a cortex lesson, and files it there. @@ -97,7 +97,7 @@ in `recall`, `remember`/`brain`, a decision, or a cortex lesson, and files it th forge know "" ``` -## `forge deja` v0.19+ +## `forge deja` Similar-past-work lookup — surfaces prior work in the ledger that resembles what you're about to do, so you reuse the proof instead of regenerating. diff --git a/mintlify/cli/overview.mdx b/mintlify/cli/overview.mdx index 14e274d..69fa126 100644 --- a/mintlify/cli/overview.mdx +++ b/mintlify/cli/overview.mdx @@ -5,26 +5,31 @@ description: "Every forge command grouped by Core, Memory, Substrate, Quality, a The `forge` command surface is defined as data (`src/commands.js`) and reconciled against the docs by `forge docs check`, so a command can't ship or disappear without the docs -noticing. Commands are organized into five groups. +noticing. Commands are organized into six groups (the last is experimental). - Bootstrap and maintain: `init`, `sync`, `doctor`, `catalog`, `docs`, `update`. + Bootstrap and maintain: `init`, `sync`, `doctor`, `tools`, `catalog`, `docs`, + `update`, `config`. Cross-session and team memory: `cortex`, `recall`, `remember`, `brain`, `ledger`, - `reuse`, `handoff`, `decide`. + `handoff`, `decide`, `know`. - The pre-action gate and its stages: `substrate`, `preflight`, `route`, `impact`, - `scope`, `context`, `anchor`, `diagnose`, `imagine`, `lean`. + The pre-action gate and its stages: `substrate`, `preflight`, `impact`, `scope`, + `context`, `route`, `verify`, `precommit`. - Verification and safety: `verify`, `scan`, `spec`, `taste`, `uicheck`, `harden`. + Verification and safety: `scan`, `spec`, `harden`, `radar`. - Providers, cost, dashboards, brand, atlas, stack: `config`, `cost`, `dash`, `brand`, - `atlas`, `stack`. + Providers, cost, brand, atlas, stack: `brand`, `atlas`, `stack`, `integrations`, + `cost`. + + + Experimental — may change or move: `taste`, `uicheck`, `imagine`, `lean`, `anchor`, + `diagnose`, `dash`, `report`, `deja`, `reuse`. Documented in the reference pages above. @@ -49,16 +54,18 @@ noticing. Commands are organized into five groups. | `FORGE_NO_HINT=1` | Mute the one-time init tip that prompts you to run `forge init`. | | `FORGE_VERBOSE=1` | Show the per-command banner (`Forge — …`) that is hidden by default. | | `FORGE_EMBED=1` | Opt in to the embedding tier for memory recall (MinHash stays the zero-dependency default). | +| `FORGE_LEDGER_ONLY=0` | Escape hatch. Ledger-only is the DEFAULT — memory (lessons + recall/brain facts) lives only in the content-addressed `.forge/ledger`, and the legacy `lessons/*.md` + fact files are no longer written. Set `0` to restore the legacy file store while external tooling migrates. | Run `forge --help` for the always-current list, or `forge catalog` for the Start-Here - index of every tool, crew, and guard with a one-line why. + index of every tool, crew, and guard with a one-line why. Forge also ships **model-invoked + skills** (in `global/tools/`, surfaced through the plugin) — for example `problem-solver`, + a structured Clarify → Classify → Diagnose → Generate → Decide → Act problem-solving cycle. -## New in v0.19+ +## Newer commands and flags -Several commands and flags are landing in the v0.19 line. They are documented in their -group pages and flagged inline: +These commands and flags are available and documented in their group pages: | Command / flag | Group | What it does | | ---------------------- | -------- | ----------------------------------------------- | diff --git a/mintlify/cli/quality.mdx b/mintlify/cli/quality.mdx index 00fb930..eac1fe4 100644 --- a/mintlify/cli/quality.mdx +++ b/mintlify/cli/quality.mdx @@ -1,6 +1,6 @@ --- title: "Quality commands" -description: "Reference for Forge's verification and safety CLI: verify, scan, spec, taste, uicheck, harden, and the v0.19+ precommit and radar gates." +description: "Reference for Forge's verification and safety CLI: verify, scan, spec, taste, uicheck, harden, and the precommit and radar gates." --- The Quality group is the verification and safety surface. See @@ -12,7 +12,7 @@ Independent verification gate — tests + hallucinated-symbol + provenance. ```bash forge verify -forge verify --deep # multi-lens consensus (v0.19+) +forge verify --deep # multi-lens consensus ``` `forge verify --deep` reports a four-state `status` instead of a plain pass/fail: @@ -76,7 +76,7 @@ Wire security controls — gitleaks pre-commit + sandbox settings. forge harden ``` -## `forge precommit` v0.19+ +## `forge precommit` Commit-level gate — runs the verification floor at commit time so partial or unverified work is caught before it lands. @@ -85,7 +85,7 @@ work is caught before it lands. forge precommit ``` -## `forge radar` v0.19+ +## `forge radar` Dependency-currency rings — groups the project's dependencies by how current they are, so stale or drifting dependencies surface before they bite. diff --git a/mintlify/cn/cli/config.mdx b/mintlify/cn/cli/config.mdx index 400fb0a..0a57be0 100644 --- a/mintlify/cn/cli/config.mdx +++ b/mintlify/cn/cli/config.mdx @@ -34,7 +34,7 @@ forge cost --stages # measured per-stage cost factors 跑在账本、指标和爆炸半径之上的本地仪表盘。 ```bash -forge dash # localhost-only, read-only (default port 4242) +forge dash # localhost-only (default port 4242) ``` ## `forge brand` @@ -72,7 +72,7 @@ forge stack 框架、包管理器和仓库**真正**的测试命令 —— 这些会喂给 基底的验证清单。 -## `forge report` v0.19+ +## `forge report` 生成本仓库 Forge 状态的静态 HTML 报告 —— 把账本、指标和爆炸 半径渲染成一个可以分享或归档的、自包含的文件。 @@ -81,7 +81,7 @@ forge stack forge report ``` -## `forge tools` v0.19+ +## `forge tools` 选择本仓库的主 AI 编码工具,并接通对应的 `.gitignore` 条目,让 生成的配置和 `.forge/` 产物在你的这套配置里被正确忽略。 diff --git a/mintlify/cn/cli/core.mdx b/mintlify/cn/cli/core.mdx index 31e4256..c9c326a 100644 --- a/mintlify/cn/cli/core.mdx +++ b/mintlify/cn/cli/core.mdx @@ -104,7 +104,7 @@ forge docs sync # diff-driven stale-docs sweep ```bash forge update # apply the update (git checkout or npm/copy install) forge update --check # report whether a newer version is available -forge update --to # pin or downgrade to a specific version (v0.19+) +forge update --to # pin or downgrade to a specific version ``` 所有路径都是 fail-open —— 离线、无上游或 detached HEAD 都会返回"unknown", diff --git a/mintlify/cn/cli/memory.mdx b/mintlify/cn/cli/memory.mdx index 88967c9..b30a8ec 100644 --- a/mintlify/cn/cli/memory.mdx +++ b/mintlify/cn/cli/memory.mdx @@ -56,7 +56,7 @@ forge ledger query "" # retrieve by relevance forge ledger ratify # human accept forge ledger retract # tombstone a claim forge ledger merge # fold a teammate's ledger in, conflict-free -forge ledger import # bridge legacy stores into the ledger +forge ledger import # back-fill pre-ledger history into the ledger ``` 加 `--personal` 是每用户的账本。 @@ -88,7 +88,7 @@ forge decide "" forge decide # read the log before re-deciding ``` -## `forge know` v0.19+ +## `forge know` 把一条事实路由到它正确的存储归宿 —— 决定一条知识应该落在 `recall`、`remember`/`brain`、决策还是 cortex 经验里,并把它归档到那里。 @@ -97,7 +97,7 @@ forge decide # read the log before re-deciding forge know "" ``` -## `forge deja` v0.19+ +## `forge deja` 相似历史工作查找 —— 从账本中找出与你即将要做的事情 相似的旧工作,让你复用已有的证据,而不是重新生成。 diff --git a/mintlify/cn/cli/overview.mdx b/mintlify/cn/cli/overview.mdx index 3bc9492..a1c5613 100644 --- a/mintlify/cn/cli/overview.mdx +++ b/mintlify/cn/cli/overview.mdx @@ -49,15 +49,16 @@ description: "所有 forge 命令按 Core、Memory、Substrate、Quality、Confi | `FORGE_NO_HINT=1` | 静音那条一次性、提示你去跑 `forge init` 的初始化提示。 | | `FORGE_VERBOSE=1` | 显示每条命令默认隐藏的横幅(`Forge — …`)。 | | `FORGE_EMBED=1` | 为记忆召回选择接入 embedding 层(MinHash 仍是零依赖的默认方案)。 | +| `FORGE_LEDGER_ONLY=0` | 应急开关。仅 ledger 现为默认——记忆只存放在 `.forge/ledger` 中,旧的 `lessons/*.md` 与 fact 文件不再写入。设为 `0` 可恢复旧的文件存储。 | 运行 `forge --help` 得到永远最新的命令列表,或 `forge catalog` 得到 一份"Start Here"索引,列出每个工具、crew 和护栏,附上一行简介。 -## v0.19+ 新增 +## 更新的命令与标志 -有几条命令和标志正在 v0.19 线路上落地。它们在各自的分组页里都有 +这些命令和标志均已可用。它们在各自的分组页里都有 文档,并会在行内标注: | 命令 / 标志 | 分组 | 作用 | diff --git a/mintlify/cn/cli/quality.mdx b/mintlify/cn/cli/quality.mdx index 6ec718d..c2b08e7 100644 --- a/mintlify/cn/cli/quality.mdx +++ b/mintlify/cn/cli/quality.mdx @@ -1,6 +1,6 @@ --- title: "Quality 命令" -description: "验证与安全:verify、scan、spec、taste、uicheck 和 harden —— 外加 v0.19+ 的 precommit 和 radar 门。" +description: "验证与安全:verify、scan、spec、taste、uicheck 和 harden。" --- Quality 分组是验证和安全面。它们如何组合,见 @@ -12,7 +12,7 @@ Quality 分组是验证和安全面。它们如何组合,见 ```bash forge verify -forge verify --deep # multi-lens consensus (v0.19+) +forge verify --deep # multi-lens consensus ``` `forge verify --deep` 汇报的是一个四态的 `status`,而不是简单的 pass/fail: @@ -76,7 +76,7 @@ forge uicheck visual # Playwright-rendered check (opt-in tier) forge harden ``` -## `forge precommit` v0.19+ +## `forge precommit` 提交级门 —— 在提交时跑一遍验证底线,让部分完成或未验证的 工作在落地之前就被拦住。 @@ -85,7 +85,7 @@ forge harden forge precommit ``` -## `forge radar` v0.19+ +## `forge radar` 依赖新鲜度环 —— 按项目依赖的新鲜程度分组,让陈旧或漂移中的依赖 在咬人之前先浮出水面。 diff --git a/mintlify/cn/concepts/verification-gates.mdx b/mintlify/cn/concepts/verification-gates.mdx index ca86182..a6bec3c 100644 --- a/mintlify/cn/concepts/verification-gates.mdx +++ b/mintlify/cn/concepts/verification-gates.mdx @@ -25,7 +25,7 @@ forge verify --deep # multi-lens consensus — several independent checks ``` - `--deep`(v0.19+)升级为一个多视角共识:变更必须过几个 + `--deep`升级为一个多视角共识:变更必须过几个 独立的验证视角,而不只是一个。 @@ -93,7 +93,7 @@ forge harden # gitleaks pre-commit + sandbox settings ## 提交级门 —— `forge precommit` - `forge precommit`(v0.19+)是一个提交级门 —— 它在提交时跑一遍验证底线, + `forge precommit`是一个提交级门 —— 它在提交时跑一遍验证底线, 让部分完成或未验证的工作在落地之前就被拦住。 diff --git a/mintlify/cn/guides/radar-deps.mdx b/mintlify/cn/guides/radar-deps.mdx index 5e82f8f..b7e2494 100644 --- a/mintlify/cn/guides/radar-deps.mdx +++ b/mintlify/cn/guides/radar-deps.mdx @@ -4,7 +4,7 @@ description: "forge radar 把你的依赖按新鲜程度分到多个环里,让 --- - `forge radar` 正在 v0.19 线路上落地。这份指南描述它如何嵌入现有的 + `forge radar` 已可用。这份指南描述它如何嵌入现有的 依赖新鲜度纪律;在你安装的版本里可用性以 `forge --help` 为准。 diff --git a/mintlify/concepts/cross-session-memory.mdx b/mintlify/concepts/cross-session-memory.mdx index 6880999..99b5865 100644 --- a/mintlify/concepts/cross-session-memory.mdx +++ b/mintlify/concepts/cross-session-memory.mdx @@ -15,7 +15,8 @@ week-old session artifacts, and injects a fresh orientation: - Cortex lessons mined from past corrections. + Cortex lessons mined from past corrections — stored in (and read from) the `.forge` + ledger, the sole memory store. The stated goal, so drift can be measured against it. diff --git a/mintlify/concepts/proof-carrying-memory.mdx b/mintlify/concepts/proof-carrying-memory.mdx index 22abe03..24cf5ae 100644 --- a/mintlify/concepts/proof-carrying-memory.mdx +++ b/mintlify/concepts/proof-carrying-memory.mdx @@ -19,7 +19,10 @@ decays out instead of ossifying. All memory subsystems converge on one store. `recall`, `remember`/`brain`, `cortex` lessons, `reuse` artifacts, and doom-loop `diagnose` results all write content-addressed -claims into `.forge/ledger/`. +claims into `.forge/ledger/`. The ledger is now the **default and only** store: the legacy +`lessons/*.md` and recall/brain fact files are no longer written, and every read +materializes from the ledger. (`FORGE_LEDGER_ONLY=0` restores the legacy file store as a +one-release escape hatch.) ```mermaid flowchart LR @@ -86,7 +89,7 @@ forge ledger query "" # retrieve claims by relevance forge ledger ratify # human accept forge ledger retract # tombstone a claim forge ledger merge # fold a teammate's ledger in, conflict-free -forge ledger import # bridge legacy stores into the ledger +forge ledger import # back-fill pre-ledger history into the ledger ``` Add `--personal` for the per-user ledger. diff --git a/mintlify/concepts/verification-gates.mdx b/mintlify/concepts/verification-gates.mdx index 797e20e..c00b610 100644 --- a/mintlify/concepts/verification-gates.mdx +++ b/mintlify/concepts/verification-gates.mdx @@ -25,7 +25,7 @@ forge verify --deep # multi-lens consensus — several independent checks ``` - `--deep` (v0.19+) escalates to a multi-lens consensus: the change must clear several + `--deep` escalates to a multi-lens consensus: the change must clear several independent verification lenses, not just one. @@ -94,7 +94,7 @@ forge harden # gitleaks pre-commit + sandbox settings ## Commit-level gate — `forge precommit` - `forge precommit` (v0.19+) is a commit-level gate — it runs the verification floor at + `forge precommit` is a commit-level gate — it runs the verification floor at commit time so partial or unverified work is caught before it lands. diff --git a/mintlify/docs.json b/mintlify/docs.json index 774764a..5229a26 100644 --- a/mintlify/docs.json +++ b/mintlify/docs.json @@ -287,7 +287,7 @@ ] }, { - "language": "zh", + "language": "zh-CN", "tabs": [ { "tab": "文档", @@ -295,7 +295,11 @@ "groups": [ { "group": "开始使用", - "pages": ["zh-CN/introduction", "zh-CN/quickstart", "zh-CN/installation"] + "pages": [ + "zh-CN/introduction", + "zh-CN/quickstart", + "zh-CN/installation" + ] }, { "group": "核心概念", @@ -362,7 +366,11 @@ "groups": [ { "group": "开始使用", - "pages": ["zh-Hans/introduction", "zh-Hans/quickstart", "zh-Hans/installation"] + "pages": [ + "zh-Hans/introduction", + "zh-Hans/quickstart", + "zh-Hans/installation" + ] }, { "group": "核心概念", diff --git a/mintlify/guides/radar-deps.mdx b/mintlify/guides/radar-deps.mdx index 3d38133..12111d3 100644 --- a/mintlify/guides/radar-deps.mdx +++ b/mintlify/guides/radar-deps.mdx @@ -4,9 +4,9 @@ description: "forge radar groups your dependencies into currency rings so stale --- - `forge radar` is landing in the v0.19 line. This guide describes how it fits the - existing dependency-currency discipline; run `forge --help` to confirm availability in - your installed version. + `forge radar` is available. This guide describes how it fits the existing + dependency-currency discipline; run `forge --help` to confirm availability in your + installed version. One of Forge's engineering rules is: _before adding a dependency, verify the current best diff --git a/mintlify/hi/cli/config.mdx b/mintlify/hi/cli/config.mdx index 0e9da36..cc7cb14 100644 --- a/mintlify/hi/cli/config.mdx +++ b/mintlify/hi/cli/config.mdx @@ -34,7 +34,7 @@ forge cost --stages # measured per-stage cost factors लेजर, मीट्रिक्स, और ब्लास्ट रेडियस पर लोकल डैशबोर्ड। ```bash -forge dash # localhost-only, read-only (default port 4242) +forge dash # localhost-only (default port 4242) ``` ## `forge brand` @@ -72,7 +72,7 @@ forge stack फ़्रेमवर्क, पैकेज मैनेजर, और रेपो की **वास्तविक** टेस्ट कमांड्स रिपोर्ट करता है — जो सब्सट्रेट की सत्यापन चेकलिस्ट को फ़ीड करते हैं। -## `forge report` v0.19+ +## `forge report` रेपो की Forge स्थिति की एक स्टैटिक HTML रिपोर्ट बनाएँ — लेजर, मीट्रिक्स, और ब्लास्ट रेडियस एक स्व-निहित फ़ाइल में प्रस्तुत जिसे आप साझा या संग्रह कर सकते हैं। @@ -81,7 +81,7 @@ forge stack forge report ``` -## `forge tools` v0.19+ +## `forge tools` इस रेपो का प्राथमिक AI कोडिंग टूल चुनें और मिलती-जुलती `.gitignore` प्रविष्टियाँ वायर करें, ताकि आपके सेटअप के लिए जनरेट की गई कॉन्फ़िग और `.forge/` आर्टिफ़ैक्ट सही ढंग से अनदेखे हों। diff --git a/mintlify/hi/cli/core.mdx b/mintlify/hi/cli/core.mdx index 22c7abc..40913b1 100644 --- a/mintlify/hi/cli/core.mdx +++ b/mintlify/hi/cli/core.mdx @@ -107,7 +107,7 @@ forge docs sync # diff-driven stale-docs sweep ```bash forge update # apply the update (git checkout or npm/copy install) forge update --check # report whether a newer version is available -forge update --to # pin or downgrade to a specific version (v0.19+) +forge update --to # pin or downgrade to a specific version ``` हर पथ fail-open है — ऑफ़लाइन, कोई upstream नहीं, या detached HEAD "unknown" लौटाता है, diff --git a/mintlify/hi/cli/memory.mdx b/mintlify/hi/cli/memory.mdx index 227e4ee..5cc429e 100644 --- a/mintlify/hi/cli/memory.mdx +++ b/mintlify/hi/cli/memory.mdx @@ -56,7 +56,7 @@ forge ledger query "" # retrieve by relevance forge ledger ratify # human accept forge ledger retract # tombstone a claim forge ledger merge # fold a teammate's ledger in, conflict-free -forge ledger import # bridge legacy stores into the ledger +forge ledger import # back-fill pre-ledger history into the ledger ``` प्रति-यूज़र लेजर के लिए `--personal` जोड़ें। @@ -88,7 +88,7 @@ forge decide "" forge decide # read the log before re-deciding ``` -## `forge know` v0.19+ +## `forge know` किसी तथ्य को उसके सही स्टोरेज गंतव्य पर रूट करें — यह तय करता है कि ज्ञान का एक टुकड़ा `recall`, `remember`/`brain`, एक निर्णय, या एक cortex सबक में रहना चाहिए, और उसे वहाँ दर्ज करता है। @@ -97,7 +97,7 @@ forge decide # read the log before re-deciding forge know "" ``` -## `forge deja` v0.19+ +## `forge deja` समान-पिछले-कार्य की खोज — लेजर में पूर्व कार्य को सतह पर लाता है जो उससे मेल खाता है जो आप करने वाले हैं, ताकि आप पुनर्जनन के बजाय प्रमाण का पुनरुपयोग करें। diff --git a/mintlify/hi/cli/overview.mdx b/mintlify/hi/cli/overview.mdx index de68a2f..d8e1365 100644 --- a/mintlify/hi/cli/overview.mdx +++ b/mintlify/hi/cli/overview.mdx @@ -49,15 +49,16 @@ description: "हर forge कमांड Core, Memory, Substrate, Quality, औ | `FORGE_NO_HINT=1` | एक-बार आने वाला init संकेत मौन करें जो आपको `forge init` चलाने के लिए प्रेरित करता है। | | `FORGE_VERBOSE=1` | प्रति-कमांड बैनर (`Forge — …`) दिखाएँ जो डिफ़ॉल्ट रूप से छिपा होता है। | | `FORGE_EMBED=1` | मेमोरी recall के लिए एम्बेडिंग टियर में ऑप्ट-इन करें (MinHash शून्य-निर्भरता डिफ़ॉल्ट बना रहता है)। | +| `FORGE_LEDGER_ONLY=0` | एस्केप हैच। Ledger-only अब डिफ़ॉल्ट है — मेमोरी केवल `.forge/ledger` में रहती है, और पुरानी `lessons/*.md` + fact फ़ाइलें अब नहीं लिखी जातीं। पुराने फ़ाइल स्टोर को वापस लाने के लिए `0` सेट करें। | हमेशा-अद्यतन सूची के लिए `forge --help` चलाएँ, या हर टूल, क्रू, और गार्ड के एक-पंक्ति कारण के साथ Start-Here इंडेक्स के लिए `forge catalog`। -## v0.19+ में नया +## नए कमांड्स और फ़्लैग -कई कमांड्स और फ़्लैग v0.19 लाइन में आ रहे हैं। वे अपने समूह पृष्ठों पर प्रलेखित हैं +ये कमांड्स और फ़्लैग उपलब्ध हैं। वे अपने समूह पृष्ठों पर प्रलेखित हैं और इनलाइन फ़्लैग किए गए हैं: | कमांड / फ़्लैग | समूह | यह क्या करता है | diff --git a/mintlify/hi/cli/quality.mdx b/mintlify/hi/cli/quality.mdx index adfa7e9..6874f0e 100644 --- a/mintlify/hi/cli/quality.mdx +++ b/mintlify/hi/cli/quality.mdx @@ -1,6 +1,6 @@ --- title: "Quality कमांड्स" -description: "Forge के quality CLI का reference: verify, scan, spec, taste, uicheck और harden कमांड्स, साथ ही v0.19+ के precommit और radar गेट्स।" +description: "Forge के quality CLI का reference: verify, scan, spec, taste, uicheck और harden कमांड्स।" --- Quality समूह सत्यापन और सुरक्षा सतह है। ये कैसे संयोजित होते हैं इसके लिए @@ -12,7 +12,7 @@ Quality समूह सत्यापन और सुरक्षा सत ```bash forge verify -forge verify --deep # multi-lens consensus (v0.19+) +forge verify --deep # multi-lens consensus ``` `forge verify --deep` सामान्य pass/fail के बजाय एक चार-अवस्था वाला `status` रिपोर्ट करता है: @@ -76,7 +76,7 @@ forge uicheck visual # Playwright-rendered check (opt-in tier) forge harden ``` -## `forge precommit` v0.19+ +## `forge precommit` कमिट-स्तरीय गेट — कमिट समय पर सत्यापन-न्यूनतम चलाता है ताकि आंशिक या असत्यापित कार्य उतरने से पहले पकड़ा जा सके। @@ -85,7 +85,7 @@ forge harden forge precommit ``` -## `forge radar` v0.19+ +## `forge radar` निर्भरता-नवीनता रिंग्स — प्रोजेक्ट की निर्भरताओं को उनकी नवीनता के अनुसार समूहित करता है, ताकि पुरानी या बहती निर्भरताएँ नुक़सान पहुँचाने से पहले सतह पर आ जाएँ। diff --git a/mintlify/hi/concepts/verification-gates.mdx b/mintlify/hi/concepts/verification-gates.mdx index cc1eb6d..6b69944 100644 --- a/mintlify/hi/concepts/verification-gates.mdx +++ b/mintlify/hi/concepts/verification-gates.mdx @@ -25,7 +25,7 @@ forge verify --deep # multi-lens consensus — several independent checks ``` - `--deep` (v0.19+) एक multi-lens consensus तक escalate करता है: बदलाव को कई स्वतंत्र + `--deep` एक multi-lens consensus तक escalate करता है: बदलाव को कई स्वतंत्र verification lenses से गुज़रना पड़ता है, केवल एक से नहीं। @@ -96,7 +96,7 @@ forge harden # gitleaks pre-commit + sandbox settings ## Commit-level gate — `forge precommit` - `forge precommit` (v0.19+) एक commit-level gate है — यह commit time पर verification + `forge precommit` एक commit-level gate है — यह commit time पर verification floor चलाता है ताकि आंशिक या unverified काम land होने से पहले पकड़ा जाए। diff --git a/mintlify/hi/guides/radar-deps.mdx b/mintlify/hi/guides/radar-deps.mdx index 0fdce28..b18f621 100644 --- a/mintlify/hi/guides/radar-deps.mdx +++ b/mintlify/hi/guides/radar-deps.mdx @@ -4,7 +4,7 @@ description: "forge radar आपकी dependencies को currency rings मे --- - `forge radar` v0.19 लाइन में आ रहा है। यह गाइड बताता है कि यह मौजूदा dependency-currency + `forge radar` उपलब्ध है। यह गाइड बताता है कि यह मौजूदा dependency-currency discipline में कैसे फ़िट होता है; अपने installed version में उपलब्धता की पुष्टि करने के लिए `forge --help` चलाएँ। diff --git a/mintlify/zh-CN/cli/config.mdx b/mintlify/zh-CN/cli/config.mdx index 9604e1b..03c4a34 100644 --- a/mintlify/zh-CN/cli/config.mdx +++ b/mintlify/zh-CN/cli/config.mdx @@ -33,7 +33,7 @@ forge cost --stages # measured per-stage cost factors 基于账本、指标和爆炸半径的本地看板。 ```bash -forge dash # localhost-only, read-only (default port 4242) +forge dash # localhost-only (default port 4242) ``` ## `forge brand` @@ -69,7 +69,7 @@ forge stack 读取 `package.json`、`pyproject.toml`、`go.mod`、`Cargo.toml`、`Gemfile`、 `composer.json`、`pom.xml` / `build.gradle` 以及 `*.csproj`,报告语言、框架、包管理器,以及仓库**真正的**测试命令 —— 这些会喂给基座的验证清单。 -## `forge report` v0.19+ +## `forge report` 生成仓库 Forge 状态的静态 HTML 报告 —— 把账本、指标和爆炸半径渲染到一个自包含的文件里,可以分享或存档。 @@ -77,7 +77,7 @@ forge stack forge report ``` -## `forge tools` v0.19+ +## `forge tools` 选择该仓库的主要 AI 编码工具,并接入匹配的 `.gitignore` 条目,让生成的配置和 `.forge/` 产物在你的环境下被正确忽略。 diff --git a/mintlify/zh-CN/cli/core.mdx b/mintlify/zh-CN/cli/core.mdx index 52d2019..fa3dab9 100644 --- a/mintlify/zh-CN/cli/core.mdx +++ b/mintlify/zh-CN/cli/core.mdx @@ -91,7 +91,7 @@ forge docs sync # diff-driven stale-docs sweep ```bash forge update # apply the update (git checkout or npm/copy install) forge update --check # report whether a newer version is available -forge update --to # pin or downgrade to a specific version (v0.19+) +forge update --to # pin or downgrade to a specific version ``` 每条路径都失败开放 —— 离线、没有上游或 detached HEAD 会返回 "unknown",从不作为错误。`FORGE_NO_UPDATE_CHECK=1` 可静默 doctor 的提示。 diff --git a/mintlify/zh-CN/cli/memory.mdx b/mintlify/zh-CN/cli/memory.mdx index 8c04c96..aed503a 100644 --- a/mintlify/zh-CN/cli/memory.mdx +++ b/mintlify/zh-CN/cli/memory.mdx @@ -54,7 +54,7 @@ forge ledger query "" # retrieve by relevance forge ledger ratify # human accept forge ledger retract # tombstone a claim forge ledger merge # fold a teammate's ledger in, conflict-free -forge ledger import # bridge legacy stores into the ledger +forge ledger import # back-fill pre-ledger history into the ledger ``` 加 `--personal` 使用每用户级别的账本。 @@ -86,7 +86,7 @@ forge decide "" forge decide # read the log before re-deciding ``` -## `forge know` v0.19+ +## `forge know` 把一条事实路由到它正确的存储归宿 —— 决定一段知识属于 `recall`、`remember`/`brain`、一个决策还是一条 cortex 经验,并把它落在那里。 @@ -94,7 +94,7 @@ forge decide # read the log before re-deciding forge know "" ``` -## `forge deja` v0.19+ +## `forge deja` 类似过往工作查找 —— 从账本中找出与你即将做的事类似的既有工作,让你复用证据而不是重新生成。 diff --git a/mintlify/zh-CN/cli/overview.mdx b/mintlify/zh-CN/cli/overview.mdx index 70ecfa5..cd239da 100644 --- a/mintlify/zh-CN/cli/overview.mdx +++ b/mintlify/zh-CN/cli/overview.mdx @@ -40,14 +40,15 @@ description: "所有 forge 命令按 Core、Memory、Substrate、Quality、Confi | `FORGE_NO_HINT=1` | 静默一次性提示你运行 `forge init` 的初始化提示。 | | `FORGE_VERBOSE=1` | 显示默认隐藏的每命令横幅 (`Forge — …`)。 | | `FORGE_EMBED=1` | 为记忆召回开启 embedding 层(MinHash 仍是零依赖默认)。 | +| `FORGE_LEDGER_ONLY=0` | 应急开关。仅 ledger 现为默认——记忆只存放在 `.forge/ledger` 中,旧的 `lessons/*.md` 与 fact 文件不再写入。设为 `0` 可恢复旧的文件存储。 | 运行 `forge --help` 获取始终最新的列表,或运行 `forge catalog` 查看每个工具、crew 和护栏并附一行原因说明的 Start-Here 索引。 -## v0.19+ 新增 +## 更新的命令与标志 -一批命令与参数正在 v0.19 系列陆续落地。它们记录在各自的组页面并在文中标注: +这些命令与参数均已可用。它们记录在各自的组页面并在文中标注: | 命令 / 参数 | 组 | 作用 | | ---------------------- | -------- | ----------------------------------------------- | diff --git a/mintlify/zh-CN/cli/quality.mdx b/mintlify/zh-CN/cli/quality.mdx index 0f28f32..ff62882 100644 --- a/mintlify/zh-CN/cli/quality.mdx +++ b/mintlify/zh-CN/cli/quality.mdx @@ -1,6 +1,6 @@ --- title: "Quality 命令" -description: "验证与安全:verify、scan、spec、taste、uicheck 和 harden —— 外加 v0.19+ 的 precommit 与 radar 门。" +description: "验证与安全:verify、scan、spec、taste、uicheck 和 harden。" --- Quality 组是验证与安全的入口。这些如何组合,详见 [验证门](/zh-CN/concepts/verification-gates)。 @@ -11,7 +11,7 @@ Quality 组是验证与安全的入口。这些如何组合,详见 [验证门](/ ```bash forge verify -forge verify --deep # multi-lens consensus (v0.19+) +forge verify --deep # multi-lens consensus ``` `forge verify --deep` 报告的是四态 `status`,而不是简单的通过 / 失败: @@ -73,7 +73,7 @@ forge uicheck visual # Playwright-rendered check (opt-in tier) forge harden ``` -## `forge precommit` v0.19+ +## `forge precommit` 提交级门 —— 在 commit 时运行验证底线,以便在部分或未验证的工作落库之前捕获它们。 @@ -81,7 +81,7 @@ forge harden forge precommit ``` -## `forge radar` v0.19+ +## `forge radar` 依赖时效性同心圆 —— 按当前程度把项目的依赖分组,让陈旧或漂移的依赖在咬人之前浮现。 diff --git a/mintlify/zh-CN/concepts/verification-gates.mdx b/mintlify/zh-CN/concepts/verification-gates.mdx index a25658c..054a3d9 100644 --- a/mintlify/zh-CN/concepts/verification-gates.mdx +++ b/mintlify/zh-CN/concepts/verification-gates.mdx @@ -19,7 +19,7 @@ forge verify --deep # multi-lens consensus — several independent checks ``` - `--deep` (v0.19+) 升级为多镜头共识:该变更必须通过多个独立的验证镜头,而不只是一个。 + `--deep` 升级为多镜头共识:该变更必须通过多个独立的验证镜头,而不只是一个。 `forge verify --deep` 报告的是四态 `status`,而不是二元的通过 / 失败: @@ -75,7 +75,7 @@ forge harden # gitleaks pre-commit + sandbox settings ## 提交级门 —— `forge precommit` - `forge precommit` (v0.19+) 是一道提交级门 —— 在 commit 时运行验证底线,以便在部分或未验证的工作落库之前捕获它们。 + `forge precommit` 是一道提交级门 —— 在 commit 时运行验证底线,以便在部分或未验证的工作落库之前捕获它们。 ## 完成门 —— 需要测试证据 diff --git a/mintlify/zh-CN/guides/radar-deps.mdx b/mintlify/zh-CN/guides/radar-deps.mdx index 883750e..d5d8833 100644 --- a/mintlify/zh-CN/guides/radar-deps.mdx +++ b/mintlify/zh-CN/guides/radar-deps.mdx @@ -4,7 +4,7 @@ description: "forge radar 按时效性把依赖分组到同心圆里,让陈旧 --- - `forge radar` 正在 v0.19 系列中落地。本指南描述它如何契合既有的依赖时效性纪律;请运行 `forge --help` 以确认你所安装版本中的可用性。 + `forge radar` 已可用。本指南描述它如何契合既有的依赖时效性纪律;请运行 `forge --help` 以确认你所安装版本中的可用性。 Forge 的一条工程规则是:_在添加依赖之前,从实时来源核实当前最佳选项,并优先使用项目已经用了的东西。_ `forge radar` 让依赖的当前状态可见,让这条规则有数据可依。 diff --git a/mintlify/zh-Hans/cli/config.mdx b/mintlify/zh-Hans/cli/config.mdx index 2aab63a..7125419 100644 --- a/mintlify/zh-Hans/cli/config.mdx +++ b/mintlify/zh-Hans/cli/config.mdx @@ -33,7 +33,7 @@ forge cost --stages # 实测的每阶段成本系数 对 ledger、指标与爆炸半径的本地仪表盘。 ```bash -forge dash # 仅本机、只读(默认端口 4242) +forge dash # 仅本机(默认端口 4242) ``` ## `forge brand` @@ -69,7 +69,7 @@ forge stack 读取 `package.json`、`pyproject.toml`、`go.mod`、`Cargo.toml`、`Gemfile`、 `composer.json`、`pom.xml` / `build.gradle` 和 `*.csproj`,并报告语言、框架、包管理器,以及仓库**实际**的测试命令——这些会喂进基座的验证清单。 -## `forge report` v0.19+ +## `forge report` 生成本仓库 Forge 状态的静态 HTML 报告——把 ledger、指标和爆炸半径渲染成一个自包含文件,可分享或归档。 @@ -77,7 +77,7 @@ forge stack forge report ``` -## `forge tools` v0.19+ +## `forge tools` 选择本仓库的主用 AI 编码工具,并接线相应的 `.gitignore` 条目,让生成的配置与 `.forge/` 产物按你的设置被正确忽略。 diff --git a/mintlify/zh-Hans/cli/core.mdx b/mintlify/zh-Hans/cli/core.mdx index 16361cb..3539fed 100644 --- a/mintlify/zh-Hans/cli/core.mdx +++ b/mintlify/zh-Hans/cli/core.mdx @@ -96,7 +96,7 @@ forge docs sync # diff 驱动的过期文档清扫 ```bash forge update # 应用更新(git checkout 或 npm/copy 安装) forge update --check # 报告是否有更新可用 -forge update --to # 锁定或回退到特定版本(v0.19+) +forge update --to # 锁定或回退到特定版本 ``` 所有路径都是 fail-open——离线、无上游或 detached HEAD 都会返回 “unknown”,绝不会报错。`FORGE_NO_UPDATE_CHECK=1` 可以让 doctor 的提示保持静默。 diff --git a/mintlify/zh-Hans/cli/memory.mdx b/mintlify/zh-Hans/cli/memory.mdx index dd09dd4..78eea04 100644 --- a/mintlify/zh-Hans/cli/memory.mdx +++ b/mintlify/zh-Hans/cli/memory.mdx @@ -54,7 +54,7 @@ forge ledger query "" # 按相关性检索 forge ledger ratify # 人工接受 forge ledger retract # 给一条主张打上墓碑 forge ledger merge # 无冲突并入队友的 ledger -forge ledger import # 把旧存储桥接到 ledger 中 +forge ledger import # 回填历史到 ledger 中 ``` 加上 `--personal` 使用每用户的 ledger。 @@ -86,7 +86,7 @@ forge decide "" forge decide # 在重新决策前先读一读日志 ``` -## `forge know` v0.19+ +## `forge know` 把一条事实路由到其正确的存储归宿——判断一段知识应放在 `recall`、`remember`/`brain`、决策或 cortex 经验中,并把它归档到那里。 @@ -94,7 +94,7 @@ forge decide # 在重新决策前先读一读日志 forge know "" ``` -## `forge deja` v0.19+ +## `forge deja` 相似过往工作查询——在 ledger 里浮现出与你即将开始的工作相似的历史,让你复用现有的证明而不是重新生成。 diff --git a/mintlify/zh-Hans/cli/overview.mdx b/mintlify/zh-Hans/cli/overview.mdx index f784d1b..d70997a 100644 --- a/mintlify/zh-Hans/cli/overview.mdx +++ b/mintlify/zh-Hans/cli/overview.mdx @@ -45,14 +45,15 @@ description: "全部 forge 命令按 Core、Memory、Substrate、Quality、Confi | `FORGE_NO_HINT=1` | 关闭那条一次性、提示你运行 `forge init` 的初始化提示。 | | `FORGE_VERBOSE=1` | 显示默认被隐藏的每命令横幅(`Forge — …`)。 | | `FORGE_EMBED=1` | 为 memory recall 启用 embedding 分层(MinHash 仍是零依赖的默认)。 | +| `FORGE_LEDGER_ONLY=0` | 应急开关。仅 ledger 现为默认——记忆只存放在 `.forge/ledger` 中,旧的 `lessons/*.md` 与 fact 文件不再写入。设为 `0` 可恢复旧的文件存储。 | 运行 `forge --help` 查看始终最新的命令列表,或 `forge catalog` 查看每个工具、crew 与护栏的 Start-Here 索引及一句话说明。 -## v0.19+ 的新增内容 +## 更新的命令与标志 -一些命令和参数正在 v0.19 系列中登陆。它们记录在各自的分组页面里,并在正文标注: +这些命令和参数均已可用。它们记录在各自的分组页面里,并在正文标注: | 命令 / 参数 | 分组 | 作用 | | ---------------------- | -------- | ------------------------------------------------- | diff --git a/mintlify/zh-Hans/cli/quality.mdx b/mintlify/zh-Hans/cli/quality.mdx index 0988a1b..887f7cb 100644 --- a/mintlify/zh-Hans/cli/quality.mdx +++ b/mintlify/zh-Hans/cli/quality.mdx @@ -1,6 +1,6 @@ --- title: "Quality 命令" -description: "验证与安全:verify、scan、spec、taste、uicheck 和 harden——外加 v0.19+ 的 precommit 与 radar 关卡。" +description: "验证与安全:verify、scan、spec、taste、uicheck 和 harden。" --- Quality 分组是验证与安全的入口。这些命令如何组合,请见 [验证关卡](/zh-Hans/concepts/verification-gates)。 @@ -11,7 +11,7 @@ Quality 分组是验证与安全的入口。这些命令如何组合,请见 [验 ```bash forge verify -forge verify --deep # 多视角共识(v0.19+) +forge verify --deep # 多视角共识 ``` `forge verify --deep` 报告的是四态 `status`,而不是简单的通过/失败: @@ -73,7 +73,7 @@ forge uicheck visual # 基于 Playwright 的渲染检查(可选 forge harden ``` -## `forge precommit` v0.19+ +## `forge precommit` commit 级别关卡——在 commit 时运行验证下限,让部分或未验证的工作在落地前被拦下。 @@ -81,7 +81,7 @@ commit 级别关卡——在 commit 时运行验证下限,让部分或未验证 forge precommit ``` -## `forge radar` v0.19+ +## `forge radar` 依赖时效性环——把项目依赖按时效性分组,让陈旧或漂移的依赖在造成问题之前显形。 diff --git a/mintlify/zh-Hans/concepts/verification-gates.mdx b/mintlify/zh-Hans/concepts/verification-gates.mdx index 63437c1..3e02740 100644 --- a/mintlify/zh-Hans/concepts/verification-gates.mdx +++ b/mintlify/zh-Hans/concepts/verification-gates.mdx @@ -19,7 +19,7 @@ forge verify --deep # 多视角共识——多个独立检查必须一致 ``` - `--deep`(v0.19+)升级为多视角共识:变更必须通过多个独立的验证视角,而不只是一个。 + `--deep`升级为多视角共识:变更必须通过多个独立的验证视角,而不只是一个。 `forge verify --deep` 报告的是四态 `status`,不是二元的通过/失败: @@ -75,7 +75,7 @@ forge harden # gitleaks pre-commit + 沙箱设置 ## commit 级别关卡 —— `forge precommit` - `forge precommit`(v0.19+)是一道 commit 级别的关卡——它在 commit 时运行验证下限,让部分或未验证的工作在落地前被拦下。 + `forge precommit`是一道 commit 级别的关卡——它在 commit 时运行验证下限,让部分或未验证的工作在落地前被拦下。 ## 完成关卡 —— 需要测试证据 diff --git a/mintlify/zh-Hans/guides/radar-deps.mdx b/mintlify/zh-Hans/guides/radar-deps.mdx index d15b3e4..ae5f889 100644 --- a/mintlify/zh-Hans/guides/radar-deps.mdx +++ b/mintlify/zh-Hans/guides/radar-deps.mdx @@ -4,7 +4,7 @@ description: "forge radar 把你的依赖按时效性分组为环,让陈旧或 --- - `forge radar` 正在 v0.19 系列中登陆。本指南描述它如何契合既有的依赖时效性纪律;运行 `forge --help` 以确认你安装的版本中是否可用。 + `forge radar` 已可用。本指南描述它如何契合既有的依赖时效性纪律;运行 `forge --help` 以确认你安装的版本中是否可用。 Forge 的工程规则之一是:_在添加一个依赖之前,从实时来源核实当前的最佳选项,并优先使用项目已经在用的。_ `forge radar` 让你的依赖的当下状态变得可见,好让这条规则背后有数据支撑。 diff --git a/src/docs_check.js b/src/docs_check.js index 6a1316c..fbc0c38 100644 --- a/src/docs_check.js +++ b/src/docs_check.js @@ -500,6 +500,55 @@ function checkCrosswalk(root, issues) { } } +/** + * Mintlify site (`mintlify/`) reconcile — the site is hand-maintained MDX OUTSIDE the + * reconciled Markdown docs, so it drifted unchecked (env vars, command surface). This + * closes the loop for the ENGLISH/default locale: (a) every real command must be + * documented on the site as `forge `, and (b) every env var the site NAMES must be + * one the code actually reads (no phantom vars). It is deliberately NOT a full env-parity + * check — the site is a curated quickstart; the exhaustive env surface is GUIDE's job + * (checkEnvVars already reconciles it). No-ops when `mintlify/` is absent; translated + * locales aren't scanned (identifiers are literal, so English coverage is the real guard). + */ +function checkMintlify(root, issues) { + const base = join(root, "mintlify"); + if (!existsSync(base)) return; + const dirs = ["", "cli", "concepts", "guides", "changelog"]; + let text = ""; + for (const d of dirs) { + const dir = d ? join(base, d) : base; + if (!existsSync(dir)) continue; + for (const f of readdirSync(dir)) { + if (!f.endsWith(".mdx") && !f.endsWith(".md")) continue; + try { + text += `${readFileSync(join(dir, f), "utf8")}\n`; + } catch {} + } + } + if (!text) return; + for (const name of Object.keys(COMMANDS)) { + if (HIDDEN_COMMANDS.includes(name)) continue; + if (!new RegExp(`\\b${BRAND.cli} ${name}\\b`).test(text)) { + issues.push({ + check: "mintlify", + severity: "error", + detail: `\`${BRAND.cli} ${name}\` is implemented but the Mintlify site (mintlify/) never documents it`, + }); + } + } + const read = envVarsRead(root); + const named = new Set(); + for (const m of text.matchAll(ENV_PREFIX_RE)) named.add(m[1]); + for (const v of named) { + if (INTERNAL_ENV.has(v) || read.has(v)) continue; + issues.push({ + check: "mintlify", + severity: "error", + detail: `the Mintlify site names ${v} but nothing in src reads it (phantom var)`, + }); + } +} + /** * Run every reconciler against the forge package tree. * @param {{root?: string}} [opts] @@ -518,6 +567,7 @@ export function docsCheck({ root = BRAND.root } = {}) { checkLinks(root, issues); checkRoadmap(root, issues); checkCrosswalk(root, issues); + checkMintlify(root, issues); return { ok: !issues.some((i) => i.severity === "error"), issues, @@ -532,6 +582,7 @@ export function docsCheck({ root = BRAND.root } = {}) { "links", "roadmap", "crosswalk", + "mintlify", ], }; }