agent-foundry-runtime 0.4.0__tar.gz
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.
- agent_foundry_runtime-0.4.0/AUTHORSHIP.md +7 -0
- agent_foundry_runtime-0.4.0/LICENSE +21 -0
- agent_foundry_runtime-0.4.0/PKG-INFO +382 -0
- agent_foundry_runtime-0.4.0/README.md +359 -0
- agent_foundry_runtime-0.4.0/agent_foundry/__init__.py +2 -0
- agent_foundry_runtime-0.4.0/agent_foundry/__main__.py +5 -0
- agent_foundry_runtime-0.4.0/agent_foundry/cli.py +613 -0
- agent_foundry_runtime-0.4.0/agent_foundry/config.py +190 -0
- agent_foundry_runtime-0.4.0/agent_foundry/daemon.py +220 -0
- agent_foundry_runtime-0.4.0/agent_foundry/eval.py +93 -0
- agent_foundry_runtime-0.4.0/agent_foundry/executor.py +159 -0
- agent_foundry_runtime-0.4.0/agent_foundry/indexer.py +272 -0
- agent_foundry_runtime-0.4.0/agent_foundry/judge.py +88 -0
- agent_foundry_runtime-0.4.0/agent_foundry/logging_db.py +437 -0
- agent_foundry_runtime-0.4.0/agent_foundry/loop.py +226 -0
- agent_foundry_runtime-0.4.0/agent_foundry/mcp_server.py +191 -0
- agent_foundry_runtime-0.4.0/agent_foundry/models.py +166 -0
- agent_foundry_runtime-0.4.0/agent_foundry/planner.py +288 -0
- agent_foundry_runtime-0.4.0/agent_foundry_runtime.egg-info/PKG-INFO +382 -0
- agent_foundry_runtime-0.4.0/agent_foundry_runtime.egg-info/SOURCES.txt +25 -0
- agent_foundry_runtime-0.4.0/agent_foundry_runtime.egg-info/dependency_links.txt +1 -0
- agent_foundry_runtime-0.4.0/agent_foundry_runtime.egg-info/entry_points.txt +2 -0
- agent_foundry_runtime-0.4.0/agent_foundry_runtime.egg-info/requires.txt +14 -0
- agent_foundry_runtime-0.4.0/agent_foundry_runtime.egg-info/top_level.txt +1 -0
- agent_foundry_runtime-0.4.0/pyproject.toml +35 -0
- agent_foundry_runtime-0.4.0/setup.cfg +4 -0
- agent_foundry_runtime-0.4.0/tests/test_core.py +195 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Authorship
|
|
2
|
+
|
|
3
|
+
Every skill, agent, and other authored artifact in the Agent Foundry catalog is **original work by the Agent Foundry Contributors**, released under the MIT license.
|
|
4
|
+
|
|
5
|
+
The catalog is a curated, synthetic body of engineering discipline. Skills describe methodology; agents are role definitions written for this project's orchestrator. Nothing here is a fork, port, or republication of another project.
|
|
6
|
+
|
|
7
|
+
If, after a good-faith read of any specific skill or agent, you believe it contains copied expression from a third-party work, please open an issue titled `AUTHORS REVIEW` and we will replace that material with original language.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Youcisla Contributors
|
|
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.
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agent-foundry-runtime
|
|
3
|
+
Version: 0.4.0
|
|
4
|
+
Summary: Curated runtime skill orchestrator for AI coding assistants: plan, execute, verify.
|
|
5
|
+
Author: Agent Foundry Contributors
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.10
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
License-File: AUTHORSHIP.md
|
|
11
|
+
Requires-Dist: pydantic>=2.5
|
|
12
|
+
Requires-Dist: click>=8.1
|
|
13
|
+
Requires-Dist: fastapi>=0.110
|
|
14
|
+
Requires-Dist: uvicorn[standard]>=0.27
|
|
15
|
+
Requires-Dist: httpx>=0.27
|
|
16
|
+
Requires-Dist: pyyaml>=6.0
|
|
17
|
+
Requires-Dist: python-frontmatter>=1.0
|
|
18
|
+
Requires-Dist: litellm>=1.40
|
|
19
|
+
Requires-Dist: tomli>=2.0; python_version < "3.11"
|
|
20
|
+
Provides-Extra: semantic
|
|
21
|
+
Requires-Dist: sentence-transformers>=2.7; extra == "semantic"
|
|
22
|
+
Dynamic: license-file
|
|
23
|
+
|
|
24
|
+
<!-- mcp-name: io.github.youcisla/agent-foundry -->
|
|
25
|
+
<div align="center">
|
|
26
|
+
|
|
27
|
+
# Agent Foundry
|
|
28
|
+
|
|
29
|
+
**Skill and agent runtime for AI coding assistants.**
|
|
30
|
+
|
|
31
|
+
Plan → execute → verify. Skills, agents, a local daemon.
|
|
32
|
+
MIT, local, no cloud. 35 original skills, no third-party skill content.
|
|
33
|
+
|
|
34
|
+
<br>
|
|
35
|
+
|
|
36
|
+
[](LICENSE)
|
|
37
|
+
[](CHANGELOG.md)
|
|
38
|
+
[](https://www.python.org)
|
|
39
|
+
[](https://www.npmjs.com/package/@youcisla/agent-foundry)
|
|
40
|
+
[](#catalog)
|
|
41
|
+
[](#catalog)
|
|
42
|
+
[](#quality-gates)
|
|
43
|
+
[](https://github.com/youcisla/Agent-Foundry/blob/main/scripts/nox.sh)
|
|
44
|
+
[](https://youcisla-agents.vercel.app)
|
|
45
|
+
|
|
46
|
+
<br>
|
|
47
|
+
|
|
48
|
+
[**Quick start**](#quick-start) · [**Catalog**](#catalog) · [**Architecture**](#architecture) · [**Commands**](#commands) · [**Web app**](https://youcisla-agents.vercel.app)
|
|
49
|
+
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Why Agent Foundry
|
|
55
|
+
|
|
56
|
+
> Models hallucinate. They over-comment. They reach for `npm install` when
|
|
57
|
+
> you asked for a one-line fix. Agent Foundry steers the model back to the
|
|
58
|
+
> actual work.
|
|
59
|
+
|
|
60
|
+
Three layers:
|
|
61
|
+
|
|
62
|
+
| Layer | What | Lives in |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| **🧠 Skills** | Disciplines the model applies (how to think, not what to know) | `skills/core/<name>/SKILL.md` |
|
|
65
|
+
| **🤖 Agents** | Roles the orchestrator can dispatch (critic, planner, orchestrator) | `agents/af-*/AGENT.md` |
|
|
66
|
+
| **⚙️ Orchestrator** | Local daemon that ranks, dispatches, executes, logs, judges | `agent_foundry/` (Python) |
|
|
67
|
+
|
|
68
|
+
Each layer is portable. A skill body is a plain markdown file with a trigger
|
|
69
|
+
phrase. An agent is a role definition. The orchestrator is a Python package
|
|
70
|
+
you can `pip install` or run from source.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Quick start
|
|
75
|
+
|
|
76
|
+
### 1. Install
|
|
77
|
+
|
|
78
|
+
macOS / Linux / Git Bash:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
curl -fsSL https://raw.githubusercontent.com/youcisla/Agent-Foundry/main/install.sh | bash
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Windows (PowerShell):
|
|
85
|
+
|
|
86
|
+
```powershell
|
|
87
|
+
irm https://raw.githubusercontent.com/youcisla/Agent-Foundry/main/scripts/install.ps1 | iex
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Or from npm (cross-platform, Node 18+):
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npm install -g @youcisla/agent-foundry
|
|
94
|
+
agent-foundry # auto-detect harness and install
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Then set an API key:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
export ANTHROPIC_API_KEY=sk-... # or OPENAI_API_KEY
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### 2. Use it
|
|
104
|
+
|
|
105
|
+
In Claude Code (or any harness that accepts slash commands):
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
/af "build a react component" # plan + execute
|
|
109
|
+
/plan "audit this API" # see which skills match
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Without a harness:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
agent-foundry plan "kill generic AI slop"
|
|
116
|
+
agent-foundry run "refactor the API design"
|
|
117
|
+
agent-foundry doctor
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 3. Or browse first
|
|
121
|
+
|
|
122
|
+
→ **[youcisla-agents.vercel.app](https://youcisla-agents.vercel.app)** has the
|
|
123
|
+
full catalog, an interactive knowledge graph, and one-click install.
|
|
124
|
+
|
|
125
|
+
### 4. Or connect over MCP
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
agent-foundry mcp # stdio MCP server: plan, execute, list_skills, get_skill
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Registered name: `io.github.youcisla/agent-foundry`.
|
|
132
|
+
|
|
133
|
+
### 5. Measure a skill instead of trusting it
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
agent-foundry eval --tasks tasks.json
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Each task runs twice, with and without the skill, and reports the pass-rate
|
|
140
|
+
lift. Task format: `{"id", "prompt", "skill", "verify"}` where `verify` is a
|
|
141
|
+
shell command that receives the output on stdin. The layout matches
|
|
142
|
+
SkillsBench v1.1 (`benchflow/skillsbench`), so published benchmarks can be
|
|
143
|
+
reused.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Architecture
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
Your prompt (/af build a react component)
|
|
151
|
+
└─▶ Agent Foundry daemon
|
|
152
|
+
└─▶ planner · rank_skills
|
|
153
|
+
└─▶ executor · LiteLLM ⇄ LLM provider (Claude, OpenAI, …)
|
|
154
|
+
└─▶ SQLite · executions.db
|
|
155
|
+
└─▶ Response to user
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
> Interactive versions of every diagram live on the site:
|
|
159
|
+
> **[/graph](https://youcisla-agents.vercel.app/graph)** (knowledge graph + orchestration) and **[/audit](https://youcisla-agents.vercel.app/audit)**.
|
|
160
|
+
|
|
161
|
+
### What's in the box
|
|
162
|
+
|
|
163
|
+
```text
|
|
164
|
+
skills/ 35 disciplines (25 core + 10 optional) ─┐ feed
|
|
165
|
+
agents/ af-planner · af-critic · af-orchestrator │ the
|
|
166
|
+
▼ indexer
|
|
167
|
+
agent_foundry/ config.py ─▶ daemon.py (FastAPI)
|
|
168
|
+
indexer.py ─▶ planner.py ─▶ loop.py ⇄ executor.py
|
|
169
|
+
loop.py ─▶ judge.py (af-critic) ─▶ logging_db.py
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
The daemon is lazy-started by the CLI, so there is no systemd/launchd requirement.
|
|
173
|
+
Everything runs locally. Your data stays in `~/.config/agent-foundry/executions.db`.
|
|
174
|
+
|
|
175
|
+
### The loop, end to end
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
1. user → run_loop : /af "kill generic AI slop"
|
|
179
|
+
2. run_loop → planner : rank_skills(prompt, index)
|
|
180
|
+
3. planner → run_loop : top match (e.g. anti-slop, 0.24)
|
|
181
|
+
4. run_loop → run_loop : budget guard
|
|
182
|
+
5. run_loop → executor : build_messages(prompt, body)
|
|
183
|
+
6. executor → LiteLLM : POST /v1/messages
|
|
184
|
+
7. LiteLLM → executor : response text
|
|
185
|
+
8. executor → run_loop : response + cost
|
|
186
|
+
9. (judge=true) run_loop → af-critic : score → {corr, slop, scope, verdict}
|
|
187
|
+
10. run_loop → SQLite : log_execution(...)
|
|
188
|
+
11. run_loop → user : LoopResponse {output, plan, judge_score?}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Catalog
|
|
194
|
+
|
|
195
|
+
**35 skills, 3 agents.** All original work under MIT. Each skill:
|
|
196
|
+
|
|
197
|
+
- 📏 **≤150 lines / ≤8 KB** (Codex cap, no exceptions)
|
|
198
|
+
- 🎯 **Exactly one trigger phrase** (`Use when...` so the model knows when to fire)
|
|
199
|
+
- 🚫 **Anti-patterns + Verification checklist** (teach what *not* to do, then confirm it was done)
|
|
200
|
+
- ⚡ **Action verbs, not tool names** (`examine` not `Read`, `create` not `Write`)
|
|
201
|
+
|
|
202
|
+
### Core skills (25)
|
|
203
|
+
|
|
204
|
+
| Skill | Trigger |
|
|
205
|
+
|---|---|
|
|
206
|
+
| [`anti-slop`](skills/core/anti-slop/SKILL.md) | Kill generic AI patterns before they ship |
|
|
207
|
+
| [`api-design`](skills/core/api-design/SKILL.md) | Use when creating a new API endpoint or reviewing API consistency |
|
|
208
|
+
| [`automation-pick`](skills/core/automation-pick/SKILL.md) | Decide whether to automate a task before automating |
|
|
209
|
+
| [`bottleneck-gating`](skills/core/bottleneck-gating/SKILL.md) | Phase a project by measured bottleneck, not intuition |
|
|
210
|
+
| [`constraint-then-solve`](skills/core/constraint-then-solve/SKILL.md) | Restate the problem, catalog constraints, then solve |
|
|
211
|
+
| [`context-optimization`](skills/core/context-optimization/SKILL.md) | Use on any task with >2K-token outputs, big files, or repeated reads |
|
|
212
|
+
| [`cron-troubleshoot`](skills/core/cron-troubleshoot/SKILL.md) | Debug a missing or wrong cron job |
|
|
213
|
+
| [`e2e-test-strategy`](skills/core/e2e-test-strategy/SKILL.md) | Use when designing test coverage for a web app or API |
|
|
214
|
+
| [`engram-routing`](skills/core/engram-routing/SKILL.md) | Route prompts via O(1) N-gram lookup when trigger patterns should match fast |
|
|
215
|
+
| [`feedback-loop`](skills/core/feedback-loop/SKILL.md) | After shipping, instrument → measure → iterate |
|
|
216
|
+
| [`knowledge-extract`](skills/core/knowledge-extract/SKILL.md) | Turn a session into a skill draft |
|
|
217
|
+
| [`landscape-first`](skills/core/landscape-first/SKILL.md) | Research the space before building |
|
|
218
|
+
| [`measure-first`](skills/core/measure-first/SKILL.md) | Use when about to optimize, refactor, or claim a system is slow |
|
|
219
|
+
| [`plan-before-code`](skills/core/plan-before-code/SKILL.md) | Use before writing any non-trivial code change |
|
|
220
|
+
| [`plan-then-act`](skills/core/plan-then-act/SKILL.md) | Use when a task has multiple steps and the order matters |
|
|
221
|
+
| [`prompt-discipline`](skills/core/prompt-discipline/SKILL.md) | Use on every non-trivial task: think, simplify, edit surgical, stay goal-driven |
|
|
222
|
+
| [`pushback-when-wrong`](skills/core/pushback-when-wrong/SKILL.md) | Use when reviewing an assertion that smells off |
|
|
223
|
+
| [`quality-protocol`](skills/core/quality-protocol/SKILL.md) | Use before declaring a task complete |
|
|
224
|
+
| [`re-verify-findings`](skills/core/re-verify-findings/SKILL.md) | Use after any prior verification claimed a finding |
|
|
225
|
+
| [`read-before-build`](skills/core/read-before-build/SKILL.md) | Read source files before writing code |
|
|
226
|
+
| [`session-closeout`](skills/core/session-closeout/SKILL.md) | Apply at the end of any multi-step project |
|
|
227
|
+
| [`session-distill`](skills/core/session-distill/SKILL.md) | Extract patterns from every session |
|
|
228
|
+
| [`show-your-work`](skills/core/show-your-work/SKILL.md) | Output a thinking trace after complex tasks |
|
|
229
|
+
| [`verify-first`](skills/core/verify-first/SKILL.md) | Apply before committing to any claim |
|
|
230
|
+
| [`workflow-decompose`](skills/core/workflow-decompose/SKILL.md) | Use when designing or debugging an automation |
|
|
231
|
+
|
|
232
|
+
### Optional skills (10)
|
|
233
|
+
|
|
234
|
+
| Skill | Trigger |
|
|
235
|
+
|---|---|
|
|
236
|
+
| [`persistent-memory`](skills/optional/persistent-memory/SKILL.md) | Use when persisting context across sessions or threading memory across agents |
|
|
237
|
+
| [`token-compression`](skills/optional/token-compression/SKILL.md) | Compress tool outputs before they consume context |
|
|
238
|
+
| [`chrome-devtools-mcp-bridge`](skills/optional/chrome-devtools-mcp-bridge/SKILL.md) | Drive Chrome DevTools from an agent |
|
|
239
|
+
| [`design-language`](skills/optional/design-language/SKILL.md) | Apply Apple-grade UI polish |
|
|
240
|
+
| [`funnel-pr-guard`](skills/optional/funnel-pr-guard/SKILL.md) | Guard conversion-critical paths from breaking |
|
|
241
|
+
| [`sql-migration-trio`](skills/optional/sql-migration-trio/SKILL.md) | Three-file migration pattern (up/down/schema) |
|
|
242
|
+
| [`agent-memory-vault`](skills/optional/agent-memory-vault/SKILL.md) | Shared structured memory that survives agent sessions |
|
|
243
|
+
| [`agent-team-standards`](skills/optional/agent-team-standards/SKILL.md) | Per-project locked agent skill set with version pins |
|
|
244
|
+
| [`autonomous-briefing`](skills/optional/autonomous-briefing/SKILL.md) | Run a fully autonomous morning briefing |
|
|
245
|
+
| [`book-to-skill`](skills/optional/book-to-skill/SKILL.md) | Convert book chapters or long articles into a runnable skill |
|
|
246
|
+
|
|
247
|
+
### Agents (3)
|
|
248
|
+
|
|
249
|
+
| Agent | Model | Job |
|
|
250
|
+
|---|---|---|
|
|
251
|
+
| [`af-critic`](agents/af-critic/AGENT.md) | `opus` | Score output on correctness, slop, scope. Returns JSON. |
|
|
252
|
+
| [`af-planner`](agents/af-planner/AGENT.md) | `opus` | Decompose a request into a skill/agent plan. Returns JSON. |
|
|
253
|
+
| [`af-orchestrator`](agents/af-orchestrator/AGENT.md) | `opus` | Dispatch subtasks to specialized agents and skills, then merge results. |
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Commands
|
|
258
|
+
|
|
259
|
+
| Command | What it does |
|
|
260
|
+
|---|---|
|
|
261
|
+
| `agent-foundry plan "<prompt>"` | Rank skills for a prompt |
|
|
262
|
+
| `agent-foundry run "<prompt>"` | Plan + execute the top-ranked skill |
|
|
263
|
+
| `agent-foundry resume <session_id> "<prompt>"` | Continue a loop session with a follow-up |
|
|
264
|
+
| `agent-foundry session <session_id>` | Inspect a stored loop session |
|
|
265
|
+
| `agent-foundry execute <skill_id> "<prompt>"` | Run a specific skill |
|
|
266
|
+
| `agent-foundry doctor` | Health-check: config, index, daemon, API key |
|
|
267
|
+
| `agent-foundry status` | Routing accuracy, fallback rate, average cost |
|
|
268
|
+
| `agent-foundry consult "<need>"` | Recommend skills for a need |
|
|
269
|
+
| `agent-foundry cost-report` | Token and time estimates per skill |
|
|
270
|
+
| `agent-foundry index` | Rebuild the skill index from disk |
|
|
271
|
+
| `agent-foundry browse` | Browse/search the catalog, or `--read <id>` |
|
|
272
|
+
| `agent-foundry mcp` | Start the MCP stdio server (plan/execute/list_skills/get_skill) |
|
|
273
|
+
| `agent-foundry eval --tasks <file>` | Paired skill eval: with vs without, reports lift |
|
|
274
|
+
| `agent-foundry serve` | Start the daemon (lazy-started on first command) |
|
|
275
|
+
|
|
276
|
+
Every command also has an HTTP endpoint on the daemon (`/plan`, `/execute`, `/loop`, `/loop/resume`, `/loop/{id}`, `/index`, `/health`) for programmatic use.
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Install profiles
|
|
281
|
+
|
|
282
|
+
The shell installer takes a profile:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
AF_PROFILE=minimal ./install.sh # Skills only (no daemon)
|
|
286
|
+
AF_PROFILE=core ./install.sh # Skills + daemon (default)
|
|
287
|
+
AF_PROFILE=full ./install.sh # Skills + daemon + hooks
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Run from source (any OS):
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
git clone https://github.com/youcisla/Agent-Foundry.git ~/.agent-foundry
|
|
294
|
+
cd ~/.agent-foundry && pip install -e .
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
See [INSTALL.md](INSTALL.md) for the full matrix of harnesses, profiles, and platforms.
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Requirements
|
|
302
|
+
|
|
303
|
+
- **Python 3.10+** (for the daemon) or **Node 18+** (for the cross-platform installer)
|
|
304
|
+
- macOS, Linux, or Windows
|
|
305
|
+
- A supported harness: Claude Code, Codex, Gemini, Hermes, OpenCode, or any of the 13 adapters
|
|
306
|
+
- An API key (Anthropic, OpenAI, or any provider LiteLLM supports)
|
|
307
|
+
- ~50 MB disk for the catalog and generated index
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Quality gates
|
|
312
|
+
|
|
313
|
+
Every commit runs three gates. **All green right now.**
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
# 34 assets pass static quality checks (trigger phrase, body size, anti-patterns)
|
|
317
|
+
python scripts/foundry-eval.py
|
|
318
|
+
|
|
319
|
+
# All skills have correct frontmatter (name, description, version, author)
|
|
320
|
+
./scripts/validate.sh
|
|
321
|
+
|
|
322
|
+
# No external-reference names in tracked files (provenance gate)
|
|
323
|
+
bash scripts/nox.sh
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
**Current:**
|
|
327
|
+
|
|
328
|
+
| Gate | Result |
|
|
329
|
+
|---|---|
|
|
330
|
+
| `foundry-eval.py` | **34 passed, 0 failed** ✅ |
|
|
331
|
+
| `validate.sh` | **35 skills, 0 failed** ✅ |
|
|
332
|
+
| `nox.sh` | **0 external references** ✅ |
|
|
333
|
+
|
|
334
|
+
The `nox.sh` gate is the strongest guarantee: it scans every tracked file for
|
|
335
|
+
project-handle names so that the catalog stays original work.
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## Web app
|
|
340
|
+
|
|
341
|
+
Browse the catalog, the knowledge graph, and the audit at
|
|
342
|
+
**[youcisla-agents.vercel.app](https://youcisla-agents.vercel.app)**:
|
|
343
|
+
|
|
344
|
+
| Page | What |
|
|
345
|
+
|---|---|
|
|
346
|
+
| [Catalog](https://youcisla-agents.vercel.app/catalog) | All 35 skills + 3 agents with live search |
|
|
347
|
+
| [Graph](https://youcisla-agents.vercel.app/graph) | Interactive React Flow knowledge graph (555 nodes, 898 edges, 54 communities) |
|
|
348
|
+
| [Audit](https://youcisla-agents.vercel.app/audit) | God nodes, surprising connections, interactive React Flow diagrams |
|
|
349
|
+
|
|
350
|
+
The site regenerates from live repo state on every commit via
|
|
351
|
+
`scripts/gen-site-data.py` → Vercel build → deploy.
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## Roadmap
|
|
356
|
+
|
|
357
|
+
| Status | Item |
|
|
358
|
+
|---|---|
|
|
359
|
+
| ✅ v0.1 | Python package + FastAPI daemon + Claude Code plugin |
|
|
360
|
+
| ✅ v0.2 | Foundational audit, frozen Config, multi-page web app, knowledge graph, interactive React Flow diagrams |
|
|
361
|
+
| ✅ v0.3 | npm package, Engram O(1) routing, af-orchestrator agent, 13 harness adapters (3 tested) |
|
|
362
|
+
| 📋 v0.4 | `af verify` signed-manifest integrity |
|
|
363
|
+
|
|
364
|
+
See [docs/launch-plan.md](docs/launch-plan.md) for the full design spec.
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## License
|
|
369
|
+
|
|
370
|
+
**MIT.** All skills, agents, and authored artifacts are original work by
|
|
371
|
+
the Agent Foundry Contributors. See [AUTHORSHIP.md](AUTHORSHIP.md) for
|
|
372
|
+
the attribution policy.
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
376
|
+
<div align="center">
|
|
377
|
+
|
|
378
|
+
Built by [Youcisla](https://github.com/youcisla) ·
|
|
379
|
+
[Contribute](CONTRIBUTING.md) ·
|
|
380
|
+
[Report an issue](https://github.com/youcisla/Agent-Foundry/issues)
|
|
381
|
+
|
|
382
|
+
</div>
|