You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .ai/README.md
+57Lines changed: 57 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,11 @@ All rules and skills now live in **`.ai/`** — a tool-agnostic, plain-markdown
12
12
- No sync step, no duplication, no drift between tools
13
13
- New contributors or tools start from `AGENTS.md` at the repo root, which bootstraps everything
14
14
15
+
## CI integration
16
+
17
+
-`yarn lint:ai` runs `.ai/scripts/validate.js`, which checks story tags, AGENTS.md paths, and config schema. Catches broken internal links, symlinks, and misconfigured rules before merge
18
+
- Pre-commit hook runs the contributor docs nav script to keep breadcrumbs and TOCs in sync automatically
19
+
15
20
## Rules
16
21
17
22
Rules defined in the `config.json` follow this structure:
@@ -309,6 +314,58 @@ Editing any `.ai/rules/*.md` file immediately updates what both Cursor and Claud
309
314
2. Register it in the skills catalog below and in [`AGENTS.md`](../AGENTS.md).
310
315
3. Both `.cursor/skills/` and `.claude/skills/` pick it up automatically via directory symlinks.
311
316
317
+
### Symlink setup
318
+
319
+
The symlinks in `.cursor/` and `.claude/` are committed to the repo, so **no setup is required after cloning**. Rules and skills should work automatically for all contributors.
320
+
321
+
#### Recreating broken symlinks
322
+
323
+
If a symlink is accidentally deleted or broken (e.g. after a file was deleted and recreated rather than edited in place), recreate it with the commands below.
324
+
325
+
##### Claude Code
326
+
327
+
```sh
328
+
mkdir -p .claude
329
+
ln -s ../.ai/rules .claude/rules
330
+
ln -s ../.ai/skills .claude/skills
331
+
```
332
+
333
+
Claude Code reads `.md` files, so directory-level symlinks work directly. Verify:
334
+
335
+
```sh
336
+
ls -la .claude/
337
+
# rules -> ../.ai/rules
338
+
# skills -> ../.ai/skills
339
+
```
340
+
341
+
##### Cursor
342
+
343
+
> **Cursor requires per-file symlinks for rules.** Cursor expects `.mdc` files and does not follow a directory symlink that contains `.md` files. Each rule needs its own symlink with the `.mdc` extension pointing back to the `.md` source.
0 commit comments