Comprehensive documentation overhaul#12
Conversation
New docs covering execution pipeline, route system, configuration reference, interactive loop, output system, and glossary. README updated with links to all new documents.
New guides for best practices (rich types, static lambdas, DI, modules, MCP annotations), help system internals, and runtime channel detection. Enrich architecture.md with CoreReplApp vs ReplApp, commands.md with binding precedence, and parameter-system.md with answer slots.
Replace separate Features, Packages, and Documentation sections with a single "What's included" table mapping each feature to its NuGet package badge and documentation guides.
Document [ReplOptionsGroup] pattern for grouping related options into reusable classes with PagingOptions and FilterOptions examples.
Add .markdownlint.json config and lint-docs CI job using markdownlint-cli2-action. Fix fenced code block languages, duplicate headings, and heading level increments. Auto-fix applied whitespace and formatting issues.
Add missing blank lines around lists and fenced code blocks to satisfy MD031/MD032 rules.
- Remove incorrect 'cd' ambient command and '.' root navigation from interactive-loop.md - Fix architecture.md CI platform claim (Linux and macOS, not Windows) - Expand markdownlint glob to **/*.md covering samples and packages - Gate release job on lint-docs passing - Auto-fix blank line warnings in samples and root markdown files
Add missing options groups and null steps to match commands.md and route-system.md (9 steps instead of 7).
Use ReplApp.Create() instead of private constructor, and app.Options(o => o.AmbientCommands.MapAmbient(...)) instead of non-existent ConfigureAmbientCommands method.
| | Command | Description | | ||
| |------------|------------------------------------| | ||
| | `exit` | End the interactive session. | | ||
| | `history` | Show command history. | | ||
| | `clear` | Clear the terminal screen. | | ||
| | `help` | Display help for the current scope.| | ||
| | `complete` | List completions for input. | |
There was a problem hiding this comment.
🟡 clear incorrectly listed as a built-in ambient command in interactive-loop.md
The ambient commands table in docs/interactive-loop.md:67-73 lists clear as a built-in ambient command. However, clear is NOT a built-in ambient command — it must be explicitly registered by the user via AmbientCommandOptions.MapAmbient(). The actual built-in ambient commands (per src/Repl.Core/CoreReplApp.Interactive.cs:280-336) are: help/?, .., exit, complete, autocomplete, and history. The authoritative docs/commands.md:239-250 correctly lists these. Additionally, the table is missing the built-in .. and autocomplete commands.
| | Command | Description | | |
| |------------|------------------------------------| | |
| | `exit` | End the interactive session. | | |
| | `history` | Show command history. | | |
| | `clear` | Clear the terminal screen. | | |
| | `help` | Display help for the current scope.| | |
| | `complete` | List completions for input. | | |
| | Command | Description | | |
| |---------------|------------------------------------|| | |
| | `help` / `?` | Display help for the current scope.| | |
| | `..` | Navigate up one scope level. | | |
| | `exit` | End the interactive session. | | |
| | `history` | Show command history. | | |
| | `complete` | List completions for input. | | |
| | `autocomplete`| Show or change autocomplete mode. | |
Was this helpful? React with 👍 or 👎 to provide feedback.
|
|
||
| ### Ambient command | ||
|
|
||
| Built-in command available in interactive mode (e.g., `exit`, `cd`, `history`, `clear`). Can be extended via `AmbientCommandOptions.MapAmbient()`. |
There was a problem hiding this comment.
🟡 Glossary lists non-existent cd and non-built-in clear as ambient command examples
The glossary entry for "Ambient command" at docs/glossary.md:7 says: (e.g., \exit`, `cd`, `history`, `clear`). There is no cdambient command in the codebase — navigation uses..instead (seesrc/Repl.Core/CoreReplApp.Interactive.cs:289). And clearis not a built-in ambient command; it must be registered by the user. This contradicts the authoritative list indocs/commands.md:239-250`.
| Built-in command available in interactive mode (e.g., `exit`, `cd`, `history`, `clear`). Can be extended via `AmbientCommandOptions.MapAmbient()`. | |
| Built-in command available in interactive mode (e.g., `exit`, `..`, `history`, `help`). Can be extended via `AmbientCommandOptions.MapAmbient()`. |
Was this helpful? React with 👍 or 👎 to provide feedback.
- glossary: correct channel values to match ReplRuntimeChannel enum - glossary: fix ambient command examples to match actual built-ins - interactive-loop: remove phantom 'clear' ambient command - architecture: replace non-existent Repl.Benchmarks with actual projects - best-practices: fix MapAmbient call signature (description is a parameter) - parameter-system: remove incorrect Repl.Parameters namespace claim - sample 01 README: align code listing with actual Program.cs
Summary