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.
- package/AGENTS.md +18 -0
- package/CLAUDE.md.template +25 -0
- package/LICENSE +21 -0
- package/README.md +328 -0
- package/adapters/AGENTS.md +24 -0
- package/adapters/GEMINI.md +24 -0
- package/adapters/README.md +31 -0
- package/adapters/copilot-instructions.md +24 -0
- package/adapters/cursor.fde.mdc +29 -0
- package/bin/check.js +260 -0
- package/bin/fde.js +690 -0
- package/bin/install.js +220 -0
- package/hooks/hooks.json +40 -0
- package/hooks/pre-compact +66 -0
- package/hooks/run-hook.cmd +3 -0
- package/hooks/session-start +91 -0
- package/hooks/session-stop +86 -0
- package/package.json +52 -0
- package/skills/fde/SKILL.md +219 -0
- package/skills/fde/references/ai.md +91 -0
- package/skills/fde/references/artifacts.md +247 -0
- package/skills/fde/references/assumption-audit.md +77 -0
- package/skills/fde/references/audit.md +61 -0
- package/skills/fde/references/blast-radius.md +91 -0
- package/skills/fde/references/build.md +98 -0
- package/skills/fde/references/business-case.md +78 -0
- package/skills/fde/references/close.md +43 -0
- package/skills/fde/references/dashboard.md +40 -0
- package/skills/fde/references/debrief.md +36 -0
- package/skills/fde/references/debug.md +55 -0
- package/skills/fde/references/demo-prep.md +31 -0
- package/skills/fde/references/discover.md +163 -0
- package/skills/fde/references/exec-narrative.md +108 -0
- package/skills/fde/references/fintech.md +48 -0
- package/skills/fde/references/gov.md +47 -0
- package/skills/fde/references/handoff-engineering.md +139 -0
- package/skills/fde/references/healthcare.md +45 -0
- package/skills/fde/references/incremental-build.md +91 -0
- package/skills/fde/references/initiative-triage.md +78 -0
- package/skills/fde/references/land.md +75 -0
- package/skills/fde/references/multi-customer-ops.md +114 -0
- package/skills/fde/references/observability.md +103 -0
- package/skills/fde/references/options-analysis.md +81 -0
- package/skills/fde/references/pattern-extract.md +93 -0
- package/skills/fde/references/plan.md +108 -0
- package/skills/fde/references/qa-live.md +113 -0
- package/skills/fde/references/rescue.md +81 -0
- package/skills/fde/references/review.md +53 -0
- package/skills/fde/references/rollback-drill.md +102 -0
- package/skills/fde/references/scope-defense.md +71 -0
- package/skills/fde/references/security-audit.md +105 -0
- package/skills/fde/references/ship.md +121 -0
- package/skills/fde/references/sketch.md +40 -0
- package/skills/fde/references/stakeholder-radar.md +68 -0
- package/skills/fde/references/status.md +30 -0
- package/skills/fde/references/test-on-legacy.md +108 -0
- package/skills/fde/references/trust-engineering.md +100 -0
- package/skills/fde/references/use-case-scoring.md +70 -0
- package/templates/.fde/README.md +13 -0
- package/templates/.fde/brief.md +8 -0
- package/templates/.fde/context.md +14 -0
- package/templates/.fde/decisions.md +18 -0
- package/templates/.fde/delivery.md +7 -0
- package/templates/.fde/reality.md +7 -0
- package/templates/.fde/retrospectives/.gitkeep +0 -0
- package/templates/.fde/risks.md +5 -0
- package/templates/.fde/stakeholders.md +10 -0
- package/templates/.fde/success.md +7 -0
- package/templates/.fde/terrain.md +7 -0
- 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.
|