Skip to main content

CLI tool for managing AI project artifacts across repositories

Project description

Artifactr

A cross-platform CLI tool inspired by Obsidian for managing AI project artifacts. Maintain a personal library of prompts, skills, agents, and commands in centralized "vaults" and import them into any git repository for use with AI coding assistants.

Features

  • Tool-agnostic storage: Store artifacts once, import to multiple AI tools
  • Cross-platform: Works on Linux, macOS, and Windows
  • Multiple vaults: Organize artifacts into separate collections with optional names
  • Selective import: Import specific artifacts by name with --artifacts
  • Artifact discovery: Scan any project for existing artifacts with art spelunk
  • Artifact collection: Store discovered artifacts back into a vault with art store
  • Import tracking: .art-cache/imported records what was imported and from where
  • Supported tools: Claude Code, OpenCode (extensible for more)
  • Automatic git exclusion: Adds imported artifacts to .git/info/exclude to protect against accidental commits of project-specific skills & prompts

Installation

Requires Python 3.

pip install artifactr

Usage

Managing Vaults

# Add a vault
art vault add ~/my-vault

# Add a vault with a name
art vault add ~/my-vault --name=favorites

# Name or rename an existing vault
art vault name ~/my-vault favorites

# List all vaults
art vault list

# List all vaults with full artifact hierarchy
art vault list --all

# Set default vault (by name or path)
art vault select favorites

# Remove a vault (by name or path)
art vault rm favorites

Vault names can be used in place of full directory paths in any command that accepts a vault identifier, including --vault on art import.

Managing Tools

# List supported tools and see current default
art tool list

# Set default tool (defaults to opencode)
art tool select claude-code

Importing Artifacts

# Import artifacts from default vault to default tool
art import ~/repos/my-project

# Import from a specific vault (by name or path)
art import ~/repos/my-project --vault=favorites

# Import for specific tools (overrides default)
art import ~/repos/my-project --tools=claude-code,opencode

# Symlink artifacts instead of copying
art import ~/repos/my-project --link

# Import only specific artifacts by name
art import ~/repos/my-project --artifacts=helping-hand,code-review

# Combine with other flags
art import ~/repos/my-project --vault=favorites --artifacts=helping-hand --link

Imported artifacts are tracked in .art-cache/imported within the target directory, recording which vault and tool each artifact came from.

Discovering Artifacts

Scan any directory for existing artifacts across all supported tool config directories:

# Discover artifacts in a project
art spelunk ~/repos/my-project

Example output:

NAME                              TYPE      TOOL      DESCRIPTION
helping-hand (imported: favs)     skill     claude    A helpful assistant
utility-tool                      skill     claude    -
reviewer                          agent     claude    Reviews code changes
deploy                            command   opencode  -

The (imported: ...) marker appears when an artifact was previously imported via art import, showing which vault it came from.

Storing Artifacts

Collect artifacts from a project directory and store them into a vault:

# Store artifacts into default vault
art store ~/repos/my-project

# Store into a specific vault
art store ~/repos/my-project --vault=favorites

You'll be presented with a numbered list of discovered artifacts and can select which ones to store using individual numbers (1), ranges (1-3), comma-separated (1,3,5), combinations (1,3-5), or all.

Vault Structure

vault/
├── skills/
│   └── skill-name/
│       ├── SKILL.md
│       └── (supporting files...)
├── agents/
│   └── agent-name.md
└── commands/
    └── command-name.md

Artifacts are copied (or symlinked with --link) to tool-specific directories in the target repo (e.g., .claude/skills/, .opencode/agents/) and automatically excluded from git tracking.

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

artifactr-0.0.1.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

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

artifactr-0.0.1-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file artifactr-0.0.1.tar.gz.

File metadata

  • Download URL: artifactr-0.0.1.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for artifactr-0.0.1.tar.gz
Algorithm Hash digest
SHA256 acb8aecfb2949551a334b52ef70036e8bfb595a40c60d929efe97ac5af0ccf68
MD5 d474c62cb309b82c50180cb33294569b
BLAKE2b-256 6c02649893d2165b6055f9c99acebf74b373f35a2d5d52d2756fa6c072bb7d46

See more details on using hashes here.

File details

Details for the file artifactr-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: artifactr-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for artifactr-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc71354f3109099deaebaf1d98e5cf6649f444d3cb9a04a75c251568a148221e
MD5 0c55db4850d58d414244d3806071352f
BLAKE2b-256 4facfee09ae42bf210e3bb18548cd1a6b9508a863bb049e1052d5fa4e77e1043

See more details on using hashes here.

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