diff --git a/mintlify/ar/changelog/overview.mdx b/mintlify/ar/changelog/overview.mdx new file mode 100644 index 0000000..d1692ce --- /dev/null +++ b/mintlify/ar/changelog/overview.mdx @@ -0,0 +1,31 @@ +--- +title: "سجل تغييرات Forge CLI" +description: "تحديثات المنتج الأسبوعية لـ Forge CLI — أوامر وعلامات ومتغيرات بيئة جديدة، وتغييرات في السياسات، وإصلاحات الأخطاء التي شُحنت إلى المستخدمين." +--- + + + +## ميزات جديدة + +**علامة ملف تعريف السياسة لـ `forge init`.** أصبح بإمكانك الآن اختيار مجموعة القواعد وقت التهيئة عبر `forge init --profile `. القيم المدعومة هي `minimal` (مجموعة قواعد أخف للمستودعات الصغيرة أو forks المساهمين) و`standard` (الحزمة الكاملة الافتراضية — قواعد الذاكرة المشتركة، وتحليل الأثر، ومجموعة خطافات الحواجز الكاملة). القيم غير الصالحة تُجهض العملية قبل كتابة أي ملفات أو دمج أي إعدادات، حتى لا يترك خطأ إملائي مستودعًا مُهيَّأً نصفيًا خلفه. راجع [علامات `forge init`](/ar/cli/core#init-flags). + +**دمج قابل للتراجع لإعدادات الجلوبال.** علامتان جديدتان تمنحانك تحكمًا أدق في دمج ملف `~/.claude/settings.json` الجلوبال الذي يُجريه `forge init`: + +- `--no-settings` — تهيئة المستودع فقط؛ اترك ملف الإعدادات الجلوبال دون مساس. +- `--remove-settings` — تراجع عن دمج سابق. تُزال الخطافات والصلاحيات وstatusline والعلامة `_forge` ذات الشكل الخاص بـ Forge، مع الحفاظ على مدخلاتك الخاصة، وتُكتب نسخة احتياطية موسومة بالوقت أولًا. `install.sh --uninstall` يستدعي هذا نيابةً عنك. + +توجد أيضًا `--settings-only` للحالة العكسية: توصيل الخطافات الجلوبال دون المساس بالمستودع الحالي. التفاصيل في [علامات `forge init`](/ar/cli/core#init-flags). + +**`FORGE_GUARD_STRICT` لحجب صارم لإخفاء الأسرار.** اضبط `FORGE_GUARD_STRICT=1` لترقية تحذير `DEGRADED` لمُنقّي الأسرار إلى خروج حاجب. افتراضيًا، يطبع فشل الإخفاء إلى stderr ويترك المخرَج يمر؛ الوضع الصارم يرفض إصدار أي شيء لم يستطع المنقّي تنظيفه كاملًا. مُوصى به في CI والأجهزة المشتركة حيث سطر غير مُخفَى أسوأ من أمر فاشل. راجع [مرجع متغيرات البيئة](/ar/cli/overview#environment-variables). + +## تحديثات + +**تقليص مجموعة ملفات تعريف السياسة إلى اثنين.** قائمة ملفات التعريف صارت فقط `minimal` و`standard`. الأسماء القديمة `web-app` و`backend-service` و`library` و`regulated` هي أسماء بديلة مهجورة لـ `standard` — لا تزال تعمل، ويُحذّر `forge init` مرة واحدة، وتتزامن الإعدادات القائمة بوصفها `standard`. ينبغي للمستودعات الجديدة استخدام `standard` مباشرة. السياق الكامل في [ملفات تعريف السياسة](/ar/cli/core#policy-profiles). + +**متغيرات البيئة موثقة الآن في مكان واحد.** تحتوي نظرة عامة على CLI الآن على جدول جديد لـ [متغيرات البيئة](/ar/cli/overview#environment-variables) يغطي `FORGE_ENFORCE` و`FORGE_GUARD_STRICT` و`FORGE_NO_UPDATE_CHECK` و`FORGE_NO_HINT` و`FORGE_VERBOSE` و`FORGE_EMBED` في مكان واحد. + +## إصلاحات الأخطاء + +**`forge init` يفشل بصوت عالٍ عند دمج إعدادات معطوب.** إذا رُفض دمج الإعدادات الجلوبال أو حدث خطأ فيه، يخرج `forge init` الآن برمز 1 ويكتب السبب إلى stderr بدلًا من الإبلاغ بالنجاح. سابقًا، كان الدمج الجزئي أو المتخطَّى قد يبدو كتشغيل نظيف. + + diff --git a/mintlify/changelog/overview.mdx b/mintlify/changelog/overview.mdx new file mode 100644 index 0000000..9b9402f --- /dev/null +++ b/mintlify/changelog/overview.mdx @@ -0,0 +1,31 @@ +--- +title: "Forge CLI changelog" +description: "Weekly product updates for the Forge CLI — new commands, flags, environment variables, policy changes, and bug fixes shipped to users." +--- + + + +## New features + +**Policy profile flag for `forge init`.** You can now pick a ruleset at scaffold time with `forge init --profile `. The supported values are `minimal` (leaner ruleset for small repos or contributor forks) and `standard` (the default full pack — shared memory rules, impact analysis, and the complete guardrail hook set). Invalid values abort before any files are written or settings are merged, so a typo can't leave a half-configured repo behind. See [`forge init` flags](/cli/core#init-flags). + +**Reversible global settings merge.** Two new flags give you finer control over the global `~/.claude/settings.json` merge that `forge init` performs: + +- `--no-settings` — scaffold the repo only; leave the global settings file untouched. +- `--remove-settings` — undo a previous merge. Forge-shaped hooks, permissions, statusline, and the `_forge` marker are removed, your own entries are preserved, and a timestamped backup is written first. `install.sh --uninstall` calls this for you. + +There's also `--settings-only` for the reverse case: wire up global hooks without touching the current repo. Details in [`forge init` flags](/cli/core#init-flags). + +**`FORGE_GUARD_STRICT` for hard-blocking secret redaction.** Set `FORGE_GUARD_STRICT=1` to promote the secret redactor's `DEGRADED` warning into a blocking exit. By default a redaction failure prints to stderr and lets output through; strict mode refuses to emit anything the redactor couldn't fully scrub. Recommended for CI and shared machines where an unredacted line is worse than a failed command. See the [environment variables reference](/cli/overview#environment-variables). + +## Updates + +**Policy profile set collapsed to two.** The profile list is now just `minimal` and `standard`. The legacy names `web-app`, `backend-service`, `library`, and `regulated` are deprecated aliases of `standard` — they still work, `forge init` warns once, and existing configs sync as `standard`. New repos should use `standard` directly. Full context in [Policy profiles](/cli/core#policy-profiles). + +**Environment variables now documented in one place.** The CLI overview has a new [Environment variables](/cli/overview#environment-variables) table covering `FORGE_ENFORCE`, `FORGE_GUARD_STRICT`, `FORGE_NO_UPDATE_CHECK`, `FORGE_NO_HINT`, `FORGE_VERBOSE`, and `FORGE_EMBED` in one place. + +## Bug fixes + +**`forge init` fails loudly on a broken settings merge.** If the global settings merge is refused or errors, `forge init` now exits with code 1 and writes the reason to stderr instead of reporting success. Previously a partial or skipped merge could look like a clean run. + + diff --git a/mintlify/cn/changelog/overview.mdx b/mintlify/cn/changelog/overview.mdx new file mode 100644 index 0000000..ef8eb5d --- /dev/null +++ b/mintlify/cn/changelog/overview.mdx @@ -0,0 +1,31 @@ +--- +title: "Forge CLI 更新日志" +description: "Forge CLI 每周产品更新——面向用户上线的新命令、标志、环境变量、策略变更和 bug 修复。" +--- + + + +## 新功能 + +**`forge init` 的策略档位标志。** 现在可以在脚手架阶段用 `forge init --profile ` 挑选一套规则集。支持的取值是 `minimal`(面向小型仓库或贡献者 fork 的精简规则集)和 `standard`(默认的完整包——共享记忆规则、影响分析和完整的护栏 hook 集合)。取值非法时会在任何文件写入或设置合并之前中止,所以一个拼写错误不会给你留下一个配置到一半的仓库。参见 [`forge init` 标志](/cn/cli/core#init-flags)。 + +**可撤销的全局设置合并。** 两个新标志让你对 `forge init` 执行的全局 `~/.claude/settings.json` 合并有更细的控制: + +- `--no-settings` —— 只搭建仓库脚手架;不动全局设置文件。 +- `--remove-settings` —— 撤销一次之前的合并。Forge 形态的 hooks、permissions、statusline 以及 `_forge` 标记会被移除,你自己的条目保留,并会先写入一份带时间戳的备份。`install.sh --uninstall` 会替你调用它。 + +反向场景也有对应的 `--settings-only`:接入全局 hooks,但不动当前仓库。细节见 [`forge init` 标志](/cn/cli/core#init-flags)。 + +**`FORGE_GUARD_STRICT` 用于硬阻塞式秘密脱敏。** 设置 `FORGE_GUARD_STRICT=1` 可以把秘密脱敏器的 `DEGRADED` 警告升级为阻塞式退出。默认情况下,一次脱敏失败会把信息打到 stderr 并放行输出;严格模式则拒绝输出任何脱敏器没能完全清洗干净的内容。推荐在 CI 和共享机器上使用——那里一行未脱敏内容比一次失败的命令更糟。参见[环境变量参考](/cn/cli/overview#environment-variables)。 + +## 更新 + +**策略档位集合收敛为两个。** 档位列表现在只有 `minimal` 和 `standard`。旧名称 `web-app`、`backend-service`、`library` 和 `regulated` 已弃用,作为 `standard` 的别名——它们仍然可用,`forge init` 会警告一次,已有配置会同步为 `standard`。新仓库应直接使用 `standard`。完整上下文见[策略档位](/cn/cli/core#policy-profiles)。 + +**环境变量现在集中在一处记录。** CLI 概览新增了一张[环境变量](/cn/cli/overview#environment-variables)表,把 `FORGE_ENFORCE`、`FORGE_GUARD_STRICT`、`FORGE_NO_UPDATE_CHECK`、`FORGE_NO_HINT`、`FORGE_VERBOSE` 和 `FORGE_EMBED` 集中放在了一起。 + +## Bug 修复 + +**`forge init` 在设置合并失败时会明确报错。** 如果全局设置合并被拒绝或出错,`forge init` 现在会以退出码 1 退出,并把原因写到 stderr,而不是汇报成功。以前部分合并或跳过合并可能看起来像一次干净的运行。 + + diff --git a/mintlify/docs.json b/mintlify/docs.json index 4100b2d..dae417e 100644 --- a/mintlify/docs.json +++ b/mintlify/docs.json @@ -72,6 +72,16 @@ ] } ] + }, + { + "tab": "Changelog", + "icon": "clock-rotate-left", + "groups": [ + { + "group": "Changelog", + "pages": ["changelog/overview"] + } + ] } ] }, @@ -129,6 +139,16 @@ ] } ] + }, + { + "tab": "更新日志", + "icon": "clock-rotate-left", + "groups": [ + { + "group": "更新日志", + "pages": ["cn/changelog/overview"] + } + ] } ] }, @@ -186,6 +206,16 @@ ] } ] + }, + { + "tab": "سجل التغييرات", + "icon": "clock-rotate-left", + "groups": [ + { + "group": "سجل التغييرات", + "pages": ["ar/changelog/overview"] + } + ] } ] }, @@ -243,6 +273,16 @@ ] } ] + }, + { + "tab": "चेंजलॉग", + "icon": "clock-rotate-left", + "groups": [ + { + "group": "चेंजलॉग", + "pages": ["hi/changelog/overview"] + } + ] } ] }, @@ -300,6 +340,16 @@ ] } ] + }, + { + "tab": "更新日志", + "icon": "clock-rotate-left", + "groups": [ + { + "group": "更新日志", + "pages": ["zh-CN/changelog/overview"] + } + ] } ] }, @@ -357,6 +407,16 @@ ] } ] + }, + { + "tab": "更新日志", + "icon": "clock-rotate-left", + "groups": [ + { + "group": "更新日志", + "pages": ["zh-Hans/changelog/overview"] + } + ] } ] } diff --git a/mintlify/hi/changelog/overview.mdx b/mintlify/hi/changelog/overview.mdx new file mode 100644 index 0000000..40987ef --- /dev/null +++ b/mintlify/hi/changelog/overview.mdx @@ -0,0 +1,31 @@ +--- +title: "Forge CLI चेंजलॉग" +description: "Forge CLI के लिए साप्ताहिक उत्पाद अपडेट — उपयोगकर्ताओं तक पहुँचाए गए नए कमांड, फ़्लैग, एन्वायरनमेंट वेरिएबल्स, नीति परिवर्तन, और बग फ़िक्स।" +--- + + + +## नई सुविधाएँ + +**`forge init` के लिए पॉलिसी प्रोफ़ाइल फ़्लैग।** अब आप स्कैफ़ोल्ड समय पर `forge init --profile ` के साथ एक ruleset चुन सकते हैं। समर्थित मान `minimal` (छोटे रेपो या कॉन्ट्रिब्यूटर फ़ोर्क्स के लिए हल्का ruleset) और `standard` (डिफ़ॉल्ट पूर्ण पैक — साझा मेमोरी नियम, इम्पैक्ट विश्लेषण, और पूरा guardrail hook सेट) हैं। अमान्य मान किसी भी फ़ाइल के लिखे जाने या settings मर्ज होने से पहले ही रोक देते हैं, इसलिए एक टाइपो आधे-कॉन्फ़िगर्ड रेपो को पीछे नहीं छोड़ सकता। देखें [`forge init` flags](/hi/cli/core#init-flags). + +**प्रत्यावर्तनीय ग्लोबल settings मर्ज।** दो नए फ़्लैग आपको उस ग्लोबल `~/.claude/settings.json` मर्ज पर बेहतर नियंत्रण देते हैं जिसे `forge init` करता है: + +- `--no-settings` — केवल रेपो स्कैफ़ोल्ड करें; ग्लोबल settings फ़ाइल को अछूता छोड़ दें। +- `--remove-settings` — पिछले मर्ज को पूर्ववत करें। Forge-आकार के hooks, permissions, statusline, और `_forge` मार्कर हटा दिए जाते हैं, आपकी अपनी प्रविष्टियाँ संरक्षित रहती हैं, और पहले एक टाइमस्टैम्प्ड बैकअप लिखा जाता है। `install.sh --uninstall` आपके लिए यह कॉल करता है। + +विपरीत स्थिति के लिए `--settings-only` भी है: वर्तमान रेपो को छुए बिना ग्लोबल hooks वायर करें। विवरण [`forge init` flags](/hi/cli/core#init-flags) में। + +**हार्ड-ब्लॉकिंग secret redaction के लिए `FORGE_GUARD_STRICT`।** secret redactor की `DEGRADED` चेतावनी को एक ब्लॉकिंग exit में बदलने के लिए `FORGE_GUARD_STRICT=1` सेट करें। डिफ़ॉल्ट रूप से एक redaction विफलता stderr पर प्रिंट होती है और आउटपुट को पास होने देती है; strict मोड कुछ भी उत्सर्जित करने से मना कर देता है जिसे redactor पूरी तरह स्क्रब नहीं कर सका। CI और साझा मशीनों के लिए अनुशंसित जहाँ एक बिना-redacted पंक्ति एक विफल कमांड से बुरी हो। देखें [environment variables reference](/hi/cli/overview#environment-variables). + +## अपडेट + +**पॉलिसी प्रोफ़ाइल सेट सिमटकर दो पर।** प्रोफ़ाइल सूची अब केवल `minimal` और `standard` है। पुराने नाम `web-app`, `backend-service`, `library`, और `regulated` अब `standard` के डेप्रिकेटेड उपनाम हैं — वे अब भी काम करते हैं, `forge init` एक बार चेतावनी देता है, और मौजूदा configs `standard` के रूप में सिंक होते हैं। नए रेपो को सीधे `standard` का उपयोग करना चाहिए। पूरा संदर्भ [पॉलिसी प्रोफ़ाइल्स](/hi/cli/core#policy-profiles) में। + +**एन्वायरनमेंट वेरिएबल्स अब एक जगह प्रलेखित।** CLI अवलोकन में एक नई [एन्वायरनमेंट वेरिएबल्स](/hi/cli/overview#environment-variables) तालिका है जो `FORGE_ENFORCE`, `FORGE_GUARD_STRICT`, `FORGE_NO_UPDATE_CHECK`, `FORGE_NO_HINT`, `FORGE_VERBOSE`, और `FORGE_EMBED` को एक जगह कवर करती है। + +## बग फ़िक्स + +**टूटे settings मर्ज पर `forge init` ज़ोर से विफल होता है।** यदि ग्लोबल settings मर्ज अस्वीकृत होता है या त्रुटि देता है, तो `forge init` अब सफलता की रिपोर्ट करने के बजाय exit कोड 1 के साथ बाहर निकलता है और stderr पर कारण लिखता है। पहले एक आंशिक या छोड़ा गया मर्ज एक साफ़ रन जैसा दिख सकता था। + + diff --git a/mintlify/zh-CN/changelog/overview.mdx b/mintlify/zh-CN/changelog/overview.mdx new file mode 100644 index 0000000..b7faf6d --- /dev/null +++ b/mintlify/zh-CN/changelog/overview.mdx @@ -0,0 +1,31 @@ +--- +title: "Forge CLI 更新日志" +description: "Forge CLI 的每周产品更新 —— 面向用户发布的新命令、参数、环境变量、策略变更和 bug 修复。" +--- + + + +## 新功能 + +**为 `forge init` 提供策略档位参数。** 现在可以在脚手架阶段通过 `forge init --profile ` 选择规则集。支持的取值为 `minimal` (面向小型仓库或贡献者 fork 的精简规则集) 与 `standard` (默认的完整包 —— 共享记忆规则、影响分析,以及完整的护栏 hook 集)。非法取值会在任何文件写入或设置合并之前中止,因此一处拼写错误不会留下一个半配置好的仓库。参见 [`forge init` 参数](/zh-CN/cli/core#init-flags)。 + +**可撤销的全局设置合并。** 两个新参数让你对 `forge init` 执行的全局 `~/.claude/settings.json` 合并有更精细的控制: + +- `--no-settings` —— 只做仓库脚手架;不动全局设置文件。 +- `--remove-settings` —— 撤销此前的一次合并。Forge 形状的 hook、permissions、statusline 以及 `_forge` 标记会被移除,你自己的条目会被保留,并会先写入一份带时间戳的备份。`install.sh --uninstall` 会替你调用这个参数。 + +还有一个与之相反的 `--settings-only`:接线全局 hook,而不动当前仓库。详见 [`forge init` 参数](/zh-CN/cli/core#init-flags)。 + +**`FORGE_GUARD_STRICT` 用于对 secret 脱敏做硬阻断。** 设置 `FORGE_GUARD_STRICT=1` 会把 secret 脱敏器的 `DEGRADED` 警告升级为阻断式退出。默认情况下,脱敏失败会向 stderr 打印并放行输出;严格模式则拒绝输出任何脱敏器无法完全清洗的内容。推荐用于 CI 和共享机器 —— 那里一行未脱敏的内容比一条失败的命令更糟。参见[环境变量参考](/zh-CN/cli/overview#environment-variables)。 + +## 更新 + +**策略档位集合收敛为两个。** 档位列表现在只有 `minimal` 和 `standard`。旧名 `web-app`、`backend-service`、`library` 和 `regulated` 已弃用,作为 `standard` 的别名 —— 它们仍然可用,`forge init` 会警告一次,已有配置会按 `standard` 同步。新仓库应直接使用 `standard`。完整背景见[策略档位](/zh-CN/cli/core#policy-profiles)。 + +**环境变量现已统一文档化。** CLI 概览新增了一张[环境变量](/zh-CN/cli/overview#environment-variables)表,把 `FORGE_ENFORCE`、`FORGE_GUARD_STRICT`、`FORGE_NO_UPDATE_CHECK`、`FORGE_NO_HINT`、`FORGE_VERBOSE` 和 `FORGE_EMBED` 集中在一处。 + +## Bug 修复 + +**`forge init` 在设置合并失败时会大声报错。** 如果全局设置合并被拒绝或出错,`forge init` 现在会以退出码 1 结束,并把原因写入 stderr,而不是报告成功。此前,一次部分完成或被跳过的合并可能看起来像一次干净的运行。 + + diff --git a/mintlify/zh-Hans/changelog/overview.mdx b/mintlify/zh-Hans/changelog/overview.mdx new file mode 100644 index 0000000..d7986b9 --- /dev/null +++ b/mintlify/zh-Hans/changelog/overview.mdx @@ -0,0 +1,31 @@ +--- +title: "Forge CLI 更新日志" +description: "Forge CLI 的每周产品更新——新命令、参数、环境变量、策略变更以及交付给用户的问题修复。" +--- + + + +## 新功能 + +**`forge init` 新增策略档位参数。** 现在可以在脚手架阶段就选定规则集,用法为 `forge init --profile `。支持的取值有 `minimal`(为小型仓库或贡献者 fork 准备的精简规则集)和 `standard`(默认的完整套装——共享记忆规则、影响面分析,以及成套的护栏钩子)。无效取值会在任何文件被写入或任何设置被合并之前直接中止,这样一次拼写错误也不至于给仓库留下半配置的残局。参见 [`forge init` 参数](/zh-Hans/cli/core#init-flags)。 + +**可回退的全局设置合并。** 两个新参数让你更精细地控制 `forge init` 对全局 `~/.claude/settings.json` 所做的合并: + +- `--no-settings`——只做仓库脚手架;完全不触碰全局设置文件。 +- `--remove-settings`——撤销之前的一次合并。带有 Forge 形状的钩子、权限、statusline 以及 `_forge` 标记会被移除,你自己写入的条目会被保留,并且会先写入一份带时间戳的备份。`install.sh --uninstall` 会替你调用它。 + +反向场景则可以用 `--settings-only`:接线全局钩子,但不动当前仓库。细节见 [`forge init` 参数](/zh-Hans/cli/core#init-flags)。 + +**`FORGE_GUARD_STRICT` 让 secret 脱敏走硬阻断。** 设置 `FORGE_GUARD_STRICT=1` 可以把 secret 脱敏器的 `DEGRADED` 警告升级为阻断式退出。默认情况下,脱敏失败只会向 stderr 打印一条信息并放行输出;严格模式则会拒绝输出任何脱敏器无法完全清洗的内容。推荐在 CI 与共享机器上开启——那里一行未脱敏的内容,比一次失败的命令要糟糕得多。参见[环境变量参考](/zh-Hans/cli/overview#environment-variables)。 + +## 变更 + +**策略档位收敛为两档。** 档位列表现在只剩 `minimal` 与 `standard`。原有的 `web-app`、`backend-service`、`library` 和 `regulated` 已废弃,作为 `standard` 的别名保留——它们仍然可用,`forge init` 会警告一次,现有配置会同步为 `standard`。新仓库请直接使用 `standard`。完整背景见[策略档位](/zh-Hans/cli/core#policy-profiles)。 + +**环境变量集中到一处。** CLI 概览新增了一张[环境变量](/zh-Hans/cli/overview#environment-variables)表,把 `FORGE_ENFORCE`、`FORGE_GUARD_STRICT`、`FORGE_NO_UPDATE_CHECK`、`FORGE_NO_HINT`、`FORGE_VERBOSE` 与 `FORGE_EMBED` 集中在一个位置说明。 + +## 问题修复 + +**`forge init` 在设置合并出错时明确失败。** 若全局设置合并被拒绝或发生错误,`forge init` 现在会以退出码 1 结束,并把原因写入 stderr,而不再报告成功。此前一次部分完成或被跳过的合并,可能看起来像一次干净的运行。 + +