Skip to main content

Unified CLI for managing all Aitronos services

Project description

Aitronos CLI

Unified command-line interface for managing all Aitronos services, including Streamline automations, AI assistants, and more.

Installation

Via pip (Recommended for Python developers)

pip install aitronos-cli

Via Homebrew (Recommended for macOS/Linux)

# Add the Aitronos tap
brew tap aitronos/tap

# Install the CLI
brew install aitronos-cli

Verify Installation

aitronos --version

Quick Start

1. Authentication

Login to your Aitronos account:

aitronos auth login

2. Streamline Automations

Initialize a new Streamline project:

aitronos streamline init

Upload an automation:

aitronos streamline upload

Link a GitHub repository:

aitronos streamline link-repo

Execute an automation:

aitronos streamline execute <automation-id>

3. View Logs

aitronos streamline logs <automation-id>

Features

  • Authentication: Secure login with email verification
  • Streamline Automations: Create, upload, and manage automations
  • GitHub Integration: Link repositories for automatic syncing
  • Execution Management: Run automations and view real-time logs
  • Template Support: Initialize projects from templates
  • Interactive Menus: User-friendly navigation with arrow keys

Commands

Authentication

  • aitronos auth login - Login to your account
  • aitronos auth logout - Logout from your account
  • aitronos auth status - Check authentication status

Streamline

  • aitronos streamline init - Initialize a new project/repository
  • aitronos streamline upload - Upload automation manually
  • aitronos streamline link-repo - Link GitHub repository
  • aitronos streamline list - List all automations
  • aitronos streamline execute <id> - Execute an automation
  • aitronos streamline logs <id> - View execution logs
  • aitronos streamline sync <id> - Sync automation from GitHub
  • aitronos streamline delete <id> - Delete an automation
  • aitronos streamline schedule <id> - Set execution schedule
  • aitronos streamline remove-schedule <id> - Remove schedule

Configuration

The CLI stores configuration in ~/.aitronos/:

  • config.yaml - General configuration
  • auth.json - Authentication tokens (never share this file)

Development

Setup Development Environment

# Clone repository
git clone https://github.com/Aitronos-Development/aitronos.cli.git
cd aitronos.cli

# Install UV (if not already installed)
# macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or via Homebrew:
brew install uv

# Install dependencies
uv sync

# Install in editable mode for development
uv pip install -e .

Running in Development Mode

Option 1: Direct Python Execution (Recommended for Testing)

# Run the CLI directly without installing
uv run python -m aitronos_cli.cli --help

# Test specific commands
uv run python -m aitronos_cli.cli auth login
uv run python -m aitronos_cli.cli streamline init
uv run python -m aitronos_cli.cli streamline list

Option 2: Editable Install (Recommended for Full Testing)

# Install in editable mode
uv pip install -e .

# Now you can use the CLI as if it were installed
aitronos --help
aitronos auth login
aitronos streamline init

Option 3: Using the Entry Point Script

# Run directly from the source
uv run aitronos --help
uv run aitronos auth status

Testing Changes

# Make changes to the code
vim aitronos_cli/cli.py

# Test immediately (no reinstall needed with editable mode)
aitronos --version

# Or run directly
uv run python -m aitronos_cli.cli --version

Running Tests

# Run all tests
uv run pytest tests/

# Run with coverage
uv run pytest tests/ --cov=aitronos_cli --cov-report=term

# Run specific test file
uv run pytest tests/test_auth.py

# Run tests in verbose mode
uv run pytest tests/ -v

Code Quality

The project uses strict compliance checks:

# Run all compliance checks
./start-compliance.sh

# Run specific checks
uvx ruff check .              # Linting
uvx ruff format --check .     # Format check
uvx ruff format .             # Auto-format code
uvx bandit -r aitronos_cli/   # Security scan
uv run pytest tests/ --cov    # Tests with coverage

Debugging Tips

# Enable verbose output
aitronos --verbose streamline list

# Check configuration
cat ~/.aitronos/config.yaml
cat ~/.aitronos/auth.json

# Test API connectivity
uv run python -c "from aitronos_cli.config import config; print(config.get_api_url())"

# Clear authentication (for testing login flow)
rm ~/.aitronos/auth.json

Common Development Tasks

# Add a new dependency
uv add requests

# Add a development dependency
uv add --dev pytest

# Update dependencies
uv sync

# Check for outdated packages
uv pip list --outdated

# Run linting and auto-fix issues
uvx ruff check --fix .

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feat/amazing-feature)
  3. Make your changes
  4. Run tests and compliance checks
  5. Commit your changes (git commit -m 'feat: add amazing feature')
  6. Push to the branch (git push origin feat/amazing-feature)
  7. Open a Pull Request

Branch Naming Conventions

  • feat/ - New features
  • fix/ - Bug fixes
  • docs/ - Documentation updates
  • refactor/ - Code refactoring
  • test/ - Test additions/improvements

Documentation

Support

License

MIT License - see LICENSE for details

Changelog

See CHANGELOG.md for version history and changes.

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

aitronos_cli-0.2.0.tar.gz (37.2 kB view details)

Uploaded Source

Built Distribution

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

aitronos_cli-0.2.0-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file aitronos_cli-0.2.0.tar.gz.

File metadata

  • Download URL: aitronos_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 37.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aitronos_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4c3d15155fce7b3d3423a01ae6d7374c3cffea755312e7782f844e263d2a88c5
MD5 767aefbe9d09336dec189dc34660f7ba
BLAKE2b-256 045767fa8bfd731138be0731056156a61ec9a54921a55d13972e6f5d7dcd327c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aitronos_cli-0.2.0.tar.gz:

Publisher: deploy-pypi.yml on Aitronos-Development/aitronos.cli

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

File details

Details for the file aitronos_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: aitronos_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aitronos_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a8892180a3c31ef956dd37cd5155eba5ddfbb0250b27c5ce429852aec934084
MD5 f2444cd9d0b6baab841dfbc72047de08
BLAKE2b-256 e42ea7d02e0d0dba503109a28fda45ea80de04e3569164eed2c82074b67c75fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for aitronos_cli-0.2.0-py3-none-any.whl:

Publisher: deploy-pypi.yml on Aitronos-Development/aitronos.cli

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