Repository navigation
refactor: rename --env to --node/-n across the CLI - #275
Draft
outofcoffee wants to merge 3 commits into
Draft
outofcoffee wants to merge 3 commits into
outofcoffee wants to merge 3 commits into
Conversation
Aligns the external target vocabulary with the internal node term. One flag resolves as a fleet-node pin with a fleet in force and as a registered environment without one; --env/-e is removed cleanly. Closes #236
"env" read as environment variables where the domain word has always been node. The launch's two target flags — the fleet pin --node and the renamed --env — merge into one --node/-n: a fleet node with a fleet in force, a registered cloud environment otherwise, refused outright beside an explicit --fleet as two answers to one target. Beside a fleet.yaml discovered in the working directory, --node now narrows reads and drives to that node rather than being refused. fleet deploy and cloud deploy keep --node long-form only, their -n being --dry-run. Genuinely environmental spellings are untouched: the ENV instruction, .env files, --print-env, --token-env and the cloud env command. --env itself is removed without an alias. Closes #236
Review of the draft caught the refusal of --node beside --fleet as half-incoherent: the launch path had long accepted exactly that pair (--fleet the file, --node the pin into it), so the same flags read one way on code and failed another on status. The refusal was a memento of --env, which named a separate registered environment and so genuinely competed with a fleet; --node names a node of whatever fleet is in force, flagged or discovered, and that is one answer. A name a *named* file lacks now fails naming the file and its nodes; the registry fallback remains only beside a discovered fleet.yaml, a file that states no intent. --node completion feeds from the fleet in force, an explicit --fleet value beating the directory's file.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
--envimplied environment variables, but the domain word has always been node — a fleet node to pin a launch or a drive to, or a registered cloud environment when no fleet is in force. Align the external flag with the internal vocabulary.Closes #236.
What changes
--nodeand the renamed--env— merge into one-n/--node.--fleetnames the fleet,--nodenames the node within it — flagged or discovered, and on every command: the launch pins to it, the read commands narrow to its row,fleet start/stoptake it in lieu of the positional name. A name a named file lacks fails naming the file and its nodes; only beside a discoveredfleet.yamldoes an unknown name fall back to a registered environment, since a file that merely sits in the directory states no intent. (An earlier draft refused the pair on the fleet commands; review caught that the launch path already accepted it, making the refusal the odd half —checkOneTargetis gone.)--envis removed outright, no compatibility alias.splitHarnessArgscatches a forwarded--env/-eon the launch and names the new spelling.-nis the short form everywhere exceptfleet deployandcloud deploy, where-nstays--dry-runand the node is named long-form only.ENVinstruction,.envfiles,--print-env,--token-env, and thecloud envcommand (only its target flag becomes--node).--nodecompletion on the fleet commands now offers the fleet in force's node names as well as registered environments, honouring an explicit--fleetvalue on the line.Notes
cloudpackage vocabulary (Environment, theclouds/<name>/cloud.jsonregistry, the AWSenvwire param) is deliberately not renamed — this is CLI surface only.openspec/changes/rename-env-flag-to-node/.fleet start -nriding the node's Spinloop as a deploy config.#236