@fractary/faber 1.1.0 → 1.2.1

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 DELETED
@@ -1,263 +0,0 @@
1
- # @fractary/faber
2
-
3
- > AI-native workflow automation that runs in production
4
-
5
- [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6
- [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](package.json)
7
- [![TypeScript](https://img.shields.io/badge/typescript-5.3.3-blue)](https://www.typescriptlang.org/)
8
-
9
- ## What is FABER?
10
-
11
- **FABER enables AI agents to do meaningful work autonomously while knowing exactly when to involve humans.**
12
-
13
- Unlike simple automation tools that chain API calls, FABER orchestrates AI agents that actually reason about your work. Unlike raw AI frameworks, FABER provides the guardrails enterprises need to deploy with confidence.
14
-
15
- ```
16
- From issue to PR, autonomously.
17
- ```
18
-
19
- ### The Problem
20
-
21
- | Approach | What Happens |
22
- |----------|--------------|
23
- | **Deterministic Automation** (Zapier, Make) | Works for simple tasks, breaks when reasoning is required |
24
- | **Raw AI Agents** (LangGraph, AutoGen) | Powerful but unpredictable—enterprises won't adopt |
25
- | **AI + Approve Everything** | Human becomes the bottleneck, defeats the purpose |
26
-
27
- ### The FABER Solution
28
-
29
- FABER takes a different approach: **AI operates autonomously within defined boundaries, escalates intelligently when boundaries are approached.**
30
-
31
- - **Structural Guardrails**: The FABER methodology (Frame → Architect → Build → Evaluate → Release) prevents chaos through process
32
- - **Boundary Guardrails**: Hard limits the AI cannot cross (production deploys, cost thresholds)
33
- - **Intelligent Guardrails**: AI reasons about its own confidence and risk, deciding when to proceed vs. escalate
34
-
35
- The result: 90% autonomous operation, 10% human involvement—focused on decisions that actually matter.
36
-
37
- ## Who is FABER For?
38
-
39
- ### Development Teams
40
- Automate complex development tasks—from understanding an issue to shipping a PR. Focus on interesting problems while AI handles the routine work.
41
-
42
- ### Technical Operations
43
- Automated incident response, deployment pipelines, and infrastructure changes with human oversight on critical decisions.
44
-
45
- ### Platform Engineers
46
- Build AI-powered workflows that your entire organization can use, with the safety and observability enterprises require.
47
-
48
- ## Key Concepts
49
-
50
- ### The FABER Methodology
51
-
52
- Every workflow follows five phases:
53
-
54
- | Phase | Purpose |
55
- |-------|---------|
56
- | **Frame** | Understand the problem before acting |
57
- | **Architect** | Plan the approach before building |
58
- | **Build** | Implement to specification |
59
- | **Evaluate** | Validate before shipping |
60
- | **Release** | Controlled delivery |
61
-
62
- ### Earned Autonomy
63
-
64
- Trust is earned, not assumed:
65
-
66
- 1. **Day 1**: Conservative—more human checkpoints
67
- 2. **Week 4**: Established patterns—less intervention needed
68
- 3. **Month 6**: Mature—90% autonomous, 10% escalation
69
-
70
- ### Autonomy Levels
71
-
72
- | Level | Description |
73
- |-------|-------------|
74
- | `dry-run` | Preview changes without executing |
75
- | `assisted` | Pause for user confirmation at each step |
76
- | `guarded` | Confirm destructive operations only |
77
- | `autonomous` | Execute within established boundaries |
78
-
79
- ## Installation
80
-
81
- ```bash
82
- npm install @fractary/faber
83
- ```
84
-
85
- ## Quick Start
86
-
87
- ```typescript
88
- import { FaberWorkflow } from '@fractary/faber';
89
-
90
- // Run a complete FABER workflow
91
- const workflow = new FaberWorkflow();
92
- const result = await workflow.run({
93
- workId: '123',
94
- autonomy: 'assisted'
95
- });
96
- ```
97
-
98
- Or use the CLI:
99
-
100
- ```bash
101
- # Run workflow for issue #123
102
- faber run 123 --autonomy assisted
103
-
104
- # Check status
105
- faber status <workflow-id>
106
- ```
107
-
108
- ## SDK Modules
109
-
110
- The FABER SDK provides modular primitives for building AI-powered workflows:
111
-
112
- | Module | Purpose | Import |
113
- |--------|---------|--------|
114
- | **Work** | Issue tracking (GitHub, Jira, Linear) | `@fractary/faber/work` |
115
- | **Repo** | Git & PRs (GitHub, GitLab, Bitbucket) | `@fractary/faber/repo` |
116
- | **Spec** | Specification management | `@fractary/faber/spec` |
117
- | **State** | Workflow persistence & checkpoints | `@fractary/faber/state` |
118
- | **Logs** | Session capture & audit trails | `@fractary/faber/logs` |
119
- | **Storage** | Artifact storage with Codex integration | `@fractary/faber/storage` |
120
- | **Workflow** | Full FABER orchestration | `@fractary/faber/workflow` |
121
-
122
- ### Work Module
123
-
124
- ```typescript
125
- import { WorkManager } from '@fractary/faber/work';
126
-
127
- const work = new WorkManager();
128
- const issue = await work.fetchIssue(123);
129
- await work.createComment(123, 'Starting implementation');
130
- const workType = await work.classifyWorkType(issue); // 'feature' | 'bug' | 'chore'
131
- ```
132
-
133
- ### Repo Module
134
-
135
- ```typescript
136
- import { RepoManager } from '@fractary/faber/repo';
137
-
138
- const repo = new RepoManager();
139
- await repo.createBranch('feature/add-export', { base: 'main' });
140
- await repo.createPR({ title: 'Add export feature', head: 'feature/add-export' });
141
- await repo.commit({ message: 'Add feature', type: 'feat' });
142
- ```
143
-
144
- ### Workflow Module
145
-
146
- ```typescript
147
- import { FaberWorkflow } from '@fractary/faber/workflow';
148
-
149
- const faber = new FaberWorkflow({
150
- config: {
151
- autonomy: 'guarded',
152
- phases: {
153
- frame: { enabled: true },
154
- architect: { enabled: true, refineSpec: true },
155
- build: { enabled: true },
156
- evaluate: { enabled: true, maxRetries: 3 },
157
- release: { enabled: true, requestReviews: true },
158
- },
159
- },
160
- });
161
-
162
- // Event handling
163
- faber.addEventListener((event, data) => {
164
- console.log(`${event}:`, data);
165
- });
166
-
167
- // Run workflow
168
- const result = await faber.run({ workId: '123' });
169
- ```
170
-
171
- ## CLI Commands
172
-
173
- ```bash
174
- # Workflow
175
- faber run <issue> [--autonomy <level>]
176
- faber status <workflow-id>
177
- faber resume <workflow-id>
178
-
179
- # Work tracking
180
- faber work fetch <issue>
181
- faber work create --title "Feature" --type feature
182
- faber work comment <issue> --body "Update"
183
-
184
- # Repository
185
- faber repo branch create <name>
186
- faber repo pr create --title "Title" --head <branch>
187
- faber repo commit --message "Message" --type feat
188
-
189
- # Specifications
190
- faber spec create "Title" --template feature
191
- faber spec validate <spec-id>
192
- faber spec refine <spec-id>
193
- ```
194
-
195
- ## Configuration
196
-
197
- Configuration is stored in `.fractary/plugins/{module}/config.json`:
198
-
199
- ```
200
- .fractary/
201
- └── plugins/
202
- ├── work/config.json
203
- ├── repo/config.json
204
- └── ...
205
- ```
206
-
207
- Example work configuration:
208
-
209
- ```json
210
- {
211
- "platform": "github",
212
- "owner": "your-org",
213
- "repo": "your-repo"
214
- }
215
- ```
216
-
217
- ## Platform Support
218
-
219
- | Platform | Work Tracking | Repository |
220
- |----------|--------------|------------|
221
- | GitHub | Full | Full |
222
- | Jira | Planned | - |
223
- | Linear | Planned | - |
224
- | GitLab | - | Planned |
225
- | Bitbucket | - | Planned |
226
-
227
- ## Documentation
228
-
229
- | Document | Description |
230
- |----------|-------------|
231
- | [Vision](docs/vision/FABER-VISION.md) | Mission, philosophy, and strategic positioning |
232
- | [SDK Architecture](specs/SPEC-00016-sdk-architecture.md) | Technical architecture overview |
233
- | [LangGraph Integration](specs/SPEC-00025-langgraph-integration.md) | Graph-based workflow orchestration |
234
- | [Intelligent Guardrails](specs/SPEC-00028-intelligent-guardrails.md) | Confidence-based autonomy system |
235
- | [Multi-Workflow Orchestration](specs/SPEC-00027-multi-workflow-orchestration.md) | DAC foundation |
236
-
237
- ## Type Exports
238
-
239
- All types are exported for TypeScript consumers:
240
-
241
- ```typescript
242
- import type {
243
- // Workflow
244
- WorkflowConfig, WorkflowResult, PhaseResult, FaberPhase, AutonomyLevel,
245
-
246
- // Work
247
- Issue, IssueCreateOptions, Comment, Label, WorkType,
248
-
249
- // Repo
250
- PullRequest, PRCreateOptions, Branch, BranchCreateOptions,
251
-
252
- // Spec
253
- Specification, SpecTemplate, ValidationResult,
254
- } from '@fractary/faber';
255
- ```
256
-
257
- ## License
258
-
259
- MIT - see [LICENSE](LICENSE) for details.
260
-
261
- ---
262
-
263
- **Part of the [Fractary](https://fractary.dev) Ecosystem**