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.5.tar.gz (172.4 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.5-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.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

mars_agents-0.0.5-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.5.tar.gz.

File metadata

  • Download URL: mars_agents-0.0.5.tar.gz
  • Upload date:
  • Size: 172.4 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.5.tar.gz
Algorithm Hash digest
SHA256 9c1b693b453270e217beb84282d7253c2cda9df182720f7fe9a4d430cb18c4c0
MD5 71d2e1a1a4cf64935f257b4d6a155c1e
BLAKE2b-256 597833451c25c7db9691a4da1496f9b3c40465e02ad2ad75fd9f523d18466d07

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.5.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.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39f67de3edf8dce7b7f439f2844f80a16423c3cf0f249ee4857779d1409696a0
MD5 7bb841f0962bfd4904af47697ed8a659
BLAKE2b-256 eb8e5f33ad143baf1575dee729099dce8c2cee8552d4bacdeb0890efe2bbd5e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.5-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.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8b2634970008fabf6befde921c70a078e42104426551b8794a0b2771169e8fa2
MD5 6746fb6725267b76b18cebee8851853f
BLAKE2b-256 c118bcc10e90fce0323a2bfd57af7b074b130e7c71d953fbd4c943c0ff29a955

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.5-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.5-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 046fdaee9d0e373fbf20edd82cc0aae741258fecb0a13c3fca33ad136af525ec
MD5 2a65f5da218dbaa6ac2979966c322a43
BLAKE2b-256 4927ac30e1e5ed9e4a6a55f4ced4cd80962e69c7c4348bcd25a01c1070c2c1cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.5-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.5-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for mars_agents-0.0.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c951da5fa65de4a3ccdf61df3361ea14631916fdd4595734eeb0f1cbe55d6489
MD5 4e68bb2d6a2a760586d64dccea04f380
BLAKE2b-256 0eb862325d5dbfdf9de9a9eb18058b5992e803549aca2263bd624122e3922506

See more details on using hashes here.

Provenance

The following attestation bundles were made for mars_agents-0.0.5-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