Skip to content

Redesign CLI interface #1

@O6lvl4

Description

@O6lvl4

Problem

The current CLI requires running through almide run, making it verbose and unintuitive:

almide run src/main.almd -- --lang python mylib.almd

Users must know the internal entry point path (src/main.almd) and use -- to separate almide flags from lander flags.

Desired Interface

# After `almide build` produces a standalone binary:
lander --lang python mylib.almd
lander --lang python,go,swift mylib.almd
lander --list
lander --dry-run --lang almide mylib.almd
lander mylib.almd                          # default: all languages? or prompt?

Or as an almide subcommand:

almide land --lang python mylib.almd

Issues with Current CLI

  1. Verbose invocationalmide run src/main.almd -- is boilerplate
  2. No standalone binary distribution — must clone the repo to use
  3. --help formatting — language list indentation is broken
  4. No default behaviorlander mylib.almd without --lang should do something useful
  5. Output naming — generated files use .txt extension for almide target instead of .almd
  6. No --output flag — can't control individual output filenames
  7. Step counter bug — shows [3/false] instead of correct step numbers

Proposal

  • Build lander as a standalone binary (almide build src/main.almd -o lander)
  • Publish as a downloadable tool or almide install almide/almide-lander
  • Fix help text formatting
  • Fix step counter
  • Use .almd extension for almide target output
  • Add sensible defaults (e.g., --lang all or interactive selection)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions