fdeops 3.5.0

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.
Files changed (70) hide show
  1. package/AGENTS.md +18 -0
  2. package/CLAUDE.md.template +25 -0
  3. package/LICENSE +21 -0
  4. package/README.md +328 -0
  5. package/adapters/AGENTS.md +24 -0
  6. package/adapters/GEMINI.md +24 -0
  7. package/adapters/README.md +31 -0
  8. package/adapters/copilot-instructions.md +24 -0
  9. package/adapters/cursor.fde.mdc +29 -0
  10. package/bin/check.js +260 -0
  11. package/bin/fde.js +690 -0
  12. package/bin/install.js +220 -0
  13. package/hooks/hooks.json +40 -0
  14. package/hooks/pre-compact +66 -0
  15. package/hooks/run-hook.cmd +3 -0
  16. package/hooks/session-start +91 -0
  17. package/hooks/session-stop +86 -0
  18. package/package.json +52 -0
  19. package/skills/fde/SKILL.md +219 -0
  20. package/skills/fde/references/ai.md +91 -0
  21. package/skills/fde/references/artifacts.md +247 -0
  22. package/skills/fde/references/assumption-audit.md +77 -0
  23. package/skills/fde/references/audit.md +61 -0
  24. package/skills/fde/references/blast-radius.md +91 -0
  25. package/skills/fde/references/build.md +98 -0
  26. package/skills/fde/references/business-case.md +78 -0
  27. package/skills/fde/references/close.md +43 -0
  28. package/skills/fde/references/dashboard.md +40 -0
  29. package/skills/fde/references/debrief.md +36 -0
  30. package/skills/fde/references/debug.md +55 -0
  31. package/skills/fde/references/demo-prep.md +31 -0
  32. package/skills/fde/references/discover.md +163 -0
  33. package/skills/fde/references/exec-narrative.md +108 -0
  34. package/skills/fde/references/fintech.md +48 -0
  35. package/skills/fde/references/gov.md +47 -0
  36. package/skills/fde/references/handoff-engineering.md +139 -0
  37. package/skills/fde/references/healthcare.md +45 -0
  38. package/skills/fde/references/incremental-build.md +91 -0
  39. package/skills/fde/references/initiative-triage.md +78 -0
  40. package/skills/fde/references/land.md +75 -0
  41. package/skills/fde/references/multi-customer-ops.md +114 -0
  42. package/skills/fde/references/observability.md +103 -0
  43. package/skills/fde/references/options-analysis.md +81 -0
  44. package/skills/fde/references/pattern-extract.md +93 -0
  45. package/skills/fde/references/plan.md +108 -0
  46. package/skills/fde/references/qa-live.md +113 -0
  47. package/skills/fde/references/rescue.md +81 -0
  48. package/skills/fde/references/review.md +53 -0
  49. package/skills/fde/references/rollback-drill.md +102 -0
  50. package/skills/fde/references/scope-defense.md +71 -0
  51. package/skills/fde/references/security-audit.md +105 -0
  52. package/skills/fde/references/ship.md +121 -0
  53. package/skills/fde/references/sketch.md +40 -0
  54. package/skills/fde/references/stakeholder-radar.md +68 -0
  55. package/skills/fde/references/status.md +30 -0
  56. package/skills/fde/references/test-on-legacy.md +108 -0
  57. package/skills/fde/references/trust-engineering.md +100 -0
  58. package/skills/fde/references/use-case-scoring.md +70 -0
  59. package/templates/.fde/README.md +13 -0
  60. package/templates/.fde/brief.md +8 -0
  61. package/templates/.fde/context.md +14 -0
  62. package/templates/.fde/decisions.md +18 -0
  63. package/templates/.fde/delivery.md +7 -0
  64. package/templates/.fde/reality.md +7 -0
  65. package/templates/.fde/retrospectives/.gitkeep +0 -0
  66. package/templates/.fde/risks.md +5 -0
  67. package/templates/.fde/stakeholders.md +10 -0
  68. package/templates/.fde/success.md +7 -0
  69. package/templates/.fde/terrain.md +7 -0
  70. package/templates/.fde/trust-profile.md +11 -0
package/AGENTS.md ADDED
@@ -0,0 +1,18 @@
1
+ # AGENTS.md - working in the fdeops repository
2
+
3
+ This repository **is** fdeops - the operating system for Forward Deployed Engineers. One `@fde` skill routes an entire client engagement across six domains, the `fde` CLI does the deterministic work, and per-customer memory writes itself into `.fde/` files.
4
+
5
+ ## If you are helping use fdeops in an engagement
6
+
7
+ Route via **`@fde`** - read `skills/fde/SKILL.md` (the single source of truth), pick the phase, do the work, and write `.fde/` memory. Never ask the human to pick a skill. Other tools get the same behavior through thin pointer files in [`adapters/`](adapters/README.md).
8
+
9
+ ## If you are contributing to this repository
10
+
11
+ - **One brain.** Method lives once in `skills/fde/SKILL.md` + `skills/fde/references/`. Adapters in `adapters/` only point at it - never fork logic per platform.
12
+ - **Deterministic core.** `bin/fde.js` is local-only (git + file reads, no network, no AI). Keep it that way.
13
+ - **Run the checks.** `npm run check` must pass before any PR (`node bin/check.js`).
14
+ - **Conventions.** See `CONTRIBUTING.md`, `docs/REPO_LAYOUT.md`, and `docs/schema.md`.
15
+
16
+ ## Boundaries
17
+
18
+ The `fde` CLI never reaches the network. Data marked `<private>` in `trust-profile.md` never enters a model prompt. fdeops installs on the FDE's own machine, never on customer infrastructure.
@@ -0,0 +1,25 @@
1
+ # fdeops - use in workspace only if the engagement permits this file
2
+
3
+ # Prefer ~/.claude/FDEOPS-CLAUDE.md for the pointer (tells your AI coding agent where .fde/ lives).
4
+
5
+ FDEOPS_ENGAGEMENT=~/fde-engagements/YOUR-ENGAGEMENT/.fde
6
+
7
+ Co-pilot for a Forward Deployed Engineer. fdeops runs on **your** environment - not on systems you do not operate.
8
+
9
+ Load engagement files from **FDEOPS_ENGAGEMENT** (expand `~`). If unset, use `./.fde/` only when approved and gitignored.
10
+
11
+ ## Engage
12
+
13
+ Listen first. One clarifying question if needed. **Never ask the FDE to pick a skill** - route via `@fde` in skills/fde/SKILL.md.
14
+
15
+ ## Entry
16
+
17
+ **`@fde`** - plain language. Route silently.
18
+
19
+ ## Voice
20
+
21
+ Experienced FDE peer: direct, no fluff, no assumptions. Ask once if a fact changes the move.
22
+
23
+ ## Pause before
24
+
25
+ Production changes, irreversible actions, surprises that affect trust. `<private>` in trust-profile never enters prompts.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Subash Natarajan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,328 @@
1
+ # fdeops - The Operating System for Forward Deployed Engineers
2
+
3
+ > **One command. Six domains. Your second brain for client engagements.**
4
+
5
+ You type **`@fde`**, describe your situation, and the system routes to the right method - from first stakeholder meeting to final handoff. Every skill writes its output to your private engagement memory (`.fde/`), so tomorrow starts where today ended. No re-pasting context. No maintaining notes. No picking from a catalog.
6
+
7
+ ```mermaid
8
+ flowchart LR
9
+ A["@fde"] --> B{"Describe\nyour situation"}
10
+ B --> C["Embed & Trust"]
11
+ B --> D["Discover & Diagnose"]
12
+ B --> E["Plan & Align"]
13
+ B --> F["Build & Guard"]
14
+ B --> G["Ship & Verify"]
15
+ B --> H["Operate & Close"]
16
+ C --> I[".fde/ memory\n(auto-written)"]
17
+ D --> I
18
+ E --> I
19
+ F --> I
20
+ G --> I
21
+ H --> I
22
+ I --> J["Next session\nloads automatically"]
23
+ ```
24
+
25
+ Works with **Claude Code** · **Cursor** · **Copilot** · **Devin** · **Gemini CLI** · any agent that reads SKILL.md
26
+
27
+ <p align="center"><strong>The CLI (zero tokens, zero network)</strong></p>
28
+ <p align="center"><img src="media/terminal-demo.svg" alt="fde CLI - status, scan, dashboard" width="720"/></p>
29
+
30
+ <p align="center"><strong>The Fieldbook Dashboard (one offline HTML file)</strong></p>
31
+ <p align="center"><img src="media/fieldbook-dashboard.png" alt="FDE Fieldbook - portfolio view" width="720"/></p>
32
+
33
+ ---
34
+
35
+ ## Who does what
36
+
37
+ | Role | Who | What they do |
38
+ |------|-----|----------------|
39
+ | **You (the FDE)** | **Human** on the engagement | Stakeholder meetings, calls, judgment, sign-off, typing `@fde`, owning what ships |
40
+ | **AI coding agent** | **Software** on your laptop (e.g. Claude Code) - **not** a human colleague | Loads the `@fde` skill, runs the phase methods, writes code and `.fde/` artifacts |
41
+ | **`@fde`** | **One skill** inside the AI agent | Hears your situation, routes to the right phase, does that phase's work |
42
+
43
+ **In this repo, "agent" always means the AI coding agent, never a person.**
44
+
45
+ ---
46
+
47
+ ## Without fdeops vs with fdeops
48
+
49
+ | | **Without fdeops** | **With fdeops** |
50
+ |---|-------------------|----------------|
51
+ | **Memory** | Re-paste context every session | `.fde/` writes itself - next session starts where today ended |
52
+ | **Discovery** | Agent treats the brief as the task | Agent scans churn, test gaps, "temporary" code; hands you the real problem with evidence |
53
+ | **Multiple customers** | Details blur between clients | One folder per customer, auto-loaded, never merged |
54
+ | **The output** | Advice you already knew | An artifact you carry into the sponsor meeting |
55
+
56
+ ---
57
+
58
+ ## Quickstart
59
+
60
+ ```bash
61
+ # Option A: Skills CLI (any agent)
62
+ npx skills add suboss87/fdeops
63
+
64
+ # Option B: Clone + install
65
+ git clone https://github.com/suboss87/fdeops.git
66
+ cd fdeops && node bin/install.js
67
+ ```
68
+
69
+ Start your first engagement:
70
+ ```bash
71
+ node bin/install.js init my-client
72
+ # or: npx fdeops init my-client (engagement memory at ~/fde-engagements/my-client/.fde/)
73
+ ```
74
+
75
+ Point the AI coding agent at it:
76
+ ```bash
77
+ export FDEOPS_ENGAGEMENT=~/fde-engagements/my-client/.fde
78
+ ```
79
+
80
+ Then talk to your agent:
81
+ ```
82
+ @fde I'm on site. First stakeholder meeting tomorrow. Brief says fix the payments API.
83
+ ```
84
+
85
+ That's it. The system takes over from there.
86
+
87
+ ### Use it in any tool
88
+
89
+ One brain (`skills/fde/SKILL.md`), a thin pointer per tool. Wire up an engagement workspace for every AI tool you use:
90
+
91
+ ```bash
92
+ node bin/install.js adapters ~/fde-engagements/my-client
93
+ # or: npx fdeops@latest adapters ~/fde-engagements/my-client
94
+ ```
95
+
96
+ | Tool | Pointer file it reads |
97
+ |------|-----------------------|
98
+ | Claude Code | plugin + `~/.claude/FDEOPS-CLAUDE.md` |
99
+ | Codex / OpenAI / generic | `AGENTS.md` |
100
+ | Gemini CLI | `GEMINI.md` |
101
+ | Cursor | `.cursor/rules/fde.mdc` |
102
+ | GitHub Copilot | `.github/copilot-instructions.md` |
103
+
104
+ Each file just points at `@fde` - so the method, overlays, and memory stay in one place. Details: [`adapters/`](adapters/README.md).
105
+
106
+ ---
107
+
108
+ ## How it works
109
+
110
+ ```text
111
+ YOU (human FDE) AI CODING AGENT (software)
112
+ meetings, judgment @fde routes → right skill → does the work
113
+ │ ─────► .fde/ memory (self-writing)
114
+ │ │
115
+ └──────────────► client workspace (code, VPN, tickets)
116
+ ```
117
+
118
+ | Layer | What | Where |
119
+ |-------|------|-------|
120
+ | **Surface** | One command: `@fde` | You type it |
121
+ | **Router** | Hears your situation, picks the skill | `SKILL.md` |
122
+ | **Skills** | 34 methods across 6 domains | `references/` |
123
+ | **Overlays** | Activate on signal (AI, fintech, healthcare, gov, artifacts) | Layer on top |
124
+ | **Memory** | `.fde/` - engagement record, per customer | Your machine |
125
+
126
+ ---
127
+
128
+ ## The basic workflow
129
+
130
+ You only ever type **`@fde`**. The AI coding agent reads `context.md` from your engagement folder, routes to the matching skill, and follows that skill's method:
131
+
132
+ 1. **Describe** - tell the agent what's happening ("new client", "production is down", "need a board update")
133
+ 2. **Route** - the system picks the right skill from 34 options across 6 domains
134
+ 3. **Execute** - the skill's method runs, artifacts are written to `.fde/`, you review at checkpoints
135
+
136
+ ---
137
+
138
+ ## The 6 domains
139
+
140
+ ### 1. Embed & Trust
141
+ *First days. Getting access, building credibility, understanding scope.*
142
+
143
+ | Skill | What it does |
144
+ |-------|-------------|
145
+ | **land** | First 48 hours: interrogate the brief, map stakeholders, define success before code |
146
+ | **audit** | Taking over mid-project: verify claims, find the load-bearing wall |
147
+ | **stakeholder-radar** | Map who decides, who blocks, who's about to escalate |
148
+ | **trust-engineering** | The trust ladder from observer to trusted; navigate AI policy |
149
+ | **scope-defense** | "Let me place it": scope receipts, the accumulation conversation |
150
+
151
+ ### 2. Discover & Diagnose
152
+ *Finding the real problem. Testing what the brief claims.*
153
+
154
+ | Skill | What it does |
155
+ |-------|-------------|
156
+ | **discover** | Scan repo + hunt the workaround + **workshop facilitation** + **data estate assessment** |
157
+ | **assumption-audit** | Extract untested assumptions, classify by blast radius, kill the riskiest first |
158
+ | **use-case-scoring** | Score on value × urgency × alignment × data readiness ÷ complexity |
159
+ | **sketch** | Prototype the killer assumption in one day; kill fast, log the learning |
160
+
161
+ ### 3. Plan & Align
162
+ *Sequencing work and getting sponsor alignment.*
163
+
164
+ | Skill | What it does |
165
+ |-------|-------------|
166
+ | **plan** | Work backwards from success + **estimation** (3-point sizing) + **migration strategy** |
167
+ | **business-case** | Cost of doing nothing → investment → return → sensitivity check |
168
+ | **options-analysis** | Three genuine options (conservative / pragmatic / ambitious) |
169
+ | **initiative-triage** | 20 things are "urgent"; pick 3 for Now, make trade-offs visible |
170
+
171
+ ### 4. Build & Guard
172
+ *Safe implementation on someone else's codebase.*
173
+
174
+ | Skill | What it does |
175
+ |-------|-------------|
176
+ | **build** | Blast radius + legacy safety + **integration design** + **team amplification** |
177
+ | **incremental-build** | Vertical slices, 100–300 lines each, visible progress every 2–3 days |
178
+ | **test-on-legacy** | Characterise first, Strangler Fig, spot lying tests |
179
+ | **blast-radius** | Trace dependencies, classify impact (CONTAINED → IRREVERSIBLE) |
180
+ | **debug** | Systematic: reproduce → isolate → one hypothesis → verify |
181
+ | **rescue** | Production fire, trust fire, wrong-brief-mid-build, **or full pivot** |
182
+ | **security-audit** | Threat model in 5 minutes, STRIDE pass, secrets scan |
183
+ | **observability** | Define "working" before instrumenting; the four metrics |
184
+
185
+ ### 5. Ship & Verify
186
+ *Getting to production without surprises.*
187
+
188
+ | Skill | What it does |
189
+ |-------|-------------|
190
+ | **ship** | Pre-flight + canary + rollback + **scale-readiness gate** + **progressive adoption** |
191
+ | **review** | Scope first (did we build what was agreed), then safety |
192
+ | **rollback-drill** | Test the escape route on staging before you need it at 2am |
193
+ | **qa-live** | Test from the user's chair, real browser, five perspectives |
194
+
195
+ ### 6. Operate & Close
196
+ *Running the engagement and ending it well.*
197
+
198
+ | Skill | What it does |
199
+ |-------|-------------|
200
+ | **status** | Sponsor update from the week's actual record |
201
+ | **demo-prep** | The one number, live-vs-canned, five hard questions |
202
+ | **debrief** | Walk out of any meeting → decisions, signals, actions in memory |
203
+ | **exec-narrative** | Pyramid: governing thought, three supports, SCQA frame |
204
+ | **dashboard** | Portfolio view across all customers, trust-ordered |
205
+ | **multi-customer-ops** | Daily triage, context-switch, cross-contamination prevention |
206
+ | **close** | Retrospective, the 2am handoff document, what we learned |
207
+ | **handoff-engineering** | Operations runbook, knowledge transfer, confidence scoring |
208
+ | **pattern-extract** | If you did it twice, encode it; patterns are compound interest |
209
+
210
+ ### Overlays (activate on signal)
211
+
212
+ | Overlay | Triggers on | What it adds |
213
+ |---------|------------|-------------|
214
+ | **ai** | AI, ML, LLM, model, embeddings, RAG, agents | Model selection, RAG architecture, agent safety, governance, drift monitoring, cost management |
215
+ | **artifacts** | deck, slides, report, governance, compliance | Executive decks, governance frameworks, ADRs, compliance packs, value reports |
216
+ | **fintech** | payments, PCI, banking, cardholder data | Idempotency, transaction integrity, fraud signals, silent-failure prevention |
217
+ | **healthcare** | PHI, HIPAA, patient data | De-identification, minimum-necessary, audit trails |
218
+ | **gov** | FedRAMP, ATO, CUI, classified | Authority boundaries, CUI marking, continuous monitoring |
219
+
220
+ ---
221
+
222
+ ## What makes fdeops different
223
+
224
+ | Other skill repos | fdeops |
225
+ |---|---|
226
+ | No client memory - re-paste every session | `.fde/` writes itself; next session loads automatically |
227
+ | No engagement politics - pure engineering | Skills for stakeholder radar, trust, scope defense, exec narratives |
228
+ | No multi-customer support | One folder per client, portfolio dashboard, hard isolation |
229
+ | Flat list of skills - find it yourself | Type `@fde`, describe the situation, it routes |
230
+ | Generic engineering or startup advice | FDE-specific: brownfield safety, earned access, sponsor alignment, workshop facilitation |
231
+ | No document generation | **Artifacts overlay:** governance frameworks, exec decks, compliance packs, ADRs from memory |
232
+ | No AI project guidance | **AI overlay:** model selection, RAG, agents, governance, drift, cost at scale |
233
+
234
+ ---
235
+
236
+ ## Engagement memory (`.fde/`)
237
+
238
+ Your **fieldbook** - one per client, private to you, plain markdown:
239
+
240
+ | File | Role | Written by |
241
+ |------|------|-----------|
242
+ | `context.md` | Where you are; loaded first every session | every phase + session-stop hook |
243
+ | `brief.md` | What they said - hypothesis until discover | land |
244
+ | `success.md` | Done, measured, signed-off by whom | land |
245
+ | `reality.md` | The real problem, with evidence | discover / audit |
246
+ | `terrain.md` | Codebase map: hotspots, test gaps, AI components, data estate | discover / audit |
247
+ | `stakeholders.md` | Champions, resistance, trust signals | land, updated continuously |
248
+ | `trust-profile.md` | Sacred data, AI policy, approval chain | land + overlays |
249
+ | `decisions.md` | Plan + choices + integration contracts + sizing | plan / build / review / rescue |
250
+ | `risks.md` | Live risk register | all phases |
251
+ | `delivery.md` | What shipped, business value, rollback, pulse, adoption metrics | build / ship |
252
+
253
+ Every claim carries evidence: `(ops lead, Day 5)` · `(churn: 47/90d)` · `(stated, unverified)`.
254
+
255
+ ---
256
+
257
+ ## The CLI (works without AI)
258
+
259
+ ```bash
260
+ fde scan # day-1 recon: hotspots × tests, "temporary" code, AI calls, secrets
261
+ fde resume # initialize or resume an engagement
262
+ fde log # write decisions, risks, delivery, contacts
263
+ fde receipts # search memory with dates
264
+ fde capture # session-end snapshot
265
+ fde status # portfolio triage across all customers
266
+ fde dashboard # render every engagement into one offline fieldbook.html (0 tokens)
267
+ ```
268
+
269
+ ---
270
+
271
+ ## Who this is for
272
+
273
+ | You are... | fdeops helps when... |
274
+ |----------|-------------------|
275
+ | **New to embed work** | You get a method per phase, not just encouragement |
276
+ | **Senior operator, solo on site** | The agent is your second brain: memory + grunt work |
277
+ | **Multi-client consultant** | One `.fde/` per customer, never cross-contaminated |
278
+ | **Running AI transformations** | AI overlay: model selection → RAG → agents → scale → governance |
279
+ | **Enterprise programme lead** | Estimation, migration strategy, scale-readiness, governance artifacts |
280
+
281
+ **Works with:** Claude Code, Cursor, Copilot, Windsurf, Cline, Devin, Gemini CLI - any agent that reads SKILL.md.
282
+
283
+ ---
284
+
285
+ ## What's inside
286
+
287
+ ```
288
+ bin/fde.js the CLI - deterministic core, works without AI:
289
+ fde scan · resume · log · receipts · capture · status · dashboard
290
+ skills/fde/
291
+ SKILL.md the router: voice, memory contract, 6-domain routing
292
+ references/
293
+ 34 skill files one method per file
294
+ 5 overlays ai.md, artifacts.md, fintech.md, healthcare.md, gov.md
295
+ hooks/ session-start, session-stop, pre-compact
296
+ templates/.fde/ the 10 core memory files an init creates
297
+ docs/ install guides, schema, methodology
298
+ ```
299
+
300
+ ---
301
+
302
+ ## Principles
303
+
304
+ - **The artifact is the memory** - producing work and recording it are one action
305
+ - **Trust before production** - earn the right to touch their systems
306
+ - **Brief is a hypothesis** - discover before building the wrong thing
307
+ - **Evidence on every claim** - these files get defended in front of skeptical clients
308
+ - **Map before moving** - unknown terrain gets characterisation tests
309
+ - **Thin slices** - ship learning, not theatre
310
+ - **One customer, one folder** - context never bleeds
311
+ - **AI degrades silently** - monitor outputs, not just uptime
312
+ - **Scale readiness is organizational** - not just technical
313
+
314
+ ---
315
+
316
+ ## Updating
317
+
318
+ ```bash
319
+ cd fdeops && git pull && node bin/install.js
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Contributing
325
+
326
+ Maintained by **Subash Natarajan**. Feedback via [Issues](https://github.com/suboss87/fdeops/issues) - see [CONTRIBUTING.md](CONTRIBUTING.md).
327
+
328
+ [ATTRIBUTION.md](ATTRIBUTION.md) · [SECURITY.md](SECURITY.md) · [Repo layout](docs/REPO_LAYOUT.md) · MIT
@@ -0,0 +1,24 @@
1
+ # fdeops - AGENTS.md (Codex, OpenAI, and any agent that reads AGENTS.md)
2
+
3
+ You are the AI coding agent for a **Forward Deployed Engineer (FDE)** - the human in this chat. fdeops runs on the FDE's own machine, never on systems they do not operate.
4
+
5
+ ## Entry
6
+
7
+ When the FDE types **`@fde`** (or describes an engagement situation - new customer, mid-project takeover, production fire, quiet stakeholder, ready to ship), load the skill and route.
8
+
9
+ - Skill (single source of truth): `~/.claude/skills/fde/SKILL.md`
10
+ - **Never ask the FDE to pick a skill.** Read the situation, route silently, do the work.
11
+
12
+ ## Engagement memory
13
+
14
+ Read and write engagement files under **`FDEOPS_ENGAGEMENT`** (expand `~`). Default `~/fde-engagements/<name>/.fde/`. If unset, use `./.fde/` only when the engagement approves it and it is gitignored.
15
+
16
+ On entry, run `fde resume` (fallback `node ~/.claude/fdeops/fde.js resume`) to load `context.md`. Use the CLI for deterministic work - `fde scan | log | receipts | status | dashboard` - instead of improvising shell.
17
+
18
+ ## Voice
19
+
20
+ A 20-year FDE peer: direct, no fluff, no assumptions. One sharp question when a missing fact changes the move, then act.
21
+
22
+ ## Pause before
23
+
24
+ Production changes, irreversible actions, anything that affects client trust. Data marked `<private>` in `trust-profile.md` **never enters your context or any subagent prompt** - work around it, never with it.
@@ -0,0 +1,24 @@
1
+ # fdeops - GEMINI.md (Gemini CLI)
2
+
3
+ Context for Gemini CLI when assisting a **Forward Deployed Engineer (FDE)** - the human in this chat. fdeops runs on the FDE's own machine, never on systems they do not operate.
4
+
5
+ ## Entry
6
+
7
+ When the FDE types **`@fde`** or describes an engagement situation (new customer, mid-project takeover, production fire, quiet stakeholder, ready to ship), load the skill and route.
8
+
9
+ - Skill (single source of truth): `~/.claude/skills/fde/SKILL.md`
10
+ - **Never ask the FDE to pick a skill.** Read the situation, route silently, do the work.
11
+
12
+ ## Engagement memory
13
+
14
+ Read and write engagement files under **`FDEOPS_ENGAGEMENT`** (expand `~`). Default `~/fde-engagements/<name>/.fde/`. If unset, use `./.fde/` only when the engagement approves it and it is gitignored.
15
+
16
+ On entry, run `fde resume` (fallback `node ~/.claude/fdeops/fde.js resume`) to load `context.md`. Use the CLI for deterministic work - `fde scan | log | receipts | status | dashboard` - instead of improvising shell.
17
+
18
+ ## Voice
19
+
20
+ A 20-year FDE peer: direct, no fluff, no assumptions. One sharp question when a missing fact changes the move, then act.
21
+
22
+ ## Pause before
23
+
24
+ Production changes, irreversible actions, anything that affects client trust. Data marked `<private>` in `trust-profile.md` **never enters your context or any subagent prompt** - work around it, never with it.
@@ -0,0 +1,31 @@
1
+ # Cross-platform adapters
2
+
3
+ **One brain, thin adapters.** fdeops has a single source of truth - the `@fde` skill at `skills/fde/SKILL.md` and the `fde` CLI. Each AI coding tool discovers it through a small pointer file in the place that tool already looks. No forked logic, no five copies to maintain - every adapter says the same thing: *route via `@fde`, read/write `.fde/` memory, talk like a peer, never touch what isn't yours.*
4
+
5
+ ## What goes where
6
+
7
+ | Tool | File in your engagement workspace | Source template |
8
+ |------|-----------------------------------|-----------------|
9
+ | Claude Code | plugin + `~/.claude/FDEOPS-CLAUDE.md` (created on install) | `../CLAUDE.md.template` |
10
+ | Codex / OpenAI / generic | `AGENTS.md` | `AGENTS.md` |
11
+ | Gemini CLI | `GEMINI.md` | `GEMINI.md` |
12
+ | Cursor | `.cursor/rules/fde.mdc` | `cursor.fde.mdc` |
13
+ | GitHub Copilot | `.github/copilot-instructions.md` | `copilot-instructions.md` |
14
+
15
+ `AGENTS.md` is the emerging cross-tool standard - many agents read it, so it doubles as the universal fallback.
16
+
17
+ ## Install them in one command
18
+
19
+ From your fdeops clone, drop every pointer into a workspace at the right path:
20
+
21
+ ```bash
22
+ node bin/install.js adapters /path/to/your/engagement-workspace
23
+ # or, with npm 3.2.0+:
24
+ npx fdeops@latest adapters /path/to/your/engagement-workspace
25
+ ```
26
+
27
+ Defaults to the current directory if no path is given. Existing files are never clobbered - if a `CLAUDE.md` / `AGENTS.md` already exists, an fdeops pointer block is appended once (idempotent); files unique to fdeops are created fresh.
28
+
29
+ ## The principle
30
+
31
+ The adapter only tells the tool **where the brain is and how to behave**. All the method - the 34 skills, the overlays, the memory contract - lives once in `skills/fde/SKILL.md`. Update the brain, every platform gets it. That's why fdeops feels native in whatever the FDE already uses, without five things to keep in sync.
@@ -0,0 +1,24 @@
1
+ # fdeops - GitHub Copilot instructions
2
+
3
+ You are the AI coding agent for a **Forward Deployed Engineer (FDE)** - the human in this chat. fdeops runs on the FDE's own machine, never on systems they do not operate.
4
+
5
+ ## Entry
6
+
7
+ When the FDE types **`@fde`** or describes an engagement situation (new customer, mid-project takeover, production fire, quiet stakeholder, ready to ship), load the skill and route.
8
+
9
+ - Skill (single source of truth): `~/.claude/skills/fde/SKILL.md`
10
+ - **Never ask the FDE to pick a skill.** Read the situation, route silently, do the work.
11
+
12
+ ## Engagement memory
13
+
14
+ Read and write engagement files under **`FDEOPS_ENGAGEMENT`** (expand `~`). Default `~/fde-engagements/<name>/.fde/`. If unset, use `./.fde/` only when the engagement approves it and it is gitignored.
15
+
16
+ On entry, run `fde resume` (fallback `node ~/.claude/fdeops/fde.js resume`) to load `context.md`. Use the CLI for deterministic work - `fde scan | log | receipts | status | dashboard` - instead of improvising shell.
17
+
18
+ ## Voice
19
+
20
+ A 20-year FDE peer: direct, no fluff, no assumptions. One sharp question when a missing fact changes the move, then act.
21
+
22
+ ## Pause before
23
+
24
+ Production changes, irreversible actions, anything that affects client trust. Data marked `<private>` in `trust-profile.md` **never enters your context or any subagent prompt** - work around it, never with it.
@@ -0,0 +1,29 @@
1
+ ---
2
+ description: fdeops - route Forward Deployed Engineer work via @fde
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # fdeops (Cursor rule)
7
+
8
+ You are the AI coding agent for a **Forward Deployed Engineer (FDE)** - the human in this chat. fdeops runs on the FDE's own machine, never on systems they do not operate.
9
+
10
+ ## Entry
11
+
12
+ When the FDE types **`@fde`** or describes an engagement situation (new customer, mid-project takeover, production fire, quiet stakeholder, ready to ship), load the skill and route.
13
+
14
+ - Skill (single source of truth): `~/.claude/skills/fde/SKILL.md`
15
+ - **Never ask the FDE to pick a skill.** Read the situation, route silently, do the work.
16
+
17
+ ## Engagement memory
18
+
19
+ Read and write engagement files under **`FDEOPS_ENGAGEMENT`** (expand `~`). Default `~/fde-engagements/<name>/.fde/`. If unset, use `./.fde/` only when the engagement approves it and it is gitignored.
20
+
21
+ On entry, run `fde resume` (fallback `node ~/.claude/fdeops/fde.js resume`) to load `context.md`. Use the CLI for deterministic work - `fde scan | log | receipts | status | dashboard` - instead of improvising shell.
22
+
23
+ ## Voice
24
+
25
+ A 20-year FDE peer: direct, no fluff, no assumptions. One sharp question when a missing fact changes the move, then act.
26
+
27
+ ## Pause before
28
+
29
+ Production changes, irreversible actions, anything that affects client trust. Data marked `<private>` in `trust-profile.md` **never enters your context or any subagent prompt** - work around it, never with it.