@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 +27 -21
- package/dist/cli/index.js +954 -92
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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
|
|
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 [
|
|
85
|
-
| `fet ff` | `fet ff --change <id
|
|
86
|
-
| `fet apply` | `fet apply --change <id
|
|
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
|
|
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` |
|
|
93
|
-
| `fet onboard` | `fet onboard` |
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
214
|
-
| `fet
|
|
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 [
|
|
218
|
-
| `fet ff` | `fet ff --change <id
|
|
219
|
-
| `fet apply` | `fet apply --change <id
|
|
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
|
|
224
|
-
| `fet archive` | `fet archive --change <id>` | After FET verify gate passes, archive the change and
|
|
225
|
-
| `fet bulk-archive` | `fet bulk-archive` |
|
|
226
|
-
| `fet onboard` | `fet onboard` |
|
|
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
|
|