ARM is a package manager for AI resources, designed to treat rulesets and promptsets as code dependencies. It introduces semantic versioning, reproducible installs, and straightforward distribution to your AI tools.
Seamlessly connect to Git repositories such as awesome-cursorrules or your team's private collections. Install and manage versioned resources across projects, and keep everything in sync with your source of truth.
Managing rules and prompts for AI coding assistants like Cursor or Amazon Q is cumbersome:
- Manual duplication: Copying resources disconnects them from updates and the original source
- Hidden breaking changes: Updates may unexpectedly alter your AI's behavior
- Poor scalability: Coordinating resources across multiple projects becomes chaotic
- Incompatible formats: Frequent manual conversions between different tool formats. (Obligatory we need a new standard xkcd link)
ARM solves these problems with a modern package manager approach.
- Consistent, versioned installs using semantic versioning (except for git based registry without semver tags, which gets a little funky)
- Reliable, reproducible environments through manifest and lock files (similar to npm's package.jsonandpackage-lock.json)
- Unified resource definitions that compile to formats needed by any AI tool (the audacity! clutches pearls)
- Priority-based rule composition for layering multiple rulesets with clear conflict resolution (your team's standards > internet best practices)
- Flexible registry support for managing resources from Git, GitLab, and Cloudsmith
- Automated update workflow: easily check for updates and apply them across projects (nice)
curl -fsSL https://raw.githubusercontent.com/jomadu/ai-resource-manager/main/scripts/install.sh | bashcurl -fsSL https://raw.githubusercontent.com/jomadu/ai-resource-manager/main/scripts/install.sh | bash -s v1.0.0- Download the latest release from GitHub
- Extract and move the binary to your PATH
- Run arm helpto verify installation
arm version
arm helpUpgrading from v2? See the migration guide for breaking changes and upgrade steps. TL;DR: Sorry, nuke and pave. We made some poor design choices in v1 and v2. Honestly, we've probably made them in v3 too, but hey, better is the enemy of good.
curl -fsSL https://raw.githubusercontent.com/jomadu/ai-resource-manager/main/scripts/uninstall.sh | bashAdd Git registry:
arm add registry git --url https://github.com/jomadu/ai-rules-manager-sample-git-registry ai-rulesAdd GitLab registry:
arm add registry gitlab --url https://gitlab.example.com --project-id 123 my-gitlabAdd Cloudsmith registry:
arm add registry cloudsmith --owner myorg --repo ai-rules my-cloudsmithConfigure sinks:
Cursor:
arm add sink --type cursor cursor-rules .cursor/rules
arm add sink --type cursor cursor-commands .cursor/commandsGitHub Copilot:
arm add sink --type copilot copilot-rules .github/copilotAmazon Q:
arm add sink --type amazonq q-rules .amazonq/rules
arm add sink --type amazonq q-prompts .amazonq/promptsInstall ruleset:
arm install ruleset ai-rules/clean-code-ruleset cursor-rulesInstall promptset:
arm install promptset ai-rules/code-review-promptset cursor-commandsInstall to multiple sinks:
arm install ruleset ai-rules/clean-code-ruleset cursor-rules q-rules
arm install promptset ai-rules/code-review-promptset cursor-commands q-promptsInstall with priority (higher priority rules take precedence):
# Install team rules with high priority
arm install ruleset --priority 200 ai-rules/team-standards cursor-rules
# Install general rules with default priority (100)
arm install ruleset ai-rules/clean-code-ruleset cursor-rulesInstall specific files from a ruleset (useful for git-based registries):
# Only install TypeScript-related rules
arm install ruleset --include "**/typescript-*.yml" ai-rules/language-rules cursor-rules
# Install security rules but exclude experimental ones
arm install ruleset --include "security/**/*.yml" --exclude "**/experimental/**" ai-rules/security-ruleset cursor-rules
# Install only specific prompt files
arm install promptset --include "review/**/*.yml" --include "refactor/**/*.yml" ai-rules/code-review-promptset cursor-commands- Concepts - Core concepts and files
- Rulesets - Working with rulesets
- Promptsets - Working with promptsets
- Registries - Registry management and types
- Sinks - Sink configuration and compilation
- Package Management - Installing, updating, and managing packages
- Git Registry - GitHub, GitLab, and Git remotes
- GitLab Registry - GitLab Package Registry
- Cloudsmith Registry - Cloudsmith package repository
