Skip to content

Add shell autocomplete (bash/zsh) for aegisctl #81

Description

@saivedant169

Problem

aegisctl has a growing list of subcommands (pending, approve, deny, verify, evidence, simulate, why, diff-policy, manifest, supply-chain, policy-pack, test-action, plugin). Typing them without tab completion is a drag.

Acceptance criteria

  • New command: aegisctl completion bash prints a bash completion script to stdout
  • New command: aegisctl completion zsh prints a zsh completion script to stdout
  • Completion covers top-level subcommands (not every nested flag, that would be a lot)
  • Short instructions for installing it live in starter-kit/QUICKSTART_PR_WRITER.md or a new docs/aegisctl-completion.md
  • Unit test verifies the output contains the expected subcommand names

Files to touch

  • cmd/aegisctl/completion.go (new)
  • cmd/aegisctl/main.go (wire the new subcommand)
  • cmd/aegisctl/completion_test.go (new)
  • Optional: docs/aegisctl-completion.md for installation instructions

How to test locally

./bin/aegisctl completion bash > /tmp/aegisctl-completion.bash
source /tmp/aegisctl-completion.bash
# Now type "aegisctl " and press TAB

Notes

No need to use a fancy library for this. A hand-written bash function is fine for a project this size. Look at how gh, kubectl, or docker handle their completion scripts for inspiration.

Activity

  1. Keesan12 commented on Jul 21, 2026

    @Keesan12

    Shell autocomplete is a small thing that makes an operational tool feel like it belongs in someone's actual workflow. The more powerful the controls get, the more the interface has to reduce accidental misuse without hiding the important choices.

    We are thinking about that with MartinLoop too. The goal is not to force people through a governance ceremony. It is to make the safe, inspectable way to run a coding agent the natural path: clear limits, a real finish line, and a receipt for the work.

    Curious which commands people are most likely to get subtly wrong today. MartinLoop is open source at https://github.com/Keesan12/martin-loop. Hard feedback or early-user stories are welcome at support@martinloop.com.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions