Skip to content

Comprehensive documentation overhaul#12

Merged
carldebilly merged 11 commits intomainfrom
dev/cdb/docs-improve
Mar 29, 2026
Merged

Comprehensive documentation overhaul#12
carldebilly merged 11 commits intomainfrom
dev/cdb/docs-improve

Conversation

@carldebilly
Copy link
Copy Markdown
Member

@carldebilly carldebilly commented Mar 29, 2026

Summary

  • Add 9 new documentation guides covering the execution pipeline, route system, configuration reference, interactive loop, output system, best practices, help system, runtime channels, and glossary
  • Restructure README into a unified feature/package/docs table with NuGet badges
  • Enrich existing docs with route constraints, binding precedence, answer slots, and CoreReplApp vs ReplApp distinction
  • Add markdownlint linting to CI pipeline

Open with Devin

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.
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 4 additional findings.

Open in Devin Review

Add missing blank lines around lists and fenced code blocks
to satisfy MD031/MD032 rules.
devin-ai-integration[bot]

This comment was marked as resolved.

- 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).
devin-ai-integration[bot]

This comment was marked as resolved.

Use ReplApp.Create() instead of private constructor, and
app.Options(o => o.AmbientCommands.MapAmbient(...)) instead of
non-existent ConfigureAmbientCommands method.
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 new potential issues.

View 7 additional findings in Devin Review.

Open in Devin Review

Comment thread docs/interactive-loop.md
Comment on lines +67 to +73
| 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. |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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.

Suggested change
| 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. |
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment thread docs/glossary.md Outdated

### Ambient command

Built-in command available in interactive mode (e.g., `exit`, `cd`, `history`, `clear`). Can be extended via `AmbientCommandOptions.MapAmbient()`.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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`.

Suggested change
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()`.
Open in Devin Review

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
@carldebilly carldebilly merged commit 4a7003d into main Mar 29, 2026
12 checks passed
@carldebilly carldebilly deleted the dev/cdb/docs-improve branch March 29, 2026 03:07
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