@mestreyoda/fabrica 0.1.21 → 0.2.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/README.md +1 -41
- package/dist/index.js +1687 -5491
- package/dist/index.js.map +4 -4
- package/fabrica.manifest.json +0 -1
- package/genesis/scripts/create-task.sh +20 -20
- package/genesis/scripts/genesis-utils.sh +15 -13
- package/genesis/scripts/register-project.sh +20 -20
- package/genesis/scripts/sideband-lib.sh +1 -1
- package/genesis/scripts/triage.sh +19 -19
- package/package.json +1 -3
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ The heartbeat ticks every 60 seconds. On each tick, Fabrica alternates between a
|
|
|
41
41
|
- **Zero-intervention pipeline** — from idea to merged PR without manual steps
|
|
42
42
|
- **Deterministic FSM** — every transition is explicit; states are `planning → todo → doing → toReview → toTest → done` (+ `refining`, `toImprove`, `rejected`)
|
|
43
43
|
- **Pluggable AI workers** — each role (developer, reviewer, tester, architect) maps to a configurable model and level
|
|
44
|
-
- **Polling-first GitHub integration** — no webhook infrastructure
|
|
44
|
+
- **Polling-first GitHub integration** — uses `gh` CLI for all GitHub operations; no webhook infrastructure or GitHub App required
|
|
45
45
|
- **Telegram bootstrap** (optional) — describe a new project via DM; Fabrica asks clarifying questions and provisions the repo automatically
|
|
46
46
|
- **Programmatic genesis** — trigger the full pipeline from a CLI script without Telegram
|
|
47
47
|
- **Observability built-in** — audit log, metrics subcommand, heartbeat health checks, and OpenTelemetry tracing
|
|
@@ -188,46 +188,6 @@ Telegram enables DM-based project bootstrap and per-project forum topic notifica
|
|
|
188
188
|
|
|
189
189
|
With Telegram enabled, send a project idea to the bot in a DM. Fabrica will ask clarifying questions, provision the GitHub repo, and create a dedicated forum topic for the project. All subsequent worker updates, review results, and the final merge notification appear in that topic.
|
|
190
190
|
|
|
191
|
-
### With GitHub App (advanced)
|
|
192
|
-
|
|
193
|
-
A GitHub App enables webhook-driven PR state updates, reducing polling latency. This is optional; polling works out of the box.
|
|
194
|
-
|
|
195
|
-
```json
|
|
196
|
-
{
|
|
197
|
-
"plugins": {
|
|
198
|
-
"entries": {
|
|
199
|
-
"fabrica": {
|
|
200
|
-
"config": {
|
|
201
|
-
"providers": {
|
|
202
|
-
"github": {
|
|
203
|
-
"webhookPath": "/plugins/fabrica/github/webhook",
|
|
204
|
-
"webhookSecretPath": "<PATH_TO_WEBHOOK_SECRET_FILE>",
|
|
205
|
-
"defaultAuthProfile": "main",
|
|
206
|
-
"authProfiles": {
|
|
207
|
-
"main": {
|
|
208
|
-
"mode": "github-app",
|
|
209
|
-
"appId": "<YOUR_APP_ID>",
|
|
210
|
-
"privateKeyPath": "<PATH_TO_APP_PRIVATE_KEY_PEM>"
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Store credential files outside the repository (e.g., `~/.openclaw/credentials/`). Verify the webhook route is reachable:
|
|
223
|
-
|
|
224
|
-
```bash
|
|
225
|
-
curl -i -X POST http://127.0.0.1:18789/plugins/fabrica/github/webhook \
|
|
226
|
-
-H 'Content-Type: application/json' \
|
|
227
|
-
-d '{}'
|
|
228
|
-
# Expected: 400 {"ok":false,"reason":"missing_headers"}
|
|
229
|
-
```
|
|
230
|
-
|
|
231
191
|
## Programmatic genesis
|
|
232
192
|
|
|
233
193
|
In addition to Telegram DM bootstrap, the full pipeline can be triggered from a CLI script — no Telegram or running agent session required:
|