Getting Started
ulis compiles one canonical config tree into native configuration for Claude Code, Codex, Cursor, OpenCode, and ForgeCode.
Install
npm i -g @nejcm/ulisor
bun add -g @nejcm/ulisRequires Node 20+.
Install the packaged ulis skill
@nejcm/ulis ships an installable ulis skill that teaches the CLI and TUI workflows.
Direct install:
npx skills@latest add @nejcm/ulis --skill ulisOr declare it in .ulis/skills.yaml so ulis install manages it:
"*":
skills:
- name: "@nejcm/ulis"
args:
- --skill
- ulisProject mode quick start
Use project mode when you want configuration that lives with a single repository.
cd my-project
ulis initThis creates .ulis/ in the current repository with scaffolded files and folders.
After editing .ulis/:
ulis install --yesThis builds generated output and installs into local tool folders like ./.claude/, ./.cursor/, ./.codex/, ./.opencode/, and ./.forge/.
Optional: Use presets
ULIS can layer presets (extra agents, skills, rules, etc.) under your base .ulis/ or ~/.ulis/ tree. Presets come from ~/.ulis/presets/<name>/ and from bundled examples shipped with the CLI; a user folder with the same name overrides the bundled preset.
ulis preset list
ulis build --preset react-web
ulis install --preset backend,react-web --yesMerge order: presets left-to-right, then the base source (base wins on conflicts). With --yes, a missing preset name fails fast instead of prompting.