@nick848/fet 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ FET 是一个围绕 OpenSpec 构建的前端开发工作流编排 CLI。它不
14
14
 
15
15
  FET 是 OpenSpec 的透明代理和本地编排层。用户运行 `fet apply`、`fet archive` 等命令时,FET 会先读取项目状态和 change 状态,执行必要的 pre-hook,再调用真实的 `openspec` CLI,最后根据 OpenSpec 的结果更新 FET 状态。
16
16
 
17
- 对于 OpenSpec 1.2.x,FET 会把部分高层命令映射到真实 OpenSpec 命令。例如 `fet apply` 会调用 `openspec instructions apply --change <id>` 输出实施指令,`fet sync` 会调用 `openspec validate <change> --type change --strict` 做归档前校验。
17
+ FET 代理命令会保留 OpenSpec 原生命令名。例如 `fet apply --change <id>` 会调用 `openspec apply --change <id>`,`fet sync --change <id>` 会在 FET verify gate 通过后调用 `openspec sync --change <id>`。
18
18
 
19
19
  ### 环境要求
20
20
 
@@ -78,19 +78,19 @@ fet archive --change my-change
78
78
  | `fet init` | `fet init [--yes]` | 初始化 FET 和 OpenSpec;生成上下文文件、状态文件、Cursor 规则和 Skill。 |
79
79
  | `fet update-context` | `fet update-context [--yes]` | 重新扫描项目并更新 `AGENTS.md` 与 `openspec/config.yaml` 的 FET 托管区域。 |
80
80
  | `fet doctor` | `fet doctor [--fix-lock]` | 诊断 OpenSpec、FET 状态、上下文文件、Cursor 集成和锁文件。 |
81
- | `fet explore` | `fet explore --change <id>` | 输出探索/提案相关 OpenSpec 指令,帮助 AI 讨论需求。 |
81
+ | `fet explore` | `fet explore [...args] [--change <id>]` | 代理 OpenSpec 原生 explore 流程,保留交互式需求澄清。 |
82
82
  | `fet propose` | `fet propose <change-id>` | 创建新的 OpenSpec change;等价于 FET 高层提案入口。 |
83
83
  | `fet new` | `fet new <change-id>` | 创建新的 OpenSpec change。 |
84
- | `fet continue` | `fet continue [artifact] --change <id>` | 输出指定 artifact OpenSpec 指令,默认 `proposal`。 |
85
- | `fet ff` | `fet ff --change <id>` | 查看当前 change OpenSpec artifact 状态。 |
86
- | `fet apply` | `fet apply --change <id>` | 输出实施当前 change OpenSpec apply 指令,并同步 FET 状态。 |
84
+ | `fet continue` | `fet continue [...args] [--change <id>]` | 通过 FET 执行 OpenSpec 原生 continue。 |
85
+ | `fet ff` | `fet ff [...args] [--change <id>]` | 通过 FET 执行 OpenSpec 原生 ff。 |
86
+ | `fet apply` | `fet apply [...args] [--change <id>]` | 通过 FET 执行 OpenSpec 原生 apply,并同步 FET 状态。 |
87
87
  | `fet verify` | `fet verify --change <id>` | 生成 `.fet/verify-instructions.md` 手动验证指令。 |
88
88
  | `fet verify --done` | `fet verify --done --change <id>` | 声明已完成手动验证,允许后续 `sync` / `archive`。 |
89
89
  | `fet verify --auto` | `fet verify --auto [--yes]` | 生成自动验证执行计划;当前版本不执行项目脚本,`--yes` 会记录授权计划指纹。 |
90
- | `fet sync` | `fet sync --change <id>` | 在 FET verify gate 通过后,调用 OpenSpec 严格校验 change。 |
90
+ | `fet sync` | `fet sync [...args] [--change <id>]` | 在 FET verify gate 通过后,执行 OpenSpec 原生 sync。 |
91
91
  | `fet archive` | `fet archive --change <id>` | 在 FET verify gate 通过后,归档 change 并更新 OpenSpec 主规范。 |
92
- | `fet bulk-archive` | `fet bulk-archive` | 当前 OpenSpec 1.2.x 无对应顶层命令;请逐个执行 `fet archive --change <id>`。 |
93
- | `fet onboard` | `fet onboard` | 输出 OpenSpec onboarding / instruction 信息。 |
92
+ | `fet bulk-archive` | `fet bulk-archive [...args] [--change <id>]` | 通过 FET 执行 OpenSpec 原生 bulk-archive |
93
+ | `fet onboard` | `fet onboard [...args] [--change <id>]` | 通过 FET 执行 OpenSpec 原生 onboard。 |
94
94
  | `fet passthrough` | `fet passthrough <command> [...args]` | 透传暂未接管的 OpenSpec 命令,不更新 FET 生命周期状态。 |
95
95
 
96
96
  ### 生成文件
@@ -133,21 +133,21 @@ MIT
133
133
 
134
134
  ## English
135
135
 
136
- FET is a frontend development workflow orchestration CLI built around OpenSpec. It does not generate business code directly. Instead, it proxies OpenSpec commands, maintains local workflow state, generates auditable project context, and helps AI coding tools such as Cursor load the right files.
136
+ FET is a frontend development workflow orchestration CLI built around OpenSpec. It does not generate business code directly. Instead, it proxies OpenSpec commands, maintains local workflow state, generates auditable project context, and helps AI coding tools such as Cursor and Codex load the right files.
137
137
 
138
138
  ### What It Does
139
139
 
140
140
  - Provides one entry point through `fet <command>` for OpenSpec workflows.
141
141
  - Generates `AGENTS.md` and the `fet:` namespace in `openspec/config.yaml`.
142
142
  - Tracks local workflow state such as active changes, synced tasks, manual verification declarations, and tool adapter state.
143
- - Integrates with AI tools by generating Cursor project rules and Skill instructions.
143
+ - Integrates with AI tools by generating Cursor project rules, Cursor Skill instructions, and Codex-readable FET workflow guides.
144
144
  - Guards important stages by checking FET verification state before `sync` and `archive`.
145
145
 
146
146
  ### How It Works
147
147
 
148
148
  FET is a transparent proxy and local orchestration layer for OpenSpec. When you run commands such as `fet apply` or `fet archive`, FET loads project and change state, runs pre-hooks, calls the real `openspec` CLI, and then updates FET state based on the result.
149
149
 
150
- For OpenSpec 1.2.x, some high-level FET commands are mapped to the actual OpenSpec command surface. For example, `fet apply` calls `openspec instructions apply --change <id>`, and `fet sync` calls `openspec validate <change> --type change --strict`.
150
+ FET proxy commands keep the OpenSpec command name intact. For example, `fet apply --change <id>` calls `openspec apply --change <id>`, and `fet sync --change <id>` calls `openspec sync --change <id>` after FET's verification gate passes.
151
151
 
152
152
  ### Requirements
153
153
 
@@ -208,22 +208,23 @@ fet archive --change my-change
208
208
 
209
209
  | Command | Usage | Description |
210
210
  |---------|-------|-------------|
211
- | `fet init` | `fet init [--yes]` | Initialize FET and OpenSpec; generate context, state, Cursor rules, and Skills. |
211
+ | `fet init` | `fet init [--yes]` | Initialize FET and OpenSpec; generate context, state, Cursor rules and Skills, plus Codex workflow guides. |
212
212
  | `fet update-context` | `fet update-context [--yes]` | Rescan the project and update FET-managed regions in `AGENTS.md` and `openspec/config.yaml`. |
213
- | `fet doctor` | `fet doctor [--fix-lock]` | Diagnose OpenSpec, FET state, context files, Cursor integration, and lock files. |
214
- | `fet explore` | `fet explore --change <id>` | Print OpenSpec exploration/proposal instructions for discussing requirements. |
213
+ | `fet fill-context` | `fet fill-context [--yes]` | Refresh IDE handoff commands that ask Cursor/Codex/OpenCode-style AI to replace `AGENTS.md` placeholders. |
214
+ | `fet doctor` | `fet doctor [--fix-lock]` | Diagnose OpenSpec, FET state, context files, Cursor and Codex integration, and lock files. |
215
+ | `fet explore` | `fet explore [...args] [--change <id>]` | Run native OpenSpec explore through FET so clarification prompts stay interactive. |
215
216
  | `fet propose` | `fet propose <change-id>` | Create a new OpenSpec change through FET's proposal entry point. |
216
217
  | `fet new` | `fet new <change-id>` | Create a new OpenSpec change. |
217
- | `fet continue` | `fet continue [artifact] --change <id>` | Print OpenSpec instructions for an artifact. Defaults to `proposal`. |
218
- | `fet ff` | `fet ff --change <id>` | Show OpenSpec artifact status for a change. |
219
- | `fet apply` | `fet apply --change <id>` | Print OpenSpec apply instructions and update FET state. |
218
+ | `fet continue` | `fet continue [...args] [--change <id>]` | Run native OpenSpec continue through FET. |
219
+ | `fet ff` | `fet ff [...args] [--change <id>]` | Run native OpenSpec ff through FET. |
220
+ | `fet apply` | `fet apply [...args] [--change <id>]` | Run native OpenSpec apply through FET and update FET state. |
220
221
  | `fet verify` | `fet verify --change <id>` | Generate `.fet/verify-instructions.md` for manual verification. |
221
222
  | `fet verify --done` | `fet verify --done --change <id>` | Declare manual verification complete and allow `sync` / `archive`. |
222
223
  | `fet verify --auto` | `fet verify --auto [--yes]` | Generate an automatic verification plan. This version does not run project scripts; `--yes` records the plan fingerprint. |
223
- | `fet sync` | `fet sync --change <id>` | After FET verify gate passes, run strict OpenSpec validation for the change. |
224
- | `fet archive` | `fet archive --change <id>` | After FET verify gate passes, archive the change and update main OpenSpec specs. |
225
- | `fet bulk-archive` | `fet bulk-archive` | Not supported by OpenSpec 1.2.x as a top-level command. Archive changes one by one. |
226
- | `fet onboard` | `fet onboard` | Print OpenSpec onboarding / instruction information. |
224
+ | `fet sync` | `fet sync [...args] [--change <id>]` | After FET verify gate passes, run native OpenSpec sync. |
225
+ | `fet archive` | `fet archive --change <id>` | After FET verify gate passes, archive the change and append the change summary to `CHANGELOG.md`. |
226
+ | `fet bulk-archive` | `fet bulk-archive [...args] [--change <id>]` | Run native OpenSpec bulk-archive through FET. |
227
+ | `fet onboard` | `fet onboard [...args] [--change <id>]` | Run native OpenSpec onboard through FET. |
227
228
  | `fet passthrough` | `fet passthrough <command> [...args]` | Pass through unmanaged OpenSpec commands without updating FET lifecycle state. |
228
229
 
229
230
  ### Generated Files
@@ -235,8 +236,13 @@ FET may create or update:
235
236
  - `openspec/fet-state.json`
236
237
  - `openspec/changes/<change-id>/fet-state.json`
237
238
  - `openspec/changes/<change-id>/.fet/verify-instructions.md`
239
+ - `CHANGELOG.md`
238
240
  - `.cursor/skills/fet-*/SKILL.md`
239
241
  - `.cursor/rules/fet-context.mdc`
242
+ - `.codex/fet/context.md`
243
+ - `.codex/fet/commands/*.md`
244
+ - `$CODEX_HOME/prompts/fet-*.md` for Codex native slash commands. If `CODEX_HOME` is not set, FET uses `~/.codex`.
245
+ - `.fet/fill-context.md` as a generic IDE handoff for tools without native command support.
240
246
 
241
247
  FET only owns explicitly marked managed regions. User content outside those regions should be preserved. During `fet init`, FET also adds a managed `.gitignore` block for local workflow state.
242
248