Skip to content

feat(fastlane_cli): add new spec#2625

Open
bthnkucuk wants to merge 1 commit into
withfig:masterfrom
bthnkucuk:add-fastlane_cli-spec
Open

feat(fastlane_cli): add new spec#2625
bthnkucuk wants to merge 1 commit into
withfig:masterfrom
bthnkucuk:add-fastlane_cli-spec

Conversation

@bthnkucuk

Copy link
Copy Markdown

Overview

Adds an autocomplete spec for fastlane_cli
— a terminal-first Fastlane assistant for Flutter projects, distributed via
its own Homebrew tap (brew install bthnkucuk/fastlane_cli/fastlane_cli).

What this CLI does

fastlane_cli is a Dart binary that wraps a categorised, locale-aware
Fastlane runner so any Flutter app can drop a cli_profile.yaml next to its
fastlane/ folder and run lanes (TestFlight, Play Internal, store metadata,
version bump, etc.) from a terminal-first TUI or non-interactively
through subcommands like fastlane_cli run <action-id>.

Spec design notes

  • No static action list. The run <action-id> positional argument and the
    list --category <id> option both use a generator that shells out to
    fastlane_cli list --json and parses the result (id, title,
    description, category). This keeps suggestions accurate when consumers
    add custom actions in their cli_profile.yaml — a static enumeration would
    go stale instantly.
  • Cache TTL: 5s. The CLI's JSON output is deterministic for a given profile,
    so re-running on every keystroke is wasteful; 5s is plenty for snappy
    iterative usage.
  • Every --profile flag uses template: "filepaths" so the dropdown
    surfaces yaml files (especially the well-known cli_profile.yaml).
  • skills install --global and --project use exclusiveOn since the
    CLI rejects passing both.

Validation

  • tsc --noEmit against the entire src/ tree: passing.
  • prettier --check src/fastlane_cli.ts --parser typescript: passing.
  • Every flag in the spec maps 1:1 to an option declared in the
    matching lib/src/cli/*_command.dart upstream (drift-checked).

Sibling PR

Mirrored in the source-of-truth repo:
bthnkucuk/fastlane_cli#6.

Adds an autocomplete spec for fastlane_cli, a terminal-first
Fastlane assistant for Flutter projects. The 'run <action-id>' and
'list --category <id>' arguments use a generator that shells out to
'fastlane_cli list --json' so action ids and category ids stay in
sync with whatever the user's cli_profile.yaml defines (including
custom actions added by consumers).
@withfig-bot

Copy link
Copy Markdown
Contributor


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@withfig-bot

Copy link
Copy Markdown
Contributor

Overview

src/fastlane_cli.ts:

Info:

@withfig-bot

Copy link
Copy Markdown
Contributor

Hello @bthnkucuk,
thank you very much for creating a Pull Request!
Here is a small checklist to get this PR merged as quickly as possible:

  • Do all subcommands / options which take arguments include the args property (args: {})?
  • Are all options modular? E.g. -a -u -x instead of -aux
  • Have all other checks passed?

Please add a 👍 as a reaction to this comment to show that you read this.

bthnkucuk added a commit to bthnkucuk/fastlane_cli that referenced this pull request May 18, 2026
bthnkucuk added a commit to bthnkucuk/fastlane_cli that referenced this pull request May 18, 2026
* feat(spec): add Kiro / Amazon Q CLI autocomplete spec

Add `dist/amazon-q-spec/fastlane_cli.ts` — a Fig.Spec mirror of every
subcommand, option, and argument in `lib/src/cli/`. The `run` and
`list --category` arguments use a generator that shells out to
`fastlane_cli list --json` so action ids never go stale when consumers
add custom entries in their `cli_profile.yaml`.

Companion `dist/amazon-q-spec/README.md` explains local dev-mode testing
and standalone typecheck. The canonical destination is
`withfig/autocomplete/src/fastlane_cli.ts`; the upstream PR is a sibling
of this one.

Bumps `pubspec.yaml` + the homebrew formula draft to 0.2.0 per the
fastlane-cli-version-bump skill (new shipped surface = minor bump).

* style(spec): match upstream prettier wrap on init description

* docs(spec): link upstream withfig/autocomplete#2625
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants