Skip to content

[#67] Added AI agents docs and a JSON Schema agent surface, with single-line doc formatting.#71

Merged
AlexSkrypnyk merged 9 commits into
mainfrom
feature/67-agent-docs
Jul 20, 2026
Merged

[#67] Added AI agents docs and a JSON Schema agent surface, with single-line doc formatting.#71
AlexSkrypnyk merged 9 commits into
mainfrom
feature/67-agent-docs

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Jul 20, 2026

Copy link
Copy Markdown
Member

Closes #67

Summary

Adds a new "AI agents" documentation page and reshapes the form's agent-facing surface around it. agentHelp() now returns a JSON Schema (draft 2020-12) of the answers - each question keyed by id, carrying its type, allowed values, title/description, default and the env variable that sets it, with the resolution order as the root x-precedence. It no longer names any CLI flags, because the flags an agent ultimately calls are the consumer's to define. A new runnable playground/05-headless/agent-cli.php demonstrates the pattern by folding agentHelp() into a consumer tool's own help output.

Alongside this, installs Prettier as a docs/ devDependency configured for single-line prose and reformats all existing docs/content/**/*.mdx files to that style, fixing two dash-aside paragraphs that the reformat caused to mis-render as stray bullet list items.

Changes

Agent-facing surface (agentHelp())

  • Reworked src/Schema/AgentHelp.php to emit a JSON Schema of the answers instead of a plain-text guide: standard keywords (type, enum, minimum/maximum, required, default, title, description) plus an env key per property and a root x-precedence. A pause carries no answer and is omitted.
  • Removed the now-unused instruction strings from translations/tui.php and updated AgentHelpTest, TuiTest and TranslationRenderTest to assert on the schema.

AI agents documentation page

  • Added docs/content/ai-agents.mdx to the "Guides" sidebar category in docs/sidebars.js, presenting agentHelp() (the answer schema), schema() (the fuller raw metadata) and validate(), and documenting the precedence and TUI_<ID> environment convention.
  • Cross-linked it from docs/content/index.mdx, docs/content/headless-collection.mdx and docs/content/playground.mdx; added requiredness to docs/cspell.json.

Consumer-help playground demo

  • Added playground/05-headless/agent-cli.php: a self-contained produce-order form that prints the consumer tool's own help with agentHelp() folded in under an "AI agents" heading. It takes no CLI options - the flags an agent uses are the consumer's own interface.
  • Updated playground/README.md to list it among the 05-headless/ scripts.

Prettier tooling and single-line prose enforcement

  • Added docs/.prettierrc.json (proseWrap: never, a high printWidth so JSX image tags stay untouched, embeddedLanguageFormatting: off) and docs/.prettierignore.
  • Added prettier, pinned to an exact 3.9.5, with format and format:check scripts; format:check gates the docs test script alongside jest and spellcheck.
  • Reformatted all existing docs/content/**/*.mdx to single-line prose.

Rendering and wording fixes

  • Rejoined dash-aside paragraphs in architecture.mdx and option-groups.mdx that the reformat turned into stray bullet lists; described schema() output as structured JSON and scoped the themes "four looks" claim to adaptive themes.

Before / After

Sidebar "Guides" category                     Sidebar "Guides" category
┌────────────────────────────┐                ┌────────────────────────────┐
│ Field behaviour            │                │ Field behaviour            │
│ Discovery                  │                │ Discovery                  │
│ Self-describing answers    │      ==>       │ Self-describing answers    │
│ Testing                    │                │ AI agents          [NEW]   │
└────────────────────────────┘                │ Testing                    │
                                              └────────────────────────────┘

agentHelp() output (before)                   agentHelp() output (after)
┌──────────────────────────────┐              ┌──────────────────────────────────────┐
│ Drive the form ...:          │              │ { "$schema": ".../2020-12/schema",    │
│ - Pass --no-interaction ...  │   reshape    │   "type": "object",                   │
│ - Pass --prompts ...         │  ==========> │   "properties": {                     │
│ Questions:                   │  JSON Schema │     "fruit": { "enum": [...],          │
│   fruit [select] - Fruit     │              │       "env": "TUI_FRUIT" } },          │
│   ^ names consumer flags     │              │   "x-precedence": [ ... ] }           │
└──────────────────────────────┘              │   ^ no flags; env + allowed values    │
                                              └──────────────────────────────────────┘

docs/content/**/*.mdx (before)                docs/content/**/*.mdx (after)
┌──────────────────────────────┐              ┌──────────────────────────────────────┐
│ Hard-wrapped at ~80-100 cols │   Prettier   │ One line per paragraph/bullet/row     │
│ ... - is the consumer's job  │  ==========> │ ... - is the consumer's job (one      │
│   ^ stray bullet on render   │  proseWrap:  │   paragraph, no stray bullet)         │
└──────────────────────────────┘    never     └──────────────────────────────────────┘

@AlexSkrypnyk AlexSkrypnyk added the A3 Board worker 3 label Jul 20, 2026
@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The change adds an agent-oriented headless CLI example and documentation for agentHelp(), schema(), and validate(). It also introduces Prettier checks and reformats documentation prose and tables across the site.

Changes

Agent workflow and documentation

Layer / File(s) Summary
Agent CLI and driving guide
playground/05-headless/agent-cli.php, docs/content/ai-agents.mdx, playground/README.md, docs/sidebars.js
Adds an example form that prints consumer help and generated agent guidance, documents agent-facing interfaces and precedence rules, and links the new guide.
Documentation tooling and checks
docs/.prettierignore, docs/.prettierrc.json, docs/package.json, docs/cspell.json
Adds Prettier configuration, formatting scripts, format verification, and the requiredness spelling entry.
Core lifecycle and headless documentation
docs/content/architecture.mdx, docs/content/configuration.mdx, docs/content/headless-collection.mdx, docs/content/index.mdx, docs/content/installation.mdx, docs/content/field-behaviour.mdx, docs/content/testing.mdx, docs/content/self-describing-answers.mdx
Updates documentation for form construction, lifecycle behavior, headless collection, agent APIs, and answer processing.
Reference and widget documentation formatting
docs/content/{contributing,discovery,display-modes,key-bindings,panels,themes,translations,playground}.mdx, docs/content/widgets/*
Reflows prose and standardizes Markdown tables while preserving documented behavior and mappings.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant ConsumerCLI
  participant agent-cli.php
  participant Tui
  participant Form
  ConsumerCLI->>agent-cli.php: Run consumer help command
  agent-cli.php->>Form: Build Produce order form
  agent-cli.php->>Tui: Generate agentHelp()
  Tui-->>agent-cli.php: Return driving guide
  agent-cli.php-->>ConsumerCLI: Print consumer and agent help
Loading

Possibly related PRs

  • drevops/tui#56: Related agent-help, schema, validation, and FormDefinition wiring changes.
  • drevops/tui#66: Related headless and AI-agent documentation and playground updates.
  • drevops/tui#59: Related sidebar structure changes.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The new AI-agents docs and headless demo align with #67's request for agent guidance and consumer CLI exposure.
Out of Scope Changes check ✅ Passed The changes stay within docs, formatting, and the new headless agent demo; no unrelated scope appears.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main changes: new AI agents docs, an agent surface, and documentation formatting updates.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/67-agent-docs

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/content/ai-agents.mdx`:
- Around line 14-16: Update AgentHelp::generate() and the --agent discovery flow
to include allowed values for constrained select options, reusing
SchemaGenerator’s exposed option metadata or an equivalent agentHelp() field.
Ensure the generated guide identifies each select option’s valid values so
agents can construct non-default answers without guessing.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: fbb8c4dc-d114-488a-a507-7b88de62bfc7

📥 Commits

Reviewing files that changed from the base of the PR and between 0708ccf and b4ef383.

⛔ Files ignored due to path filters (1)
  • docs/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (39)
  • docs/.prettierignore
  • docs/.prettierrc.json
  • docs/content/ai-agents.mdx
  • docs/content/architecture.mdx
  • docs/content/configuration.mdx
  • docs/content/contributing.mdx
  • docs/content/discovery.mdx
  • docs/content/display-modes.mdx
  • docs/content/field-behaviour.mdx
  • docs/content/headless-collection.mdx
  • docs/content/index.mdx
  • docs/content/installation.mdx
  • docs/content/key-bindings.mdx
  • docs/content/panels.mdx
  • docs/content/playground.mdx
  • docs/content/self-describing-answers.mdx
  • docs/content/testing.mdx
  • docs/content/themes.mdx
  • docs/content/translations.mdx
  • docs/content/widgets/calendar.mdx
  • docs/content/widgets/confirm.mdx
  • docs/content/widgets/filepicker.mdx
  • docs/content/widgets/index.mdx
  • docs/content/widgets/number.mdx
  • docs/content/widgets/option-groups.mdx
  • docs/content/widgets/password.mdx
  • docs/content/widgets/pause.mdx
  • docs/content/widgets/reorder.mdx
  • docs/content/widgets/search.mdx
  • docs/content/widgets/select.mdx
  • docs/content/widgets/suggest.mdx
  • docs/content/widgets/text.mdx
  • docs/content/widgets/textarea.mdx
  • docs/content/widgets/toggle.mdx
  • docs/cspell.json
  • docs/package.json
  • docs/sidebars.js
  • playground/05-headless/agent-cli.php
  • playground/README.md

Comment thread docs/content/ai-agents.mdx Outdated
@AlexSkrypnyk
AlexSkrypnyk force-pushed the feature/67-agent-docs branch from b4ef383 to 44f07bc Compare July 20, 2026 02:09
@github-actions

This comment has been minimized.

@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.29%. Comparing base (fd3bd23) to head (5ad65c6).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #71      +/-   ##
==========================================
+ Coverage   98.27%   98.29%   +0.01%     
==========================================
  Files          98       98              
  Lines        3252     3276      +24     
==========================================
+ Hits         3196     3220      +24     
  Misses         56       56              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@github-actions

This comment has been minimized.

… demo.

Documents the self-describing surface for driving a form unattended - 'agentHelp()', 'schema()' and 'validate()' - and the consumer-side pattern of exposing it through a '--agent' CLI flag. Adds a runnable 'playground/05-headless/agent-cli.php' that parses '--agent', '--no-interaction' and '--prompts', links the new page into the Guides sidebar, and cross-links it from the introduction, headless-collection and playground pages.
Adds Prettier as a docs devDependency, configured with 'proseWrap: never' so prose and bullets stay on one line while the JSX image tags and embedded code are left untouched. Wires 'format' and 'format:check' scripts (the latter gating the docs test run) and reformats all existing content to the single-line style.
Single-lining a paragraph whose wrapped continuation began with '- ' let the fragment parse as a bullet list. Rejoined the asides in the architecture and option-groups pages into one paragraph each.
The flag with no following argument now writes a usage error and exits 2, rather than silently falling through to an interactive or default-driven run.
The '--agent' text guide names a 'select' but not its allowed values, so an agent could not build a valid non-default choice from it alone. A '--schema' flag now prints 'schema()' (which lists each option), and the AI agents page documents both flags in the discovery loop.
The playground demo no longer parses invented '--agent'/'--schema'/'--no-interaction'/'--prompts' flags - those belong to the consumer's own CLI, not the library. It now retrieves 'agentHelp()' and prints it inside the tool's own help output. The AI agents page and its cross-links reframe 'agentHelp()' and 'schema()' as text a consumer surfaces however it likes, not flags the library ships.
@AlexSkrypnyk
AlexSkrypnyk force-pushed the feature/67-agent-docs branch from 59751f3 to 4894552 Compare July 20, 2026 04:46
@github-actions

This comment has been minimized.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/content/ai-agents.mdx`:
- Around line 40-42: Update the “Machine-readable schema and validation” section
to consistently call schema() output a machine-readable schema rather than JSON
Schema. Clarify that it returns the custom { "prompts": [...] } format and is
not a standards-compliant JSON Schema document, so consumers do not pass it to
incompatible validators.

In `@docs/content/architecture.mdx`:
- Line 60: Correct the misspelled “scolling” reference in the architecture
documentation to “scrolling,” without changing the surrounding explanation.

In `@docs/content/themes.mdx`:
- Line 32: Update the introductory sentence around the “Each theme below is
shown in its four looks” statement to scope the four-look claim to adaptive
themes only, while preserving the existing descriptions of dark/light palettes
and framed/unframed variants.

In `@docs/package.json`:
- Around line 45-46: Pin the prettier dependency in docs/package.json to the
exact 3.9.5 version by removing the caret range, and regenerate the
corresponding lockfile entries so they resolve and record 3.9.5 consistently.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 65e93ca4-3c01-478e-bba9-365e4db18c3e

📥 Commits

Reviewing files that changed from the base of the PR and between 59751f3 and 4894552.

⛔ Files ignored due to path filters (1)
  • docs/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (39)
  • docs/.prettierignore
  • docs/.prettierrc.json
  • docs/content/ai-agents.mdx
  • docs/content/architecture.mdx
  • docs/content/configuration.mdx
  • docs/content/contributing.mdx
  • docs/content/discovery.mdx
  • docs/content/display-modes.mdx
  • docs/content/field-behaviour.mdx
  • docs/content/headless-collection.mdx
  • docs/content/index.mdx
  • docs/content/installation.mdx
  • docs/content/key-bindings.mdx
  • docs/content/panels.mdx
  • docs/content/playground.mdx
  • docs/content/self-describing-answers.mdx
  • docs/content/testing.mdx
  • docs/content/themes.mdx
  • docs/content/translations.mdx
  • docs/content/widgets/calendar.mdx
  • docs/content/widgets/confirm.mdx
  • docs/content/widgets/filepicker.mdx
  • docs/content/widgets/index.mdx
  • docs/content/widgets/number.mdx
  • docs/content/widgets/option-groups.mdx
  • docs/content/widgets/password.mdx
  • docs/content/widgets/pause.mdx
  • docs/content/widgets/reorder.mdx
  • docs/content/widgets/search.mdx
  • docs/content/widgets/select.mdx
  • docs/content/widgets/suggest.mdx
  • docs/content/widgets/text.mdx
  • docs/content/widgets/textarea.mdx
  • docs/content/widgets/toggle.mdx
  • docs/cspell.json
  • docs/package.json
  • docs/sidebars.js
  • playground/05-headless/agent-cli.php
  • playground/README.md

Comment thread docs/content/ai-agents.mdx Outdated
Comment thread docs/content/architecture.mdx
Comment thread docs/content/themes.mdx Outdated
Comment thread docs/package.json Outdated
Pinned 'prettier' to '3.9.5' (no caret) so the 'format:check' CI gate cannot pull a later formatter and fail unchanged docs. Described 'schema()' output as structured JSON - a custom shape, not a standards-compliant JSON Schema document - and scoped the themes page "four looks" claim to adaptive themes.
@github-actions

This comment has been minimized.

'agentHelp()' now emits a JSON Schema (draft 2020-12) keyed by question id - each property carrying its type, allowed values (a select's 'enum', a number's bounds), title, description, default and the 'env' variable that sets it, with the resolution order as the root 'x-precedence'. It no longer names the consumer-owned CLI flags. Updated the AI agents page, the demo, the tests and the chrome catalog, which drops the now-unused instruction strings.
@github-actions

Copy link
Copy Markdown
Code Coverage Report:
  2026-07-20 05:39:16

 Summary:
  Classes: 83.67% (82/98)
  Methods: 96.09% (738/768)
  Lines:   98.29% (3220/3276)

DrevOps\Tui\Answers\Answer
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Answers\Answers
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 20/ 20)
DrevOps\Tui\Answers\Provenance
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  7/  7)
DrevOps\Tui\Answers\SummaryFormatter
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 24/ 24)
DrevOps\Tui\Builder\FieldBuilder
  Methods: 100.00% (39/39)   Lines: 100.00% (141/141)
DrevOps\Tui\Builder\Form
  Methods:  92.31% (12/13)   Lines:  98.39% ( 61/ 62)
DrevOps\Tui\Builder\LayoutGuard
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  7/  7)
DrevOps\Tui\Builder\PanelBuilder
  Methods: 100.00% (20/20)   Lines: 100.00% ( 37/ 37)
DrevOps\Tui\Condition\CompositeCondition
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 19/ 19)
DrevOps\Tui\Condition\Condition
  Methods: 100.00% (10/10)   Lines: 100.00% ( 38/ 38)
DrevOps\Tui\Derive\Derive
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 14/ 14)
DrevOps\Tui\Derive\Deriver
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 13/ 13)
DrevOps\Tui\Derive\Transform
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  7/  7)
DrevOps\Tui\Discovery\AbstractDiscover
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Discovery\Dotenv
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 19/ 19)
DrevOps\Tui\Discovery\JsonValue
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 16/ 16)
DrevOps\Tui\Discovery\PathExists
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  3/  3)
DrevOps\Tui\Discovery\Scan
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 20/ 20)
DrevOps\Tui\Engine\Engine
  Methods: 100.00% (15/15)   Lines: 100.00% (103/103)
DrevOps\Tui\Handler\HandlerRegistry
  Methods:  85.71% ( 6/ 7)   Lines:  95.45% ( 21/ 22)
DrevOps\Tui\Input\Binding
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Input\DefaultKeyMap
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 38/ 38)
DrevOps\Tui\Input\Hint
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  2/  2)
DrevOps\Tui\Input\Key
  Methods:  87.50% ( 7/ 8)   Lines:  63.64% (  7/ 11)
DrevOps\Tui\Input\KeyMap
  Methods: 100.00% (11/11)   Lines: 100.00% ( 61/ 61)
DrevOps\Tui\Input\KeyMapManager
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  8/  8)
DrevOps\Tui\Input\KeyParser
  Methods:  85.71% ( 6/ 7)   Lines:  98.95% ( 94/ 95)
DrevOps\Tui\Input\Scope
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 17/ 17)
DrevOps\Tui\Input\ScopedKeyMap
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% (  4/  4)
DrevOps\Tui\Input\VimKeyMap
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Model\Buttons
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Model\DateBounds
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 28/ 28)
DrevOps\Tui\Model\Field
  Methods:  84.62% (11/13)   Lines:  89.87% ( 71/ 79)
DrevOps\Tui\Model\FieldType
  Methods:  66.67% ( 2/ 3)   Lines:  31.82% (  7/ 22)
DrevOps\Tui\Model\FormDefinition
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Model\Modal
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  2/  2)
DrevOps\Tui\Model\NumberBounds
  Methods:  83.33% ( 5/ 6)   Lines:  95.24% ( 20/ 21)
DrevOps\Tui\Model\Option
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  9/  9)
DrevOps\Tui\Model\Panel
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  3/  3)
DrevOps\Tui\Model\Weekday
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 15/ 15)
DrevOps\Tui\Render\Ansi
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 13/ 13)
DrevOps\Tui\Render\Box
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 15/ 15)
DrevOps\Tui\Render\ExternalEditor
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 27/ 27)
DrevOps\Tui\Render\HelpSection
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Render\Navigator
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 16/ 16)
DrevOps\Tui\Render\Overlay
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 23/ 23)
DrevOps\Tui\Render\PanelController
  Methods: 100.00% (42/42)   Lines: 100.00% (286/286)
DrevOps\Tui\Render\Scroller
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 15/ 15)
DrevOps\Tui\Render\Terminal
  Methods:  93.33% (14/15)   Lines:  95.83% ( 46/ 48)
DrevOps\Tui\Render\TerminalControl
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% (  9/  9)
DrevOps\Tui\Render\Viewport
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Resolver\InputResolver
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 29/ 29)
DrevOps\Tui\Schema\AgentHelp
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 55/ 55)
DrevOps\Tui\Schema\SchemaGenerator
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 33/ 33)
DrevOps\Tui\Schema\SchemaValidator
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 32/ 32)
DrevOps\Tui\Testing\ArrayKeyStream
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Testing\BufferedTerminal
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Testing\KeyEncoder
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% ( 22/ 22)
DrevOps\Tui\Testing\TuiTester
  Methods: 100.00% (13/13)   Lines: 100.00% ( 34/ 34)
DrevOps\Tui\Testing\WidgetRunner
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  5/  5)
DrevOps\Tui\Theme\DefaultTheme
  Methods:  95.83% (92/96)   Lines:  98.68% (448/454)
DrevOps\Tui\Theme\DosTheme
  Methods:  80.00% (12/15)   Lines:  82.35% ( 14/ 17)
DrevOps\Tui\Theme\EmberTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\FrostTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\MidnightTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\MonoTheme
  Methods:  66.67% ( 6/ 9)   Lines:  66.67% (  6/  9)
DrevOps\Tui\Theme\Sgr
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Theme\ThemeManager
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% (  8/  8)
DrevOps\Tui\Translation\Translator
  Methods: 100.00% (11/11)   Lines: 100.00% ( 45/ 45)
DrevOps\Tui\Tui
  Methods: 100.00% (23/23)   Lines: 100.00% ( 67/ 67)
DrevOps\Tui\Widget\AbstractWidget
  Methods: 100.00% (17/17)   Lines: 100.00% ( 43/ 43)
DrevOps\Tui\Widget\CalendarWidget
  Methods: 100.00% (13/13)   Lines: 100.00% ( 54/ 54)
DrevOps\Tui\Widget\Capability\CompletionCapableTrait
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% ( 14/ 14)
DrevOps\Tui\Widget\Capability\FilterCapableTrait
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 15/ 15)
DrevOps\Tui\Widget\Capability\OptionsCapableTrait
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 34/ 34)
DrevOps\Tui\Widget\Capability\PagingCapableTrait
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 16/ 16)
DrevOps\Tui\Widget\Capability\SearchCapableTrait
  Methods: 100.00% ( 3/ 3)   Lines: 100.00% (  3/  3)
DrevOps\Tui\Widget\Capability\SelectionCapableTrait
  Methods: 100.00% (13/13)   Lines: 100.00% ( 90/ 90)
DrevOps\Tui\Widget\Capability\TextEditCapableTrait
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 34/ 34)
DrevOps\Tui\Widget\ConfirmWidget
  Methods: 100.00% ( 7/ 7)   Lines: 100.00% ( 23/ 23)
DrevOps\Tui\Widget\FilePickerWidget
  Methods: 100.00% (31/31)   Lines: 100.00% (181/181)
DrevOps\Tui\Widget\MatchResult
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  1/  1)
DrevOps\Tui\Widget\MatchTier
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  6/  6)
DrevOps\Tui\Widget\Matcher
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 73/ 73)
DrevOps\Tui\Widget\NumberWidget
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 38/ 38)
DrevOps\Tui\Widget\PasswordDisplay
  Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  5/  5)
DrevOps\Tui\Widget\PasswordWidget
  Methods: 100.00% ( 9/ 9)   Lines: 100.00% ( 47/ 47)
DrevOps\Tui\Widget\PauseWidget
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 11/ 11)
DrevOps\Tui\Widget\ReorderWidget
  Methods: 100.00% (10/10)   Lines: 100.00% ( 55/ 55)
DrevOps\Tui\Widget\SearchWidget
  Methods: 100.00% ( 4/ 4)   Lines: 100.00% ( 12/ 12)
DrevOps\Tui\Widget\SelectWidget
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% (  8/  8)
DrevOps\Tui\Widget\SuggestWidget
  Methods: 100.00% (12/12)   Lines: 100.00% ( 46/ 46)
DrevOps\Tui\Widget\TextWidget
  Methods: 100.00% ( 5/ 5)   Lines: 100.00% ( 18/ 18)
DrevOps\Tui\Widget\TextareaWidget
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 51/ 51)
DrevOps\Tui\Widget\ToggleWidget
  Methods: 100.00% ( 8/ 8)   Lines: 100.00% ( 32/ 32)
DrevOps\Tui\Widget\WidgetFactory
  Methods: 100.00% ( 6/ 6)   Lines: 100.00% ( 33/ 33)

@AlexSkrypnyk AlexSkrypnyk changed the title [#67] Added AI agents documentation page and enforced single-line docs formatting. [#67] Added AI agents docs and a JSON Schema agent surface, with single-line doc formatting. Jul 20, 2026
@AlexSkrypnyk
AlexSkrypnyk merged commit 37852dc into main Jul 20, 2026
12 checks passed
@AlexSkrypnyk
AlexSkrypnyk deleted the feature/67-agent-docs branch July 20, 2026 05:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A3 Board worker 3

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add docs page about providing information to AI agents and how this can be incorporated into the consumer site using --agent CLI option

1 participant