facult 1.3.0 → 2.1.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 CHANGED
@@ -1,4 +1,4 @@
1
- # facult
1
+ # fclt
2
2
 
3
3
  <div align="center">
4
4
  <a aria-label="NPM version" href="https://www.npmjs.com/package/facult">
@@ -15,34 +15,41 @@
15
15
  </a>
16
16
  </div>
17
17
 
18
- `facult` is a CLI for managing canonical AI capability across tools, users, and projects.
18
+ `fclt` is a CLI for building and evolving AI faculties across tools, users, and projects.
19
+
20
+ 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.
19
21
 
20
22
  It helps you:
21
- - discover what is installed on your machine
22
- - consolidate everything into one canonical store
23
- - review trust/security before installing remote content
24
- - sync managed outputs into Codex, Cursor, and Claude
25
- - manage a git-backed AI store under `~/.ai` and repo-local `.ai/`
26
- - model relationships between instructions, snippets, agents, skills, and rendered tool outputs
23
+ - turn repeated friction into reusable capability
27
24
  - preserve learning through writeback and evolve canonical assets over time
25
+ - consolidate AI behavior into one canonical store
26
+ - compose prompts, agents, skills, and tool outputs from reusable snippets and templates
27
+ - discover what exists, what depends on what, and what should change next
28
+ - sync managed outputs into Codex, Cursor, and Claude
29
+ - review trust/security before installing remote content
30
+ - keep that operating layer in a git-backed store under `~/.ai` and repo-local `.ai/`
31
+
32
+ ## What fclt Is
33
+
34
+ If your agent setup feels scattered, `fclt` gives it memory, structure, and a way to improve.
28
35
 
29
- ## What facult Is
36
+ A faculty is a reusable piece of AI behavior: an instruction, snippet, template, skill, agent, rule, or learned improvement that you want to keep around and make better.
30
37
 
31
- If your agent setup feels scattered (`~/.codex`, `~/.agents`, tool-specific MCP JSON/TOML), `facult` gives you one place to manage it safely.
38
+ That matters because a lot of useful AI behavior is compositional. You want small reusable blocks, a clean way to assemble them into bigger prompts and operating layers, and a safe way to render the final tool-native outputs without losing the source structure.
32
39
 
33
40
  Think of it as:
34
- - inventory + auditing for agent assets
35
- - package manager interface for skill/MCP catalogs
36
- - sync layer that applies your chosen setup to each tool
37
- - canonical source manager for global and project AI instructions, snippets, agents, skills, tool configs, and rules
38
- - a local capability graph for discovering what exists and what depends on what
41
+ - a canonical home for your AI faculties
42
+ - a composition system for snippets, templates, and rendered AI behavior
43
+ - a sync layer for projecting them into real tools
44
+ - a discovery graph for seeing what exists and what depends on what
39
45
  - a writeback/evolution loop for turning repeated friction into durable improvements
46
+ - an inventory and trust boundary for the assets you let into the system
40
47
 
41
- ## What facult Does
48
+ ## What fclt Does
42
49
 
43
- `facult` is not just a skill manager.
50
+ `fclt` is not a skills folder with a nicer CLI.
44
51
 
45
- It provides five connected layers:
52
+ It works as five connected layers:
46
53
 
47
54
  1. Canonical source
48
55
  - global capability in `~/.ai`
@@ -65,7 +72,7 @@ It provides five connected layers:
65
72
 
66
73
  ## Default Operating Model
67
74
 
68
- `facult` ships with a built-in Facult operating-model pack. That pack includes default:
75
+ `fclt` ships with a built-in operating model for learning, writeback, and capability evolution. That pack includes default:
69
76
 
70
77
  - instructions for evolution, integration, and project capability
71
78
  - specialist agents such as `writeback-curator`, `evolution-planner`, and `scope-promoter`
@@ -76,14 +83,14 @@ When managed sync is enabled, these built-in assets are available by default eve
76
83
  That means:
77
84
  - builtin skills sync into managed tool skill directories by default
78
85
  - builtin agents sync into tool agent directories when the tool supports agents
79
- - if you do not author your own `AGENTS.global.md`, `facult` renders a builtin global baseline doc into tool-native global docs
86
+ - if you do not author your own `AGENTS.global.md`, `fclt` renders a builtin global baseline doc into tool-native global docs
80
87
 
81
88
  This is intentionally virtual at the canonical level:
82
89
  - builtin defaults remain part of the packaged tool
83
90
  - your personal `~/.ai` stays clean unless you explicitly vendor or override something
84
91
  - the live tool output on disk still contains the rendered defaults, so users and agents can read them directly
85
92
 
86
- In practice, this means you do not need to drive writeback and evolution through the CLI alone. The default skills, agents, and global docs are meant to make that operating model available automatically.
93
+ 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.
87
94
 
88
95
  If you want to disable the builtin default layer for a specific global or project canonical root:
89
96
 
@@ -100,7 +107,7 @@ Put that in `config.toml` or `config.local.toml` under the active canonical root
100
107
 
101
108
  ### Canonical vs rendered
102
109
 
103
- `facult` separates source-of-truth from tool-native output.
110
+ `fclt` separates source-of-truth from tool-native output.
104
111
 
105
112
  - canonical source lives in `~/.ai` or `<repo>/.ai`
106
113
  - rendered outputs live in tool homes like `~/.codex`, `<repo>/.codex`, `~/.claude`, or `~/.cursor`
@@ -126,7 +133,7 @@ Project capability is allowed to extend or shadow global capability in merged vi
126
133
 
127
134
  ### The capability graph
128
135
 
129
- `facult` builds a generated graph of explicit relationships between canonical assets and rendered outputs.
136
+ `fclt` builds a generated graph of explicit relationships between canonical assets and rendered outputs.
130
137
 
131
138
  That graph tracks things like:
132
139
  - snippet markers
@@ -142,68 +149,79 @@ This makes it possible to answer:
142
149
 
143
150
  ### Writeback and evolution
144
151
 
145
- `facult` treats repeated failures, weak loops, missing context, and reusable patterns as signal worth preserving.
152
+ `fclt` treats repeated failures, weak loops, missing context, and reusable patterns as signal worth preserving.
146
153
 
147
154
  Writeback is the act of recording that signal in a structured way.
148
155
  Evolution is the act of grouping that signal into reviewable proposals and applying it back into canonical assets.
149
156
 
150
- This matters because otherwise the same problems repeat in chat without ever improving the actual operating layer. With `facult`, you can:
157
+ This matters because otherwise the same problems repeat in chat without ever improving the actual operating layer. With `fclt`, you can:
151
158
  - record a weak verification pattern
152
159
  - group repeated writebacks around an instruction or agent
153
160
  - draft a proposal to tighten that canonical asset
154
161
  - review and apply the change in a controlled way
155
162
 
156
- The result is that your AI system can get better over time without hiding mutations in tool-specific state or losing the reasoning behind a change.
163
+ The point is not just better storage. The point is that your AI setup can change shape as it learns.
164
+
165
+ That is the core idea behind `fclt`: not just syncing skills, but growing faculties.
157
166
 
158
167
  ## Quick Start
159
168
 
160
- ### 1. Install facult
169
+ ### 1. Install fclt
161
170
 
162
171
  Recommended global install:
163
172
 
173
+ ```bash
174
+ brew tap hack-dance/tap
175
+ brew install hack-dance/tap/fclt
176
+ fclt --help
177
+ ```
178
+
179
+ Package-manager install:
180
+
164
181
  ```bash
165
182
  npm install -g facult
166
183
  # or
167
184
  bun add -g facult
168
- facult --help
185
+ fclt --help
169
186
  ```
170
187
 
188
+ The npm package name stays `facult` for registry compatibility. The installed command is still `fclt`.
189
+
171
190
  One-off usage without global install:
172
191
 
173
192
  ```bash
174
- npx facult --help
175
- bunx facult --help
193
+ npx --yes -p facult fclt --help
176
194
  ```
177
195
 
178
196
  Direct binary install from GitHub Releases (macOS/Linux):
179
197
 
180
198
  ```bash
181
- curl -fsSL https://github.com/hack-dance/facult/releases/latest/download/facult-install.sh | bash
199
+ curl -fsSL https://github.com/hack-dance/facult/releases/latest/download/fclt-install.sh | bash
182
200
  ```
183
201
 
184
202
  Windows and manual installs can download the correct binary from each release page:
185
- `facult-<version>-<platform>-<arch>`.
203
+ `fclt-<version>-<platform>-<arch>`.
186
204
 
187
205
  Update later with:
188
206
 
189
207
  ```bash
190
- facult self-update
208
+ fclt self-update
191
209
  # or
192
- facult update --self
210
+ fclt update --self
193
211
  ```
194
212
 
195
213
  Pin to a specific version:
196
214
 
197
215
  ```bash
198
- facult self-update --version 0.0.1
216
+ fclt self-update --version 0.0.1
199
217
  ```
200
218
 
201
219
  ### 2. Start with a read-only inventory (recommended first)
202
220
 
203
221
  ```bash
204
- facult scan --show-duplicates
222
+ fclt scan --show-duplicates
205
223
  # optional machine-readable output
206
- facult scan --json
224
+ fclt scan --json
207
225
  ```
208
226
 
209
227
  `scan` is read-only. It inspects local configs and reports what `facult` found without changing files.
@@ -211,8 +229,8 @@ facult scan --json
211
229
  ### 3. Import existing skills/configs
212
230
 
213
231
  ```bash
214
- facult consolidate --auto keep-current --from ~/.codex/skills --from ~/.agents/skills
215
- facult index
232
+ fclt consolidate --auto keep-current --from ~/.codex/skills --from ~/.agents/skills
233
+ fclt index
216
234
  ```
217
235
 
218
236
  Why `keep-current`: it is deterministic and non-interactive for duplicate sources.
@@ -225,8 +243,8 @@ Canonical source root: `~/.ai` for global work, or `<repo>/.ai` for project-loca
225
243
 
226
244
  ```bash
227
245
  cd /path/to/repo
228
- bunx facult templates init project-ai
229
- bunx facult index
246
+ bunx fclt templates init project-ai
247
+ bunx fclt index
230
248
  ```
231
249
 
232
250
  This seeds `<repo>/.ai` from the built-in Facult operating-model pack and writes a merged project index/graph under `<repo>/.ai/.facult/ai/`.
@@ -234,45 +252,45 @@ This seeds `<repo>/.ai` from the built-in Facult operating-model pack and writes
234
252
  ### 4. Inspect what you have
235
253
 
236
254
  ```bash
237
- facult list skills
238
- facult list instructions
239
- facult list mcp
240
- facult show requesting-code-review
241
- facult show instruction:WRITING
242
- facult show mcp:github
243
- facult find verification
244
- facult graph show instruction:WRITING
245
- facult graph deps AGENTS.global.md
246
- facult graph dependents @ai/instructions/WRITING.md
247
- facult ai writeback add --kind weak_verification --summary "Checks were too shallow" --asset instruction:VERIFICATION
248
- facult ai evolve propose
249
- facult ai evolve draft EV-00001
250
- facult ai evolve accept EV-00001
251
- facult ai evolve apply EV-00001
255
+ fclt list skills
256
+ fclt list instructions
257
+ fclt list mcp
258
+ fclt show requesting-code-review
259
+ fclt show instruction:WRITING
260
+ fclt show mcp:github
261
+ fclt find verification
262
+ fclt graph show instruction:WRITING
263
+ fclt graph deps AGENTS.global.md
264
+ fclt graph dependents @ai/instructions/WRITING.md
265
+ fclt ai writeback add --kind weak_verification --summary "Checks were too shallow" --asset instruction:VERIFICATION
266
+ fclt ai evolve propose
267
+ fclt ai evolve draft EV-00001
268
+ fclt ai evolve accept EV-00001
269
+ fclt ai evolve apply EV-00001
252
270
  ```
253
271
 
254
272
  Context controls:
255
273
 
256
274
  ```bash
257
- facult list instructions --global
258
- facult list instructions --project
259
- facult find verification --scope merged --source project
260
- facult sync codex --project
261
- facult autosync status --global
262
- facult list agents --root /path/to/repo/.ai
275
+ fclt list instructions --global
276
+ fclt list instructions --project
277
+ fclt find verification --scope merged --source project
278
+ fclt sync codex --project
279
+ fclt autosync status --global
280
+ fclt list agents --root /path/to/repo/.ai
263
281
  ```
264
282
 
265
283
  ### 5. Enable managed mode for your tools
266
284
 
267
285
  ```bash
268
- facult manage codex --dry-run
269
- facult manage codex --adopt-existing
270
- facult sync codex --builtin-conflicts overwrite
271
- facult manage cursor
272
- facult manage claude
286
+ fclt manage codex --dry-run
287
+ fclt manage codex --adopt-existing
288
+ fclt sync codex --builtin-conflicts overwrite
289
+ fclt manage cursor
290
+ fclt manage claude
273
291
 
274
- facult enable requesting-code-review receiving-code-review brainstorming systematic-debugging --for codex,cursor,claude
275
- facult sync
292
+ fclt enable requesting-code-review receiving-code-review brainstorming systematic-debugging --for codex,cursor,claude
293
+ fclt sync
276
294
  ```
277
295
 
278
296
  At this point, your selected skills are actively synced to all managed tools.
@@ -283,8 +301,8 @@ For builtin-backed rendered defaults, `facult` now tracks the last managed rende
283
301
  ### 6. Turn on background autosync
284
302
 
285
303
  ```bash
286
- facult autosync install --git-remote origin --git-branch main --git-interval-minutes 60
287
- facult autosync status
304
+ fclt autosync install --git-remote origin --git-branch main --git-interval-minutes 60
305
+ fclt autosync status
288
306
  ```
289
307
 
290
308
  This installs a macOS LaunchAgent that:
@@ -297,14 +315,14 @@ If the repo hits a rebase conflict, remote autosync stops and reports the blocke
297
315
  ### 7. Turn on source trust and strict install flow
298
316
 
299
317
  ```bash
300
- facult sources list
301
- facult verify-source skills.sh --json
302
- facult sources trust skills.sh --note "reviewed"
318
+ fclt sources list
319
+ fclt verify-source skills.sh --json
320
+ fclt sources trust skills.sh --note "reviewed"
303
321
 
304
- facult install skills.sh:code-review --as code-review-skills-sh --strict-source-trust
322
+ fclt install skills.sh:code-review --as code-review-skills-sh --strict-source-trust
305
323
  ```
306
324
 
307
- ## Use facult from your agents
325
+ ## Use fclt from your agents
308
326
 
309
327
  `facult` is CLI-first. The practical setup is:
310
328
  1. Install `facult` globally so any agent runtime can execute it.
@@ -313,24 +331,24 @@ facult install skills.sh:code-review --as code-review-skills-sh --strict-source-
313
331
 
314
332
  ```bash
315
333
  # Scaffold reusable templates in the canonical store
316
- facult templates init agents
317
- facult templates init claude
318
- facult templates init skill facult-manager
334
+ fclt templates init agents
335
+ fclt templates init claude
336
+ fclt templates init skill facult-manager
319
337
 
320
338
  # Enable that skill for managed tools
321
- facult manage codex
322
- facult manage cursor
323
- facult manage claude
324
- facult enable facult-manager --for codex,cursor,claude
325
- facult sync
339
+ fclt manage codex
340
+ fclt manage cursor
341
+ fclt manage claude
342
+ fclt enable facult-manager --for codex,cursor,claude
343
+ fclt sync
326
344
  ```
327
345
 
328
346
  Optional MCP scaffold:
329
347
 
330
348
  ```bash
331
- facult templates init mcp facult-cli
332
- facult enable mcp:facult-cli --for codex,cursor,claude
333
- facult sync
349
+ fclt templates init mcp facult-cli
350
+ fclt enable mcp:facult-cli --for codex,cursor,claude
351
+ fclt sync
334
352
  ```
335
353
 
336
354
  Note: `templates init mcp ...` is a scaffold, not a running server by itself.
@@ -424,7 +442,7 @@ Recommended split:
424
442
  - `~/.ai/config.toml` or `<repo>/.ai/config.toml`: tracked, portable, non-secret refs/defaults
425
443
  - `~/.ai/config.local.toml` or `<repo>/.ai/config.local.toml`: ignored, machine-local paths and secrets
426
444
  - `[builtin].sync_defaults = false`: disable builtin default sync/materialization for this root
427
- - `facult sync --builtin-conflicts overwrite`: allow packaged builtin defaults to overwrite locally modified generated targets
445
+ - `fclt sync --builtin-conflicts overwrite`: allow packaged builtin defaults to overwrite locally modified generated targets
428
446
 
429
447
  ### Snippets
430
448
 
@@ -442,9 +460,9 @@ Resolution rules:
442
460
  Commands:
443
461
 
444
462
  ```bash
445
- facult snippets list
446
- facult snippets show global/codex/baseline
447
- facult snippets sync [--dry-run] [file...]
463
+ fclt snippets list
464
+ fclt snippets show global/codex/baseline
465
+ fclt snippets sync [--dry-run] [file...]
448
466
  ```
449
467
 
450
468
  Snippets are already used during global Codex `AGENTS.md` rendering.
@@ -454,9 +472,9 @@ Snippets are already used during global Codex `AGENTS.md` rendering.
454
472
  The generated graph in `.ai/.facult/ai/graph.json` is queryable directly:
455
473
 
456
474
  ```bash
457
- facult graph show instruction:WRITING
458
- facult graph deps AGENTS.global.md
459
- facult graph dependents @project/instructions/TESTING.md
475
+ fclt graph show instruction:WRITING
476
+ fclt graph deps AGENTS.global.md
477
+ fclt graph dependents @project/instructions/TESTING.md
460
478
  ```
461
479
 
462
480
  This is the explicit dependency layer for:
@@ -471,27 +489,27 @@ This is the explicit dependency layer for:
471
489
  `facult` also has a local writeback/evolution substrate built on top of the graph:
472
490
 
473
491
  ```bash
474
- facult ai writeback add \
492
+ fclt ai writeback add \
475
493
  --kind weak_verification \
476
494
  --summary "Verification guidance did not distinguish shallow checks from meaningful proof." \
477
495
  --asset instruction:VERIFICATION \
478
496
  --tag verification \
479
497
  --tag false-positive
480
498
 
481
- facult ai writeback list
482
- facult ai writeback show WB-00001
483
- facult ai writeback group --by asset
484
- facult ai writeback summarize --by kind
485
- facult ai evolve propose
486
- facult ai evolve list
487
- facult ai evolve show EV-00001
488
- facult ai evolve draft EV-00001
489
- facult ai evolve review EV-00001
490
- facult ai evolve accept EV-00001
491
- facult ai evolve reject EV-00001 --reason "Needs a tighter draft"
492
- facult ai evolve supersede EV-00001 --by EV-00002
493
- facult ai evolve apply EV-00001
494
- facult ai evolve promote EV-00003 --to global --project
499
+ fclt ai writeback list
500
+ fclt ai writeback show WB-00001
501
+ fclt ai writeback group --by asset
502
+ fclt ai writeback summarize --by kind
503
+ fclt ai evolve propose
504
+ fclt ai evolve list
505
+ fclt ai evolve show EV-00001
506
+ fclt ai evolve draft EV-00001
507
+ fclt ai evolve review EV-00001
508
+ fclt ai evolve accept EV-00001
509
+ fclt ai evolve reject EV-00001 --reason "Needs a tighter draft"
510
+ fclt ai evolve supersede EV-00001 --by EV-00002
511
+ fclt ai evolve apply EV-00001
512
+ fclt ai evolve promote EV-00003 --to global --project
495
513
  ```
496
514
 
497
515
  Runtime state stays generated and local inside the active canonical root:
@@ -510,7 +528,7 @@ Use writeback when:
510
528
 
511
529
  Do not think of writeback as “taking notes.” Think of it as preserving signal that should change the system, not just the current conversation.
512
530
 
513
- 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 `facult ai ...` commands remain the explicit operator surface when you want direct control.
531
+ 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.
514
532
 
515
533
  Current apply semantics are intentionally policy-bound:
516
534
  - targets are resolved through the generated graph when possible and fall back to canonical ref resolution for missing assets
@@ -538,29 +556,29 @@ Most inventory and sync commands support explicit canonical-root selection:
538
556
  ## Security and Trust
539
557
 
540
558
  `facult` has two trust layers:
541
- - Item trust: `facult trust <name>` / `facult untrust <name>`
542
- - Source trust: `facult sources ...` with levels `trusted`, `review`, `blocked`
559
+ - Item trust: `fclt trust <name>` / `fclt untrust <name>`
560
+ - Source trust: `fclt sources ...` with levels `trusted`, `review`, `blocked`
543
561
 
544
562
  `facult` also supports two audit modes:
545
563
 
546
564
  1. Interactive audit workflow:
547
565
  ```bash
548
- facult audit
566
+ fclt audit
549
567
  ```
550
568
  2. Static audit rules (deterministic pattern checks):
551
569
  ```bash
552
- facult audit --non-interactive --severity high
553
- facult audit --non-interactive mcp:github --severity medium --json
570
+ fclt audit --non-interactive --severity high
571
+ fclt audit --non-interactive mcp:github --severity medium --json
554
572
  ```
555
573
  3. Agent-based audit (Claude/Codex review pass):
556
574
  ```bash
557
- facult audit --non-interactive --with claude --max-items 50
558
- facult audit --non-interactive --with codex --max-items all --json
575
+ fclt audit --non-interactive --with claude --max-items 50
576
+ fclt audit --non-interactive --with codex --max-items all --json
559
577
  ```
560
578
 
561
579
  Recommended security flow:
562
- 1. `facult verify-source <source>`
563
- 2. `facult sources trust <source>` only after review
580
+ 1. `fclt verify-source <source>`
581
+ 2. `fclt sources trust <source>` only after review
564
582
  3. use `--strict-source-trust` for `install`/`update`
565
583
  4. run both static and agent audits on a schedule
566
584
 
@@ -579,70 +597,70 @@ Recommended security flow:
579
597
 
580
598
  - Inventory and discovery
581
599
  ```bash
582
- facult scan [--from <path>] [--json] [--show-duplicates]
583
- facult list [skills|mcp|agents|snippets|instructions] [--enabled-for <tool>] [--untrusted] [--flagged] [--pending]
584
- facult show <name>
585
- facult show instruction:<name>
586
- facult show mcp:<name> [--show-secrets]
587
- facult find <query> [--json]
600
+ fclt scan [--from <path>] [--json] [--show-duplicates]
601
+ fclt list [skills|mcp|agents|snippets|instructions] [--enabled-for <tool>] [--untrusted] [--flagged] [--pending]
602
+ fclt show <name>
603
+ fclt show instruction:<name>
604
+ fclt show mcp:<name> [--show-secrets]
605
+ fclt find <query> [--json]
588
606
  ```
589
607
 
590
608
  - Canonical store and migration
591
609
  ```bash
592
- facult consolidate [--auto keep-current|keep-incoming|keep-newest] [--from <path> ...]
593
- facult index [--force]
594
- facult migrate [--from <path>] [--dry-run] [--move] [--write-config]
610
+ fclt consolidate [--auto keep-current|keep-incoming|keep-newest] [--from <path> ...]
611
+ fclt index [--force]
612
+ fclt migrate [--from <path>] [--dry-run] [--move] [--write-config]
595
613
  ```
596
614
 
597
615
  - Managed mode and rollout
598
616
  ```bash
599
- facult manage <tool> [--dry-run] [--adopt-existing] [--existing-conflicts keep-canonical|keep-existing]
600
- facult unmanage <tool>
601
- facult managed
602
- facult enable <name> [--for <tool1,tool2,...>]
603
- facult enable mcp:<name> [--for <tool1,tool2,...>]
604
- facult disable <name> [--for <tool1,tool2,...>]
605
- facult sync [tool] [--dry-run] [--builtin-conflicts overwrite]
606
- facult autosync install [tool] [--git-remote <name>] [--git-branch <name>] [--git-interval-minutes <n>] [--git-disable]
607
- facult autosync status [tool]
608
- facult autosync restart [tool]
609
- facult autosync uninstall [tool]
617
+ fclt manage <tool> [--dry-run] [--adopt-existing] [--existing-conflicts keep-canonical|keep-existing]
618
+ fclt unmanage <tool>
619
+ fclt managed
620
+ fclt enable <name> [--for <tool1,tool2,...>]
621
+ fclt enable mcp:<name> [--for <tool1,tool2,...>]
622
+ fclt disable <name> [--for <tool1,tool2,...>]
623
+ fclt sync [tool] [--dry-run] [--builtin-conflicts overwrite]
624
+ fclt autosync install [tool] [--git-remote <name>] [--git-branch <name>] [--git-interval-minutes <n>] [--git-disable]
625
+ fclt autosync status [tool]
626
+ fclt autosync restart [tool]
627
+ fclt autosync uninstall [tool]
610
628
  ```
611
629
 
612
630
  - Remote catalogs and policies
613
631
  ```bash
614
- facult search <query> [--index <name>] [--limit <n>]
615
- facult install <index:item> [--as <name>] [--force] [--strict-source-trust]
616
- facult update [--apply] [--strict-source-trust]
617
- facult verify-source <name> [--json]
618
- facult sources list
619
- facult sources trust <source> [--note <text>]
620
- facult sources review <source> [--note <text>]
621
- facult sources block <source> [--note <text>]
622
- facult sources clear <source>
632
+ fclt search <query> [--index <name>] [--limit <n>]
633
+ fclt install <index:item> [--as <name>] [--force] [--strict-source-trust]
634
+ fclt update [--apply] [--strict-source-trust]
635
+ fclt verify-source <name> [--json]
636
+ fclt sources list
637
+ fclt sources trust <source> [--note <text>]
638
+ fclt sources review <source> [--note <text>]
639
+ fclt sources block <source> [--note <text>]
640
+ fclt sources clear <source>
623
641
  ```
624
642
 
625
643
  - Templates and snippets
626
644
  ```bash
627
- facult templates list
628
- facult templates init project-ai
629
- facult templates init skill <name>
630
- facult templates init mcp <name>
631
- facult templates init snippet <marker>
632
- facult templates init agents
633
- facult templates init claude
645
+ fclt templates list
646
+ fclt templates init project-ai
647
+ fclt templates init skill <name>
648
+ fclt templates init mcp <name>
649
+ fclt templates init snippet <marker>
650
+ fclt templates init agents
651
+ fclt templates init claude
634
652
 
635
- facult snippets list
636
- facult snippets show <marker>
637
- facult snippets create <marker>
638
- facult snippets edit <marker>
639
- facult snippets sync [--dry-run] [file...]
653
+ fclt snippets list
654
+ fclt snippets show <marker>
655
+ fclt snippets create <marker>
656
+ fclt snippets edit <marker>
657
+ fclt snippets sync [--dry-run] [file...]
640
658
  ```
641
659
 
642
660
  For full flags and exact usage:
643
661
  ```bash
644
- facult --help
645
- facult <command> --help
662
+ fclt --help
663
+ fclt <command> --help
646
664
  ```
647
665
 
648
666
  ### Root resolution
@@ -720,11 +738,11 @@ bun run install:bin
720
738
  bun run install:status
721
739
  ```
722
740
 
723
- Default install path is `~/.ai/.facult/bin/facult`. You can pass a custom target dir via `--dir=/path`.
741
+ Default install path is `~/.ai/.facult/bin/fclt`. You can pass a custom target dir via `--dir=/path`.
724
742
 
725
743
  ## Autosync
726
744
 
727
- `facult autosync` is the background propagation layer for managed installs.
745
+ `fclt autosync` is the background propagation layer for managed installs.
728
746
 
729
747
  Current v1 behavior:
730
748
  - macOS LaunchAgent-backed
@@ -736,28 +754,28 @@ Current v1 behavior:
736
754
  Recommended usage:
737
755
 
738
756
  ```bash
739
- facult autosync install
740
- facult autosync status
757
+ fclt autosync install
758
+ fclt autosync status
741
759
  ```
742
760
 
743
761
  Project-local usage:
744
762
 
745
763
  ```bash
746
764
  cd /path/to/repo
747
- facult autosync install codex
748
- facult autosync status codex
765
+ fclt autosync install codex
766
+ fclt autosync status codex
749
767
  ```
750
768
 
751
769
  Tool-scoped service:
752
770
 
753
771
  ```bash
754
- facult autosync install codex
772
+ fclt autosync install codex
755
773
  ```
756
774
 
757
775
  One-shot runner for verification/debugging:
758
776
 
759
777
  ```bash
760
- facult autosync run --service all --once
778
+ fclt autosync run --service all --once
761
779
  ```
762
780
 
763
781
  Remote git policy:
@@ -777,8 +795,9 @@ Release behavior:
777
795
  2. `semantic-release` creates the version/tag and GitHub release (npm publish is disabled in this phase).
778
796
  3. The same release workflow then builds platform binaries and uploads them to that GitHub release.
779
797
  4. npm publish runs only after binary asset upload succeeds (`publish-npm` depends on `publish-assets`).
780
- 5. Published release assets include platform binaries, `facult-install.sh`, and `SHA256SUMS`.
781
- 6. The npm package launcher resolves your platform, downloads the matching release binary, caches it under `~/.ai/.facult/runtime/<version>/<platform-arch>/`, and runs it.
798
+ 5. Published release assets include platform binaries, `fclt-install.sh`, `facult-install.sh`, and `SHA256SUMS`.
799
+ 6. When `HOMEBREW_TAP_TOKEN` is configured, the release workflow also updates the Homebrew tap at `hack-dance/homebrew-tap`.
800
+ 7. The npm package launcher resolves your platform, downloads the matching release binary, caches it under `~/.ai/.facult/runtime/<version>/<platform-arch>/`, and runs it.
782
801
 
783
802
  Current prebuilt binary targets:
784
803
  - `darwin-x64`
@@ -789,10 +808,11 @@ Current prebuilt binary targets:
789
808
  Self-update behavior:
790
809
  1. npm/bun global install: updates via package manager (`npm install -g facult@...` or `bun add -g facult@...`).
791
810
  2. Direct binary install (release script/local binary path): downloads and replaces the binary in place.
792
- 3. Use `facult self-update` (or `facult update --self`).
811
+ 3. Use `fclt self-update` (or `fclt update --self`).
793
812
 
794
813
  Required secrets for publish:
795
814
  - `NPM_TOKEN`
815
+ - `HOMEBREW_TAP_TOKEN` (fine-grained token with contents write access to `hack-dance/homebrew-tap`)
796
816
 
797
817
  Local semantic-release dry-runs require a supported Node runtime (`>=24.10`).
798
818
 
@@ -827,13 +847,13 @@ bun run release:dry-run
827
847
 
828
848
  ## FAQ
829
849
 
830
- ### Does facult run its own MCP server today?
850
+ ### Does fclt run its own MCP server today?
831
851
 
832
- Not as a first-party `facult mcp serve` runtime.
852
+ Not as a first-party `fclt mcp serve` runtime.
833
853
 
834
854
  `facult` currently focuses on inventory, trust/audit, install/update, and managed sync of skills/MCP configs.
835
855
 
836
- ### Does facult now manage global AI config, not just skills and MCP?
856
+ ### Does fclt now manage global AI config, not just skills and MCP?
837
857
 
838
858
  Yes. The core model now includes:
839
859
  - canonical personal AI source in `~/.ai`
@@ -842,8 +862,8 @@ Yes. The core model now includes:
842
862
  - tool-native configs such as `~/.codex/config.toml`
843
863
  - tool-native rule files such as `~/.codex/rules/*.rules`
844
864
 
845
- ### Do I still need to run `facult sync` manually?
865
+ ### Do I still need to run `fclt sync` manually?
846
866
 
847
867
  If autosync is not installed, yes.
848
868
 
849
- If autosync is installed, local changes under `~/.ai` propagate automatically to managed tools. Manual `facult sync` is still useful for explicit repair, dry-runs, and non-daemon workflows.
869
+ If autosync is installed, local changes under `~/.ai` propagate automatically to managed tools. Manual `fclt sync` is still useful for explicit repair, dry-runs, and non-daemon workflows.