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.2.tar.gz (25.6 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.2-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: artifactr-0.0.2.tar.gz
  • Upload date:
  • Size: 25.6 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.2.tar.gz
Algorithm Hash digest
SHA256 efe7ca23ecf0b98da5bac3392ee7a9e669d73dbdd07a65f5f2d6b7e8751278fb
MD5 b5574337ecc5dee38a6ac2de6c94e922
BLAKE2b-256 fa5e21c81b081976b63f2dcda9b59fd9be9217c7ef4ccc8a20ebd185c22a28ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: artifactr-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 24.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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cc1e95924274117099b9be5daf774508151a96941b5c6d7af96dfe9480030faf
MD5 212471cd2b0bf62171f73bc252ec873e
BLAKE2b-256 970260718b410e5df6e5dd71a3c4bcd4a70f5baae1b5eeee4aeb9246566fc5a2

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