Skip to content

Project Tom Hagen: document dynamic parsing - #30

Merged
cowboyd merged 1 commit into
mainfrom
project-tom-hagen-readme
Sep 23, 2026
Merged

cowboyd merged 1 commit into
mainfrom
project-tom-hagen-readme

Conversation

@cowboyd

@cowboyd cowboyd commented Sep 9, 2026 •

Copy link
Copy Markdown
Collaborator

Motivation

The README introduced Configliere as an entry-point router, but did not clearly explain how dynamic parsing changes ordinary help and version assumptions. Inspecting raw argv and bypassing configuration loading for --help or --version can resolve the wrong route when configuration or plugins introduce routes at runtime.

The two primary reasons to pause parsing—loading configuration values and loading plugins that add options or routes—also need to be explicit.

Approach

Explain Configliere through its governing abstraction: parsing progressively binds phases, expands the available route graph, and only then resolves a method at the deepest selected route. Configuration files and plugins are presented as the two canonical reasons to suspend that process—one contributes later value sources, while the other can contribute parameters and routes.

Help and version follow the same routing process as execution because they are methods on a resolved route, not shortcuts inferred from raw argv. A driver must therefore advance each successful increment until it reaches an intent or failure. This deliberately means that help for a dynamically introduced route may require loading configuration or plugins; in exchange, Configliere never prints authoritative help for an incomplete route graph. Increment work should remain side-effect-safe, report requirement failures through Result, and defer application behavior until an EXECUTE intent.

@pkg-pr-new

pkg-pr-new Bot commented Sep 9, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/configliere@30

commit: d56e132

@cowboyd
cowboyd added this pull request to stack #24 September 9, 2026 02:42
@cowboyd
cowboyd force-pushed the project-tom-hagen-readme branch from 2415d8c to fb52bc6 Compare September 9, 2026 03:23
@jbolda
jbolda force-pushed the project-tom-hagen-readme branch from a1cd220 to fb52bc6 Compare September 9, 2026 18:00
@cowboyd
cowboyd force-pushed the project-tom-hagen-readme branch 5 times, most recently from 5b2eda8 to 58cc13d Compare September 23, 2026 15:04
Base automatically changed from project-tom-hagen-arguments to main September 23, 2026 15:07
@cowboyd
cowboyd force-pushed the project-tom-hagen-readme branch from 58cc13d to d56e132 Compare September 23, 2026 15:07
@cowboyd
cowboyd merged commit 4d6b88d into main Sep 23, 2026
4 checks passed
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.

1 participant