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
First — huge thanks for building ruler. The idea of a single source of truth that distributes to 30+ agents is exactly the kind of DX tooling this ecosystem needs.
The use case: third-party skills as packages
As the AI tooling ecosystem matures, teams will want to share and reuse skills across projects — either their own internal libraries or community-published packages. The natural distribution mechanism for this is npm, composer, or git submodules.
Right now, if I want to pull in a third-party skills package, I hit a wall: ruler only looks at .ruler/ in the project root. That directory name is also hardcoded, which means:
npm packages land in node_modules/my-skills/ — ruler can't see them
composer packages land in vendor/my-skills/ — same problem
Even with git submodules, I'm locked into naming the submodule .ruler/ (or a subdirectory of it)
The ask: --ruler-dirs (plural) as an array
The ask is simple: implement a --ruler-dirs configuration property that accepts multiple source directories:
# Mix your local rules with one or more third-party packages
ruler apply \
--ruler-dirs .ruler \
--ruler-dirs node_modules/@myorg/ai-skills \
--ruler-dirs node_modules/@community/typescript-skills
Or via ruler.toml:
ruler_dirs = [
".ruler", // this one is there by default for backward compatibility"node_modules/@myorg/ai-skills",
"node_modules/@community/typescript-skills"
]
Ruler would merge/concatenate all sources in order, then distribute to agents as it does today. The output experience is identical — only the inputs change.
Why this is a natural fit for the ruler
The killer insight here is that ruler already does the hard part — merging multiple .md files and distributing to 30+ agents. Supporting multiple input directories is a small lift that unlocks a whole ecosystem of reusable AI rules.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
First — huge thanks for building
ruler. The idea of a single source of truth that distributes to 30+ agents is exactly the kind of DX tooling this ecosystem needs.The use case: third-party skills as packages
As the AI tooling ecosystem matures, teams will want to share and reuse skills across projects — either their own internal libraries or community-published packages. The natural distribution mechanism for this is npm, composer, or git submodules.
Right now, if I want to pull in a third-party skills package, I hit a wall:
ruleronly looks at.ruler/in the project root. That directory name is also hardcoded, which means:node_modules/my-skills/— ruler can't see themvendor/my-skills/— same problem.ruler/(or a subdirectory of it)The ask:
--ruler-dirs(plural) as an arrayThe ask is simple: implement a
--ruler-dirsconfiguration property that accepts multiple source directories:# Mix your local rules with one or more third-party packages ruler apply \ --ruler-dirs .ruler \ --ruler-dirs node_modules/@myorg/ai-skills \ --ruler-dirs node_modules/@community/typescript-skillsOr via
ruler.toml:Ruler would merge/concatenate all sources in order, then distribute to agents as it does today. The output experience is identical — only the inputs change.
Why this is a natural fit for the ruler
The killer insight here is that ruler already does the hard part — merging multiple
.mdfiles and distributing to 30+ agents. Supporting multiple input directories is a small lift that unlocks a whole ecosystem of reusable AI rules.Would love to hear if this fits the roadmap!
All reactions