Skip to main content

Shared CLI interface for Artificer — AI dev tooling built on MCP

Project description

artificer-cli

The shared CLI interface for the Artificer project — AI dev tooling built on MCP (Model Context Protocol).

What is this?

A minimal, configuration-driven CLI that dynamically loads features from installed Artificer packages. Instead of shipping a monolithic CLI, each Artificer package (workflows, conversations, etc.) registers its own commands through a simple plugin system.

Installation

pip install artificer-cli

Usage

artificer --help
artificer --version

Commands are added by installing Artificer feature packages and registering them in your pyproject.toml:

[tool.artificer]
features = [
    "artificer.workflows.feature.WorkflowFeature",
    "artificer.conversations.feature.ConversationFeature"
]

Creating Features

Features extend ArtificerFeature and implement register():

from artificer.cli.feature import ArtificerFeature
from artificer.cli.config import ArtificerConfig
import click

class MyFeature(ArtificerFeature):
    @classmethod
    def register(cls, cli: click.Group, config: ArtificerConfig) -> None:
        @cli.command()
        def my_command():
            """Does something useful."""
            click.echo("Hello from my feature")

Architecture

  • config.py — Loads [tool.artificer] from pyproject.toml
  • feature.py — Base class for all features
  • loader.py — Dynamic feature import and validation
  • cli.py — Builds the Click CLI from config

The artificer/ directory is a PEP 420 namespace package, allowing other packages to extend it (e.g., artificer.workflows, artificer.mcp).

Development

# Install dev dependencies
uv sync

# Run tests
./scripts/test.sh

# Type check
./scripts/typecheck.sh

# All checks
./scripts/check.sh

License

MIT

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

artificer_cli-0.1.0a4.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

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

artificer_cli-0.1.0a4-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file artificer_cli-0.1.0a4.tar.gz.

File metadata

  • Download URL: artificer_cli-0.1.0a4.tar.gz
  • Upload date:
  • Size: 33.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for artificer_cli-0.1.0a4.tar.gz
Algorithm Hash digest
SHA256 a49e0a1304c641e3ce1986e2963ea7f2d285b4f4de0122c35c90cd5fe7e12e9a
MD5 de3d8aed0600efd7378ca7dc7037078f
BLAKE2b-256 7513c70b51604dac31bfceca14c717e5b2288e0c18b767bb12afff48b3b1df6b

See more details on using hashes here.

File details

Details for the file artificer_cli-0.1.0a4-py3-none-any.whl.

File metadata

File hashes

Hashes for artificer_cli-0.1.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 7b63407cdef35d8daffe733784d413c8fe712cd5803a39d5a0dabd27c61aa7e2
MD5 044cd8ba56703a516e96831b50f19297
BLAKE2b-256 a67387421eb3a39813ba0d8c2dfb7efe6d26341509f2648a73d8188621c3ba84

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