CLI Consolidation Migration Guide

Audience: operators and CI authors migrating from the standalone stella-* tools (stella-aoc, stella-symbols) to the unified stella command.

Effective date2025-01-01 (deprecation begins)
Sunset date2025-07-01 (old CLIs removed)

Overview

StellaOps is consolidating multiple standalone CLI tools into a single unified stella command with plugin-based subcommands. This improves the developer experience, simplifies distribution, and ensures consistent behavior across all CLI operations.

Note: This guide covers the standalone-binary consolidation (stella-aoc, stella-symbolsstella). For the separate v2.x → v3.0 command-tree reorganization, see the v2.x to v3.0 migration guide.

Migration Summary

Old CLINew CommandStatus
stella-aoc verifystella aoc verifyAvailable
stella-symbols ingeststella symbols ingestAvailable
stella-symbols uploadstella symbols uploadAvailable
stella-symbols verifystella symbols verifyAvailable
stella-symbols healthstella symbols healthAvailable
cryptorucryptoru (unchanged)Separate

Note: cryptoru CLI remains separate due to regional compliance requirements.

Migration Steps

1. AOC CLI Migration

Before (deprecated):

stella-aoc verify --since 2025-01-01 --postgres "Host=localhost;..."

After:

stella aoc verify --since 2025-01-01 --postgres "Host=localhost;..."

Command Options (unchanged):

2. Symbols CLI Migration

Ingest Command

Before (deprecated):

stella-symbols ingest --binary ./myapp --debug ./myapp.pdb --server https://symbols.example.com

After:

stella symbols ingest --binary ./myapp --debug ./myapp.pdb --server https://symbols.example.com

Upload Command

Before (deprecated):

stella-symbols upload --manifest ./manifest.json --server https://symbols.example.com

After:

stella symbols upload --manifest ./manifest.json --server https://symbols.example.com

Verify Command

Before (deprecated):

stella-symbols verify --path ./manifest.json

After:

stella symbols verify --path ./manifest.json

Health Command

Before (deprecated):

stella-symbols health --server https://symbols.example.com

After:

stella symbols health --server https://symbols.example.com

CI/CD Updates

GitHub Actions

Before:

- name: Verify AOC compliance
  run: stella-aoc verify --since ${{ github.event.before }} --postgres "$POSTGRES_CONN"

After:

- name: Verify AOC compliance
  run: stella aoc verify --since ${{ github.event.before }} --postgres "$POSTGRES_CONN"

GitLab CI

Before:

aoc-verify:
  script:
    - stella-aoc verify --since $CI_COMMIT_BEFORE_SHA --postgres "$POSTGRES_CONN"

After:

aoc-verify:
  script:
    - stella aoc verify --since $CI_COMMIT_BEFORE_SHA --postgres "$POSTGRES_CONN"

Shell Scripts

Update any shell scripts that invoke the old CLIs:

# Find and replace patterns
sed -i 's/stella-aoc /stella aoc /g' scripts/*.sh
sed -i 's/stella-symbols /stella symbols /g' scripts/*.sh

Deprecation Timeline

DateAction
2025-01-01Deprecation warnings added to old CLIs
2025-03-01Warning frequency increased (every invocation)
2025-05-01Old CLIs emit error + warning, still functional
2025-07-01Old CLIs removed from distribution

Deprecation Warnings

When using deprecated CLIs, you will see warnings like:

[DEPRECATED] stella-aoc is deprecated and will be removed on 2025-07-01.
Please migrate to: stella aoc verify ...
See: https://docs.stellaops.io/cli/migration

Plugin Architecture

The new stella CLI uses a plugin architecture. Plugins are automatically discovered from:

Each plugin provides:

Troubleshooting

Plugin Not Found

If a subcommand is not available:

  1. Check plugin directory exists:

    ls $(dirname $(which stella))/plugins/cli/
    
  2. Verify manifest file:

    cat $(dirname $(which stella))/plugins/cli/StellaOps.Cli.Plugins.Aoc/stellaops.cli.plugins.aoc.manifest.json
    
  3. Enable verbose logging:

    stella --verbose aoc verify ...
    

Version Compatibility

Ensure all components are from the same release:

stella --version
# StellaOps CLI v1.0.0

Environment Variables

The unified CLI respects all existing environment variables:

VariableDescription
STELLAOPS_BACKEND_URLBackend API URL
STELLAOPS_CLI_PLUGINS_DIRCustom plugins directory
STELLAOPS_AUTHORITY_URLAuthority service URL
STELLAOPS_LOG_LEVELLogging verbosity

Getting Help