facult 2.1.1 → 2.1.2

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.
Files changed (2) hide show
  1. package/README.md +31 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -18,6 +18,10 @@
18
18
  </a>
19
19
  </div>
20
20
 
21
+ <p align="center">
22
+ <img alt="fclt demo" src="./Ghostty.gif">
23
+ </p>
24
+
21
25
  `fclt` is a CLI for building and evolving AI faculties across tools, users, and projects.
22
26
 
23
27
  Most AI tooling manages files. `fclt` manages faculties: the instructions, snippets, templates, skills, agents, rules, and learning loops that should compound, improve, and survive the next session.
@@ -88,6 +92,12 @@ That means:
88
92
  - builtin agents sync into tool agent directories when the tool supports agents
89
93
  - if you do not author your own `AGENTS.global.md`, `fclt` renders a builtin global baseline doc into tool-native global docs
90
94
 
95
+ The activation point is managed mode:
96
+ - until you run `fclt manage <tool>`, the builtin operating-model layer is just packaged capability
97
+ - once a tool is managed, the default operating-model layer becomes live for that tool automatically
98
+ - for Codex, Claude, and Cursor, that means the core global doc surface plus the bundled writeback/evolution agents and skills are what agents actually see on disk
99
+ - this is why the normal setup step is to manage the tools you care about first, then sync
100
+
91
101
  This is intentionally virtual at the canonical level:
92
102
  - builtin defaults remain part of the packaged tool
93
103
  - your personal `~/.ai` stays clean unless you explicitly vendor or override something
@@ -95,6 +105,12 @@ This is intentionally virtual at the canonical level:
95
105
 
96
106
  In practice, this means the system is meant to learn by default. The CLI is there when you want to operate it directly, but the default skills, agents, and global docs are supposed to make writeback and evolution available without ceremony.
97
107
 
108
+ More concretely:
109
+ - the normal path is not a human manually typing `fclt ai ...` after every task
110
+ - the bundled operating-model layer is meant to instruct synced agents and skills to notice reusable signal, preserve it, and push it toward writeback/evolution
111
+ - the CLI remains the explicit operator surface for inspection, review, cleanup, and controlled apply
112
+ - the generated state under `.ai/.facult/` gives those agents a durable thread of what was learned, when it was learned, what asset it pointed at, and what proposals or reviews happened afterward
113
+
98
114
  If you want to disable the builtin default layer for a specific global or project canonical root:
99
115
 
100
116
  ```toml
@@ -157,6 +173,12 @@ This makes it possible to answer:
157
173
  Writeback is the act of recording that signal in a structured way.
158
174
  Evolution is the act of grouping that signal into reviewable proposals and applying it back into canonical assets.
159
175
 
176
+ The intended workflow is agent-driven by default:
177
+ - synced global docs, agents, and skills should push your tooling toward creating writebacks when something important was learned
178
+ - specialist agents such as `writeback-curator`, `evolution-planner`, and `scope-promoter` are there to help turn that signal into cleaner proposals and scope decisions
179
+ - the CLI is what you use when you want to inspect, override, review, reject, apply, or otherwise operate the system directly
180
+ - the point is not a new UI. The point is that the operating layer itself can accumulate memory and context across tasks, sessions, and tools
181
+
160
182
  This matters because otherwise the same problems repeat in chat without ever improving the actual operating layer. With `fclt`, you can:
161
183
  - record a weak verification pattern
162
184
  - group repeated writebacks around an instruction or agent
@@ -297,6 +319,8 @@ fclt sync
297
319
  ```
298
320
 
299
321
  At this point, your selected skills are actively synced to all managed tools.
322
+ This is also the point where the default operating-model layer becomes active for those tools. If you manage Codex or Claude, the bundled learning/writeback/evolution guidance is no longer just discoverable in `fclt`; it is rendered into the managed global doc surface and synced alongside the bundled agents and skills.
323
+
300
324
  If you run these commands from inside a repo that has `<repo>/.ai`, `facult` targets the project-local canonical store and repo-local tool outputs by default.
301
325
  On first entry to managed mode, use `--dry-run` first if the live tool already has local content. `facult` will show what it would adopt into the active canonical store across skills, agents, docs, rules, config, and MCP, plus any conflicts. Then rerun with `--adopt-existing`; if names or files collide, add `--existing-conflicts keep-canonical` or `--existing-conflicts keep-existing`.
302
326
  For builtin-backed rendered defaults, `facult` now tracks the last managed render hash. If a user edits the generated target locally, normal sync warns and preserves that local edit instead of silently overwriting it. To replace the local edit with the latest packaged builtin default, rerun sync with `--builtin-conflicts overwrite`.
@@ -522,6 +546,7 @@ Runtime state stays generated and local inside the active canonical root:
522
546
  That split is intentional:
523
547
  - canonical source remains in `~/.ai` or `<repo>/.ai`
524
548
  - writeback queues, journals, proposal records, trust state, autosync state, and other Facult-owned runtime/config state stay inside `.ai/.facult/` rather than inside the tool homes
549
+ - those records create a historical thread agents can inspect over time: what changed, what triggered it, which asset it pointed at, what proposal was drafted, how it was reviewed, and whether it was applied or rejected
525
550
 
526
551
  Use writeback when:
527
552
  - a task exposed a weak or misleading verification loop
@@ -533,6 +558,12 @@ Do not think of writeback as “taking notes.” Think of it as preserving signa
533
558
 
534
559
  For many users, the normal entrypoint is not the CLI directly. The builtin operating-model layer is designed so synced agents, skills, and global docs can push the system toward writeback and evolution by default, while the `fclt ai ...` commands remain the explicit operator surface when you want direct control.
535
560
 
561
+ In other words:
562
+ - agents should be the ones noticing friction and capturing it
563
+ - skills should be the ones teaching when writeback or evolution is warranted
564
+ - proposal history should give future agents enough context to understand why a rule, instruction, or prompt changed
565
+ - you drop to the CLI when you want to inspect the thread, steer it, or make the final call
566
+
536
567
  Current apply semantics are intentionally policy-bound:
537
568
  - targets are resolved through the generated graph when possible and fall back to canonical ref resolution for missing assets
538
569
  - apply is limited to markdown canonical assets
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "facult",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "description": "Manage canonical AI capabilities, sync surfaces, and evolution state.",
5
5
  "type": "module",
6
6
  "license": "MIT",