Skip to main content

Agent-first CLI for Tarnished

Project description

Tarnished CLI

Agent-first command-line interface for Tarnished.

Install

Supported install path:

brew tap markoonakic/tap
brew install tarnished-cli

For local release verification only:

uv tool install ./dist/tarnished_cli-<version>-py3-none-any.whl

Authentication

Tarnished CLI is API-key-first.

  1. Create or rotate the API key in the Tarnished web app.
  2. Prefer the CLI preset so the key includes the scopes the CLI expects.
  3. Validate and store the key locally:
uv run tarnished auth init --api-key '...'
  1. Run the auth doctor to confirm the stored key, live auth check, and required CLI scopes all pass:
uv run tarnished auth doctor
uv run tarnished auth whoami
  1. Clear the locally stored key when needed:
uv run tarnished auth api-key clear

The web app remains the source of truth for API keys. The CLI does not create, rotate, revoke, or otherwise manage remote API keys.

Development

cd cli
uv sync
uv run tarnished --help
uv run pytest -q

Release

The repository release workflow builds CLI distributions, publishes them to the GitHub release, publishes the CLI to PyPI by default, and then updates the Homebrew tap from the released PyPI sdist.

One-Time PyPI Trusted Publishing Setup

  1. Create the tarnished-cli project on PyPI.
  2. In the PyPI project settings, add a Trusted Publisher for this GitHub repository.
  3. Use these values:
    • Owner: markoonakic
    • Repository: tarnished
    • Workflow name: release.yml
    • Environment name: pypi

One-Time Homebrew Tap Automation Setup

  1. Create a write-enabled deploy key for markoonakic/homebrew-tap.
  2. Add the private key to this repository as the HOMEBREW_TAP_DEPLOY_KEY secret.
  3. The release workflow will:
    • update Formula/tarnished-cli.rb from PyPI metadata
    • refresh Python resource blocks with brew update-python-resources
    • build the formula from source and run brew test tarnished-cli
    • push the tap update to markoonakic/homebrew-tap

Release Outputs

The release workflow publishes:

  • cli/dist/*.whl
  • cli/dist/*.tar.gz

to the GitHub release, publishes to PyPI, and updates the Homebrew tap.

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

tarnished_cli-0.1.7.tar.gz (50.9 kB view details)

Uploaded Source

Built Distribution

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

tarnished_cli-0.1.7-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

Details for the file tarnished_cli-0.1.7.tar.gz.

File metadata

  • Download URL: tarnished_cli-0.1.7.tar.gz
  • Upload date:
  • Size: 50.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tarnished_cli-0.1.7.tar.gz
Algorithm Hash digest
SHA256 83f55d9fa5a099bdf1c46f2ca44d45e1cc744abc2fa6fc8cfb64cd8a4ccbdd7a
MD5 a53e3dde588046d89c8202db8a2f9a59
BLAKE2b-256 d9b3157dbdda75d1d8eaa56a00f37dcd93007fa53982f22e5e55866cdef362ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for tarnished_cli-0.1.7.tar.gz:

Publisher: release.yml on markoonakic/tarnished

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

File details

Details for the file tarnished_cli-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: tarnished_cli-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tarnished_cli-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f6cbb8e77d74cc961cbb2a6be00b63824b0e794c60f99e190fa9259ebb765db1
MD5 02cf81cbac098cdc90618aa54aa302da
BLAKE2b-256 014e579ba0f9be6cb206eef20d03b74c0838c1580d46db4e782ed1d6375365c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tarnished_cli-0.1.7-py3-none-any.whl:

Publisher: release.yml on markoonakic/tarnished

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