Lines 42-82javascript
43 * Composite GitHub Action `.github/actions/setup-bun-deps/action.yml` копіюється з каталогу
44 * `github-actions/` пакету при кожному успішному синку (workflows з правил ga / js-lint / text).
46 * Skills копіюються з npm/skills пакету лише для id з масиву «skills» у .n-cursor.json
47 * (у JSON — без префікса, як імена каталогів у rules/ без n-). У пакеті джерело — каталоги
48 * skills/<id>/ (без префікса); у проєкті — .cursor/skills/n-<id>/ (префікс n-, як n-*.mdc).
49 * Якщо ключа skills немає, за замовчуванням підтягуються всі підкаталоги skills/ (лише імена без префікса n-).
50 * Зайві каталоги n-* у .cursor/skills, яких немає у списку, видаляються.
51 * Файл `auto.md` у скілі — джерело правди для auto-skills у CLI (`scripts/auto-skills.mjs`)
52 * і у проєкт не копіюється; раніше синхронізовані `auto.md` у `.cursor/skills/n-<id>/` CLI
53 * не чіпає — їх потрібно прибрати вручну.
55 * Якщо в корені є package.json і в ньому ще немає \@nitra/cursor у devDependencies (і не оголошено
56 * в dependencies), CLI дописує devDependencies з діапазоном ^<version> поточного пакету — зручно після npx.
58 * Перед копіюванням правил (режим без підкоманди): оновлення \@nitra/cursor у package.json до
59 * останньої версії з npm (крім workspace:/file:/link: тощо), `bun i`, далі файли беруться з
60 * `node_modules/@nitra/cursor`, якщо пакет з’явився після встановлення.
63import { spawnSync } from 'node:child_process'
64import { existsSync } from 'node:fs'
HighChild Process
Package source references child process execution.
bin/n-cursor.jsView on unpkg · L62 65import { mkdir, readdir, readFile, rename, rm, unlink, writeFile } from 'node:fs/promises'
66import { basename, dirname, join, resolve } from 'node:path'
67import { cwd, env } from 'node:process'
68import { fileURLToPath } from 'node:url'
70import { buildAgentsCommandBulletItems } from '../scripts/build-agents-commands.mjs'
71import { formatGeneratedMarkdownLines, renderAgentsTemplate } from '../scripts/lib/generated-markdown.mjs'
72import { appendDiscoveredMdcFiles, inlineTemplateLinks } from '../scripts/lib/inline-template-links.mjs'
76 mergeConfigWithAutoDetected,
79} from '../scripts/auto-rules.mjs'
80import { detectAutoSkills } from '../scripts/auto-skills.mjs'
81import { readSkillMetaRaw } from '../scripts/lib/skill-meta.mjs'
82import { injectWorktreeNotice } from '../scripts/lib/worktree-notice.mjs'