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.6.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.6-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tarnished_cli-0.1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 76e1906ab7f792f94e9832118b510d38a634f1fa83c03b8c97b5f1d1f7f2d1e3
MD5 de211576a486ab45421b1ea8b749e6f7
BLAKE2b-256 2686160c3b87fa975b347e4a6e6868a9fd51bf164d226764c449b0fafa923486

See more details on using hashes here.

Provenance

The following attestation bundles were made for tarnished_cli-0.1.6.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.6-py3-none-any.whl.

File metadata

  • Download URL: tarnished_cli-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 27.5 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b6ba128d4d18f7eb41efabcb33eca6fe8009e0b12ad6d6ec9f795d1dbe4d5731
MD5 974368220ecb8c975708d47a3ceb824d
BLAKE2b-256 e8a28873c617f6d00a65ef8c30811af7092ad664247e003554cf96d4106aaaf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for tarnished_cli-0.1.6-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