ai-rulez 4.22.2 → 4.23.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.
Files changed (2) hide show
  1. package/README.md +21 -10
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -41,6 +41,8 @@ ai-rulez generates correct, tool-native output for **14 platforms**: Claude, Cur
41
41
 
42
42
  For a tool that isn't built in, a custom preset can point at a declarative **provider spec** (`provider = ".ai-rulez/providers/my-tool.toml"`) and get the same full feature set as a built-in — root instructions file, skills/agents/commands, per-agent frontmatter, and MCP sidecars. See [Custom Presets](docs/configuration.md#provider-backed-presets-full-parity).
43
43
 
44
+ Set `agents_md = true` to write `AGENTS.md` and `.agents/skills/` once for the tools that read them (Codex, Cursor, Copilot, Gemini, Claude through an `@AGENTS.md` shim, and more) instead of one copy per tool. Off by default. See [docs/agents-md.md](docs/agents-md.md).
45
+
44
46
  ## Generate Plugins, Not Just Config
45
47
 
46
48
  ai-rulez doesn't only write config into _your_ repo — it also packages your project as **distributable plugins**. Run `ai-rulez generate --plugin` and the same `.ai-rulez/` source (skills, commands, agents, MCP servers) becomes installable **plugin bundles and a marketplace index** for Claude, Cursor, Codex, Gemini, Kimi, OpenCode, Factory, and Hermes Agent. An opt-in **Agent Plugins** runtime (`runtimes = ["agent-plugins"]`) additionally emits portable [Agent Plugins 1.0.0](https://agent-plugins.org) packages.
@@ -63,9 +65,10 @@ Set `builtins` in your config — `true` for every domain, or a list to pick —
63
65
  without being named, unless you exclude one with `!`. Omit the `builtins` field entirely and no builtin
64
66
  content is loaded at all.
65
67
 
66
- Each one ships **always-on content** (rules, or context such as the agent roster), inlined into
67
- `CLAUDE.md` and so read on every request, and some also ship **on-demand skills**, whose body costs
68
- nothing until the assistant loads it.
68
+ Each one ships **always-on content** (rules, or context such as the agent roster) that is read on every
69
+ request — rules in `.claude/rules/` under the default split mode (inlined into `CLAUDE.md` with
70
+ `[rules] mode = "inline"`), context and the agent roster in `CLAUDE.md` — and some also ship
71
+ **on-demand skills**, whose body costs nothing until the assistant loads it.
69
72
 
70
73
  | Domain | Always-on rules | On-demand skills |
71
74
  | -------------------- | -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
@@ -161,14 +164,16 @@ Recommended for shared, skill-first modules.
161
164
 
162
165
  **Native rules folders** — Rules are written to each tool's own rules folder (`.claude/rules`, `.cursor/rules`, `.github/instructions`, `.windsurf/rules`, ...) with native `paths`/`globs` frontmatter, so path-scoped rules load only when relevant. `split` is the default since 4.22.0; set `[rules] mode = "inline"` to keep rules in the root files. See [docs/rules.md](docs/rules.md).
163
166
 
164
- **Local overrides** — Personal, machine-local instructions that never get committed:
167
+ **Local configuration** — Personal, machine-local content and settings that never get committed:
165
168
 
166
169
  ```bash
167
- ai-rulez add rule my-scratch-notes --local # → .ai-rulez/local/rules/, generates CLAUDE.local.md
170
+ ai-rulez add rule my-scratch-notes --local # → .ai-rulez/local/rules/, generates .claude/rules/my-scratch-notes.local.md
171
+ ai-rulez local set presets '["codex", "!cursor"]' # → .ai-rulez/config.local.toml overlay
168
172
  ```
169
173
 
170
- `.ai-rulez/local/` and the generated `*.local.md` outputs are gitignored unconditionally. See
171
- [docs/local-overrides.md](docs/local-overrides.md).
174
+ `.ai-rulez/local/`, the `config.local.*` overlay and the generated `*.local.*` outputs are gitignored
175
+ unconditionally, and `generate` refuses to let local config change tracked shared files (use
176
+ `--no-local` for the teammate view). See [docs/local-overrides.md](docs/local-overrides.md).
172
177
 
173
178
  **Reasoning effort across providers** — Tune how hard each AI tool thinks:
174
179
 
@@ -325,7 +330,7 @@ Add to `.pre-commit-config.yaml`:
325
330
  ```yaml
326
331
  repos:
327
332
  - repo: https://github.com/Goldziher/ai-rulez
328
- rev: v4.22.2
333
+ rev: v4.23.1
329
334
  hooks:
330
335
  - id: ai-rulez-recursive # generate outputs across the repo
331
336
  - id: ai-rulez-validate # dry-run validation
@@ -346,7 +351,7 @@ repository needs. This requires AI-Rulez 4.9.0+ and Poly 0.14.0+:
346
351
  [[hooks.sources]]
347
352
  id = "ai-rulez"
348
353
  git = "https://github.com/Goldziher/ai-rulez.git"
349
- revision = "v4.22.2"
354
+ revision = "v4.23.1"
350
355
  hooks = ["ai-rulez-recursive", "ai-rulez-plugin-verify"]
351
356
  ```
352
357
 
@@ -377,9 +382,15 @@ pre-commit:
377
382
  commands:
378
383
  ai-rulez:
379
384
  glob: ".ai-rulez/**"
380
- run: ai-rulez generate --recursive
385
+ run: ai-rulez generate --recursive --no-local
381
386
  ```
382
387
 
388
+ Hooks run on each developer's machine and would otherwise load that developer's gitignored
389
+ `config.local.*` overlay and `.ai-rulez/local/` content. Pass `--no-local` (also accepted by `validate`
390
+ and `tokens`) where a hook should see only the shared configuration, as a teammate or CI does. If you do
391
+ not, `generate` still refuses to write local-derived changes into tracked shared files; never add
392
+ `--allow-local-drift` to a hook. See [Poly hooks guide](docs/poly-hooks.md#machine-local-configuration-in-hooks).
393
+
383
394
  In a monorepo, `ai-rulez generate --recursive` and `ai-rulez validate --recursive` (`-r`) process every nested
384
395
  `.ai-rulez/` root, report all failures, and exit non-zero if any root failed.
385
396
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-rulez",
3
- "version": "4.22.2",
3
+ "version": "4.23.1",
4
4
  "description": "Complete AI development workflow for 14 AI coding tools. Ships with builtin rules, agents, and conventions. Generate native configs for Claude, Cursor, Copilot, Windsurf, Gemini, Codex and more from a single source.",
5
5
  "keywords": [
6
6
  "agents",