{"slug": "show-hn-a-light-weight-cli-that-keeps-your-skills-and-rules-in-sync", "title": "Show HN: A light-weight CLI that keeps your skills and rules in sync", "summary": "Unity, a lightweight CLI tool created by Nicolas Akf, synchronizes agent skills and rule files across coding agents including Codex, Orion, Claude Code, Cursor, and OpenCode, using a single source-of-truth tree. The tool, installable via npm, supports user and project scopes, offers a watcher with --pull to propagate changes, and provides commands like init, sync, pull, and push. Unity aims to keep skills and rules consistent across multiple AI coding agents.", "body_md": "Unity keeps [Agent Skills](https://agentskills.io/home) and agent rule files in one source-of-truth tree and mirrors them into the folders and files used by coding agents such as Codex, Orion, Claude Code, Cursor, OpenCode, etc.\n\n```\nnpm install -g @nicolasakf/unity\nunity --help\n```\n\nUnity has source directories for skills and rules:\n\n| Scope | Skills source | Rules source |\n|---|---|---|\n| User | `~/.agents/skills` |\n`~/.agents/rules` |\n| Project | `<repo>/.agents/skills` |\n`<repo>/.agents/rules` |\n\nUnity uses these as the source of truth. You or your agent can edit skills and rules in the source directories or in supported agent mirror locations. Unity will guarantee that all linked targets are kept in sync at each scope level.\n\nInitialize user-level Unity:\n\n```\nunity init\n```\n\nOn **first init**, Unity prompts for two things:\n\n**Targets**— enter the coding agent(s) you work with separated by commas, e.g`codex, orion`\n\n.**Projects**(optional) — type each repository path you want to sync, e.g`~/projects/my-app`\n\n.\n\nNote for Coding Agents:\n\nIf you are an AI coding agent, use`--non-interactive`\n\nto disable interactive prompts.\n\n```\nunity init --non-interactive [--targets codex,orion] [--projects /abs/path/to/repo]\n```\n\nIf the targets and/or projects were not specified by the user in their prompt, ask them. At least one target must be enabled. Projects are optional.\n\nStart the watcher:\n\n```\nunity watch --pull\n```\n\nUse ** --pull** so Unity watches enabled agent skill directories and rule files as well as each scope’s Unity source. When something changes, Unity\n\n**pulls** from those mirrors into the source and then\n\n**pushes** back out, so edits made inside an agent stay consolidated in the canonical tree. Without\n\n**, only the Unity source directories are watched: changes there still propagate outward on each run, but edits confined to an agent mirror are not noticed until you run**\n\n`--pull`\n\n**or**\n\n`unity pull`\n\n**yourself.**\n\n`unity sync`\n\nFor ** pull**,\n\n**,**\n\n`push`\n\n**,**\n\n`sync`\n\n**, project registration, watcher options, targets, diagnostics, import repair, and related CLI workflows, see the**\n\n`env push`\n\n**. Config files, built-in target paths, and sync state are described in**\n\n[Full Setup Guide](/nicolasakf/unity/blob/main/docs/full-setup-guide.md)**.**", "url": "https://wpnews.pro/news/show-hn-a-light-weight-cli-that-keeps-your-skills-and-rules-in-sync", "canonical_source": "https://github.com/nicolasakf/unity", "published_at": "2026-08-20 14:02:03+00:00", "updated_at": "2026-08-20 14:17:35.766094+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["Unity", "Nicolas Akf", "Codex", "Orion", "Claude Code", "Cursor", "OpenCode"], "alternates": {"html": "https://wpnews.pro/news/show-hn-a-light-weight-cli-that-keeps-your-skills-and-rules-in-sync", "markdown": "https://wpnews.pro/news/show-hn-a-light-weight-cli-that-keeps-your-skills-and-rules-in-sync.md", "text": "https://wpnews.pro/news/show-hn-a-light-weight-cli-that-keeps-your-skills-and-rules-in-sync.txt", "jsonld": "https://wpnews.pro/news/show-hn-a-light-weight-cli-that-keeps-your-skills-and-rules-in-sync.jsonld"}}