Skip to main content

Agent package manager for .agents/ directories

Project description

mars

Mars is a package manager for .agents/ directories. It installs agent profiles and skills from git and local sources into one managed root, records managed ownership in mars.lock, and links that managed content into tool-specific directories like .claude/ or .cursor/.

Quick Start

# Initialize and link to Claude
mars init --link .claude

# Add sources
mars add haowjy/meridian-base
mars add haowjy/meridian-dev-workflow

# See what's installed
mars list

# Explain why an item is present
mars why reviewer

Why Mars

  • Install agents and skills from multiple sources into one managed .agents/ tree
  • Resolve versions and transitive source dependencies before installation
  • Keep syncs safe: resolve the full desired state before mutating files
  • Track ownership and checksums in mars.lock so managed and unmanaged files coexist safely
  • Support day-to-day maintenance with upgrades, outdated checks, local overrides, rename rules, conflict resolution, and repair flows
  • Link managed agents/ and skills/ into tool directories instead of copying them around

Where Mars Fits

Mars is not an agent runtime. It sits underneath tools like Claude Code, Cursor, and Codex and manages the agent assets they read.

Alternative What Mars adds
Native .claude/agents Multi-source installs, versioning, lockfile-backed ownership, safer syncs, recovery
Skill installers Both agents and skills, explicit desired state in config, conflict handling, repair
Git submodules / vendored folders Real resolution, diff, plan, and apply pipeline

Install

Method Command
Cargo (crate) cargo install mars-agents
Cargo (latest main) cargo install --git https://github.com/haowjy/mars-agents
Python (pipx) pipx install mars-agents
Python (uv tool) uv tool install mars-agents
Python (pip) pip install mars-agents
npm npm install -g @haowjy/mars-agents
From source cargo install --path .

Prebuilt binaries: https://github.com/haowjy/mars-agents/releases

Platforms: macOS arm64/x64, Linux arm64/x64 (glibc). Others: build from source.

Source Inputs

Form Example
GitHub shorthand owner/repo or owner/repo@^1.0
HTTPS URL https://github.com/owner/repo
SSH URL git@github.com:owner/repo.git
Local path ../my-agents or /absolute/path

Commands

Area Commands
Source management add, remove, upgrade, outdated, override
Resolution Semver constraints, transitive deps, lockfile-backed replay
Install & reconcile sync, rename, resolve
Inspection list, why
Linking init --link, link
Validation & recovery check, doctor, repair
Cache cache info, cache clean

Global flags: --root <PATH>, --json.

Managed Layout

project/
  mars.toml          # Dependency config (committed)
  mars.lock          # Ownership registry (committed)
  mars.local.toml    # Dev overrides (gitignored)
  .mars/             # Internal state (gitignored)
  .agents/
    agents/
    skills/
  .claude/
    agents -> ../.agents/agents
    skills -> ../.agents/skills

mars.toml Example

[dependencies.base]
url = "https://github.com/haowjy/meridian-base"
version = "^1.0"

[dependencies.dev]
path = "../my-dev-agents"

[dependencies.ops]
url = "https://github.com/acme/ops-agents"
only_skills = true

[settings]
links = [".claude"]

After editing mars.toml, run mars sync to apply changes.

Documentation

Detailed documentation is in docs/:

  • Overview — Core concepts and quick start
  • Configurationmars.toml reference: all fields, filter modes, settings
  • CLI Reference — Every subcommand with flags, examples, and behavior
  • Sync Pipeline — How sync works: resolve → target → diff → apply
  • Conflicts — Collision handling, merge, conflict resolution
  • Lock File — Lock file format and semantics
  • Local Development — Overrides, local paths, submodules
  • Troubleshootingmars doctor, mars repair, common problems

Design Constraints

  • Resolve first, then act. If resolution fails, nothing is mutated.
  • Config, lock, and installed files use atomic writes.
  • mars.lock is the authority for what Mars manages.
  • User intent comes from explicit flags and arguments, not heuristics.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mars_agents-0.0.6.tar.gz (185.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mars_agents-0.0.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

mars_agents-0.0.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

mars_agents-0.0.6-py3-none-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

mars_agents-0.0.6-py3-none-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file mars_agents-0.0.6.tar.gz.

File metadata

  • Download URL: mars_agents-0.0.6.tar.gz
  • Upload date:
  • Size: 185.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mars_agents-0.0.6.tar.gz
Algorithm Hash digest
SHA256 f5846d4779e9b4be365613958b4d19b97ae02e3b8ccef48e3fe6ee896ff5247d
MD5 677958e01cc74376b5980a5badd9e93f
BLAKE2b-256 485891cc37fb7660daeef6f744d3e1d28e6f97bf4862d1f1ff20d94cf67f34d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.6.tar.gz:

Publisher: release.yml on haowjy/mars-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mars_agents-0.0.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af3a56b4d3d483bba6b21b30b4a17131b2f767c80da39ad6eb633a92f55f7e22
MD5 08cd6116d7f32705d19a6268eeddf3f6
BLAKE2b-256 ec9884d2a60b2c53a1db42beb51d80b8ec8817192362ab5d3fe24d98e5292365

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on haowjy/mars-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mars_agents-0.0.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0c3a661569603d7aa91f88e30ac94c801e7d984b7c3341685d3164df168f1297
MD5 41eba53d9ea674ce17431ef5574806d8
BLAKE2b-256 a79391437ea037955d10661ff5760d4f00e80b338b84d94d2b5d2b1ded97d43c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on haowjy/mars-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mars_agents-0.0.6-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1cab6e82902e78f4ca74a35fafa1688821043385e94270f001f4d00bca21ab95
MD5 f46cc2e0b1e9d0ed334a0a479fbb44d2
BLAKE2b-256 d73a326231341a8589d7fa591c45b9084bb7ce32029fe7ef8de9c1e61ea8df19

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.6-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on haowjy/mars-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mars_agents-0.0.6-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.6-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bd668a45de340689c3fc40df7398bddfd0776f4acd0e3582fcf786190fea9ead
MD5 c1c5f89c47fa91a38b29b2c92498e7b7
BLAKE2b-256 42d6c5553e82416e96f0c618f15ea9262765c7b3e4780aa3f0c7e8336ea4ffd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.6-py3-none-macosx_10_12_x86_64.whl:

Publisher: release.yml on haowjy/mars-agents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page