fdeops 3.5.3 → 3.5.4
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 +12 -9
- package/adapters/LOCAL-LLM.md +106 -0
- package/adapters/README.md +2 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ flowchart LR
|
|
|
29
29
|
I --> J["Next session\nloads automatically"]
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
Works with **Claude Code** · **Cursor** · **Copilot** · **Devin** · **Gemini CLI** · any
|
|
32
|
+
Works with **Claude Code** · **Cursor** · **Copilot** · **Devin** · **Gemini CLI** · **Ollama** · **LM Studio** · any model that reads SKILL.md
|
|
33
33
|
|
|
34
34
|
<p align="center"><strong>The CLI</strong></p>
|
|
35
35
|
<p align="center"><img src="media/terminal-demo.svg" alt="fde CLI - status, scan, dashboard" width="720"/></p>
|
|
@@ -56,10 +56,10 @@ Works with **Claude Code** · **Cursor** · **Copilot** · **Devin** · **Gemini
|
|
|
56
56
|
|
|
57
57
|
| | **Without fdeops** | **With fdeops** |
|
|
58
58
|
|---|-------------------|----------------|
|
|
59
|
-
| **Monday morning** | Re-paste last week's context, explain the stakeholders again | Agent opens with "last session you were on the ingest retry
|
|
60
|
-
| **Scope creep** | Five "small" additions absorbed silently, timeline slips | Receipts timestamped
|
|
59
|
+
| **Monday morning** | Re-paste last week's context, explain the stakeholders again | Agent opens with "last session you were on the ingest retry - CTO demo is Friday" |
|
|
60
|
+
| **Scope creep** | Five "small" additions absorbed silently, timeline slips | Receipts timestamped - you walk into the sponsor meeting with evidence |
|
|
61
61
|
| **Multiple customers** | Wrong client name in a status update, details blur | One folder per customer, context-switch protocol, cross-contamination checklist |
|
|
62
|
-
| **The sponsor meeting** | "We completed the API endpoint" | "Manual reconciliation dropped from 3 FTEs to 0.5
|
|
62
|
+
| **The sponsor meeting** | "We completed the API endpoint" | "Manual reconciliation dropped from 3 FTEs to 0.5 - here's the rollback if it turns" |
|
|
63
63
|
|
|
64
64
|
---
|
|
65
65
|
|
|
@@ -88,11 +88,11 @@ export FDEOPS_ENGAGEMENT=~/fde-engagements/my-client/.fde
|
|
|
88
88
|
The agent routes to `land` and starts thinking with you:
|
|
89
89
|
|
|
90
90
|
```
|
|
91
|
-
Brief says payments API
|
|
91
|
+
Brief says payments API - but nobody named who owns the budget for this
|
|
92
92
|
work. That's your first question tomorrow. And the brief has no
|
|
93
93
|
out-of-scope section, which means scope creep is pre-authorised.
|
|
94
94
|
|
|
95
|
-
Watch for the internal dev who got passed over for this contract
|
|
95
|
+
Watch for the internal dev who got passed over for this contract - if
|
|
96
96
|
there is one, you want them on your side before the first standup.
|
|
97
97
|
Also: what does failure look like to the sponsor personally, not the
|
|
98
98
|
project charter? That answer shapes everything.
|
|
@@ -110,9 +110,9 @@ Day 15, the memory has compounded:
|
|
|
110
110
|
```
|
|
111
111
|
Last session you were finishing the ingest retry on staging. CTO demo
|
|
112
112
|
is Friday and status hasn't gone out since Tuesday. The finance
|
|
113
|
-
controller still hasn't seen a working demo
|
|
113
|
+
controller still hasn't seen a working demo - that's a risk.
|
|
114
114
|
|
|
115
|
-
Globex has been quiet for 3 days
|
|
115
|
+
Globex has been quiet for 3 days - trust signal amber.
|
|
116
116
|
|
|
117
117
|
I'd send the CTO status first, then finish the retry, then check in
|
|
118
118
|
on Globex before end of day. What do you want to tackle?
|
|
@@ -139,9 +139,12 @@ npx fdeops adapters ~/fde-engagements/my-client
|
|
|
139
139
|
| Gemini CLI | `GEMINI.md` |
|
|
140
140
|
| Cursor | `.cursor/rules/fde.mdc` |
|
|
141
141
|
| GitHub Copilot | `.github/copilot-instructions.md` |
|
|
142
|
+
| **Local LLMs** (Ollama, LM Studio, llama.cpp, vLLM) | Load `SKILL.md` as system prompt |
|
|
142
143
|
|
|
143
144
|
Each adapter points at the same `@fde` skill, so the methodology and memory stay consistent across tools. Details: [`adapters/`](adapters/README.md).
|
|
144
145
|
|
|
146
|
+
> **No cloud dependency.** fdeops calls no external API. The AI skill is a markdown file your model reads. The CLI is local Node.js. Works fully offline, fully air-gapped, fully private. See [`adapters/LOCAL-LLM.md`](adapters/LOCAL-LLM.md) for local model setup.
|
|
147
|
+
|
|
145
148
|
---
|
|
146
149
|
|
|
147
150
|
## How it works
|
|
@@ -160,7 +163,7 @@ Each adapter points at the same `@fde` skill, so the methodology and memory stay
|
|
|
160
163
|
|
|
161
164
|
---
|
|
162
165
|
|
|
163
|
-
## The 6 domains
|
|
166
|
+
## The 6 domains - 34 skills + 5 overlays
|
|
164
167
|
|
|
165
168
|
| Domain | Skills | What it covers |
|
|
166
169
|
|--------|--------|---------------|
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# fdeops - Local LLM Setup
|
|
2
|
+
|
|
3
|
+
Use fdeops with **any local model** - Ollama, LM Studio, llama.cpp, vLLM, Open WebUI, or any inference server that accepts a system prompt.
|
|
4
|
+
|
|
5
|
+
## Why it works
|
|
6
|
+
|
|
7
|
+
fdeops is a SKILL.md file + markdown memory + a Node.js CLI. It calls no external API. The AI does the methodology; the CLI does the mechanics. Any model that can read a markdown system prompt can run fdeops.
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
### 1. Install fdeops (same as any other setup)
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx fdeops init my-client
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### 2. Load the skill into your local model
|
|
18
|
+
|
|
19
|
+
The file your model needs to read as system context:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
~/.claude/skills/fde/SKILL.md
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
How you load it depends on your setup:
|
|
26
|
+
|
|
27
|
+
| Tool | How to load |
|
|
28
|
+
|------|-------------|
|
|
29
|
+
| **Ollama + Open WebUI** | Paste the contents of `SKILL.md` into the system prompt field, or mount it as a file in your Modelfile |
|
|
30
|
+
| **LM Studio** | Add `SKILL.md` path to the system prompt in chat settings |
|
|
31
|
+
| **llama.cpp / server mode** | Pass `--system-prompt-file ~/.claude/skills/fde/SKILL.md` |
|
|
32
|
+
| **vLLM + chat UI** | Include as the system message in your chat template |
|
|
33
|
+
| **Aider** | Run aider from your engagement workspace - it reads repo files including SKILL.md automatically |
|
|
34
|
+
| **Continue.dev (VS Code)** | Add SKILL.md as a context provider in `.continue/config.json` |
|
|
35
|
+
| **text-generation-webui** | Load SKILL.md content in the "Context" or "System prompt" tab |
|
|
36
|
+
| **Jan.ai** | Paste into the system prompt field in assistant settings |
|
|
37
|
+
| **GPT4All** | Add as system prompt in the model's chat configuration |
|
|
38
|
+
|
|
39
|
+
### 3. Set the engagement path
|
|
40
|
+
|
|
41
|
+
Your local model needs to know where the engagement memory lives. Set the environment variable before starting your session:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
export FDEOPS_ENGAGEMENT=~/fde-engagements/my-client/.fde
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Or tell the model directly: "My engagement is at ~/fde-engagements/my-client/.fde"
|
|
48
|
+
|
|
49
|
+
### 4. Use it
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
@fde I'm preparing for tomorrow's stakeholder meeting. The brief says payments API.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The model reads SKILL.md, routes to the right skill, and produces artifacts in your `.fde/` folder.
|
|
56
|
+
|
|
57
|
+
## Model size recommendations
|
|
58
|
+
|
|
59
|
+
The methodology is detailed (34 skills, routing logic, evidence format, memory contract). Larger models handle it better:
|
|
60
|
+
|
|
61
|
+
| Model class | Experience |
|
|
62
|
+
|-------------|-----------|
|
|
63
|
+
| **7-8B** (Llama 3.1 8B, Mistral 7B, Qwen 2.5 7B) | Handles individual skills (status, log, land). May struggle with complex routing or multi-skill sessions. Good for the CLI-heavy workflow where you invoke skills explicitly. |
|
|
64
|
+
| **13-34B** (Llama 3.1 70B-Q4, Mixtral 8x7B, Qwen 2.5 32B, DeepSeek-R1 32B) | Good across all domains. Routes correctly, follows memory contract, writes structured artifacts. Recommended minimum for full methodology use. |
|
|
65
|
+
| **70B+** (Llama 3.1 405B, DeepSeek V3, Qwen 2.5 72B) | Full capability. Handles regulated overlays, multi-customer ops, exec-narrative pyramid structure, complex handoff engineering. |
|
|
66
|
+
|
|
67
|
+
## The CLI works without ANY model
|
|
68
|
+
|
|
69
|
+
Even if you can't run a local model (or you're at a regulated client with no AI permitted), the `fde` CLI gives you the deterministic tooling:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
fde scan # repo recon - hotspots, test gaps, AI components (git only)
|
|
73
|
+
fde resume # load/create engagement memory
|
|
74
|
+
fde log # structured append: decisions, risks, delivery, contacts
|
|
75
|
+
fde receipts # "what did we agree?" - search memory with dates
|
|
76
|
+
fde status # portfolio triage across all customers (red/amber/green)
|
|
77
|
+
fde dashboard # offline HTML fieldbook across all engagements
|
|
78
|
+
fde capture # session-end memory snapshot
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Zero network. Zero AI. Pure local Node.js reading git and markdown.
|
|
82
|
+
|
|
83
|
+
## Ollama Modelfile example
|
|
84
|
+
|
|
85
|
+
```dockerfile
|
|
86
|
+
FROM llama3.1:70b
|
|
87
|
+
|
|
88
|
+
SYSTEM """
|
|
89
|
+
{{- .SystemPrompt -}}
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
PARAMETER temperature 0.3
|
|
93
|
+
PARAMETER num_ctx 32768
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Then load the skill:
|
|
97
|
+
```bash
|
|
98
|
+
ollama run my-fde-model --system "$(cat ~/.claude/skills/fde/SKILL.md)"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Tips for local models
|
|
102
|
+
|
|
103
|
+
- **Context window matters.** SKILL.md + references can be large. Use a model with at least 8K context; 32K+ is ideal for loading skill references on demand.
|
|
104
|
+
- **Temperature 0.2-0.4 works best.** The methodology is structured - lower temperature keeps routing accurate and artifacts consistent.
|
|
105
|
+
- **Use the CLI for mechanics.** Don't ask the model to do what the CLI already does deterministically. Use `fde scan` for repo recon, `fde log` for memory writes, `fde receipts` for searching. Let the model handle judgment, routing, and artifact drafting.
|
|
106
|
+
- **Explicit skill invocation.** If a smaller model struggles with routing, you can invoke skills directly: "@fde run the discover phase" or "@fde use scope-defense." The model skips routing and goes straight to the method.
|
package/adapters/README.md
CHANGED
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
| Gemini CLI | `GEMINI.md` | `GEMINI.md` |
|
|
12
12
|
| Cursor | `.cursor/rules/fde.mdc` | `cursor.fde.mdc` |
|
|
13
13
|
| GitHub Copilot | `.github/copilot-instructions.md` | `copilot-instructions.md` |
|
|
14
|
+
| Local LLMs (Ollama, LM Studio, llama.cpp, vLLM) | Load `SKILL.md` as system prompt | [`LOCAL-LLM.md`](LOCAL-LLM.md) (guide) |
|
|
14
15
|
|
|
15
|
-
`AGENTS.md` is the emerging cross-tool standard - many agents read it, so it doubles as the universal fallback.
|
|
16
|
+
`AGENTS.md` is the emerging cross-tool standard - many agents read it, so it doubles as the universal fallback. For local/self-hosted models, see [`LOCAL-LLM.md`](LOCAL-LLM.md).
|
|
16
17
|
|
|
17
18
|
## Install them in one command
|
|
18
19
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fdeops",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.4",
|
|
4
4
|
"description": "Field kit for engineers embedded in client work - a real CLI (recon, memory, portfolio), one @fde skill with field judgment on top, and hooks that make it automatic. Claude Code plugin and any agent that loads skills.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"fdeops": "bin/install.js",
|
|
@@ -38,7 +38,10 @@
|
|
|
38
38
|
"codex",
|
|
39
39
|
"gemini-cli",
|
|
40
40
|
"copilot",
|
|
41
|
-
"agents-md"
|
|
41
|
+
"agents-md",
|
|
42
|
+
"ollama",
|
|
43
|
+
"local-llm",
|
|
44
|
+
"lm-studio"
|
|
42
45
|
],
|
|
43
46
|
"repository": {
|
|
44
47
|
"type": "git",
|