Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Improve config layering and HTML help navigation#94

Merged
fasterthanlime merged 7 commits into
mainfrom
codex/html-help-feedback
May 9, 2026
Merged

Improve config layering and HTML help navigation#94
fasterthanlime merged 7 commits into
mainfrom
codex/html-help-feedback

Conversation

@fasterthanlime

@fasterthanlime fasterthanlime commented May 9, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR tightens Figue's config layering around multiple config roots, CLI-provided config files, boolean config overrides, and flattened config roots. It also includes the HTML help feedback pass so generated help remains navigable and readable for large schemas.

Changes

  • Target CLI-provided config files to the matching config root, and require root blocks for global config files when a command has multiple config roots.
  • Allow bare boolean config overrides, including --flag, --flag=false, and --no-flag forms where applicable.
  • Support #[facet(args::config)] #[facet(flatten)] roots so ergonomic CLI flags can still merge with env/file/dotted overrides under the config-root namespace, with collision checks.
  • Preserve explicit defaults during schema/default extraction, including #[facet(default)] Vec<_> fields inside flattened config roots.
  • Improve HTML help layout: scrollable side nav, wrapping long config names/descriptions, compact override rows without redundant value placeholders, and cleaner false/default display.
  • Add sticky HTML help breadcrumbs that track the current section/config node and let users jump back to any ancestor.
  • Treat flattened config fields as help-only collapsible groups using the flattened field docs, without changing actual override paths.

Testing

  • cargo nextest run -p figue -E 'test(html_help)'
  • cargo nextest run -p figue -E 'test(flattened_config_root)'
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo nextest run -p figue
  • Browser smoke check against generated kitchen-sink HTML at 1141x1285 for breadcrumbs, sticky topbar, scrolling nav, wrapping, and horizontal overflow
  • Pre-push checks passed

@fasterthanlime fasterthanlime changed the title Improve HTML help navigation and layout Improve config layering and HTML help navigation May 9, 2026
@fasterthanlime fasterthanlime merged commit 34c5f7f into main May 9, 2026
4 checks passed
@github-actions github-actions Bot mentioned this pull request May 9, 2026
fasterthanlime pushed a commit that referenced this pull request May 9, 2026
## 🤖 New release

* `figue-attrs`: 4.0.0 -> 4.0.1
* `figue`: 4.0.0 -> 4.0.1 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `figue-attrs`

<blockquote>

##
[4.0.0](figue-attrs-v3.0.1...figue-attrs-v4.0.0)
- 2026-05-09

### Other

- Add built-in JSON Schema export
([#91](#91))
</blockquote>

## `figue`

<blockquote>

##
[4.0.1](figue-v4.0.0...figue-v4.0.1)
- 2026-05-09

### Other

- Improve config layering and HTML help navigation
([#94](#94))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
fasterthanlime pushed a commit to facet-rs/facet that referenced this pull request Jun 18, 2026
## 🤖 New release

* `figue-attrs`: 4.0.0 -> 4.0.1
* `figue`: 4.0.0 -> 4.0.1 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `figue-attrs`

<blockquote>

##
[4.0.0](bearcove/figue@figue-attrs-v3.0.1...figue-attrs-v4.0.0)
- 2026-05-09

### Other

- Add built-in JSON Schema export
([#91](bearcove/figue#91))
</blockquote>

## `figue`

<blockquote>

##
[4.0.1](bearcove/figue@figue-v4.0.0...figue-v4.0.1)
- 2026-05-09

### Other

- Improve config layering and HTML help navigation
([#94](bearcove/figue#94))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
fasterthanlime pushed a commit to facet-rs/facet that referenced this pull request Jun 18, 2026
## 🤖 New release

* `figue-attrs`: 4.0.0 -> 4.0.1
* `figue`: 4.0.0 -> 4.0.1 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `figue-attrs`

<blockquote>

##
[4.0.0](bearcove/figue@figue-attrs-v3.0.1...figue-attrs-v4.0.0)
- 2026-05-09

### Other

- Add built-in JSON Schema export
([#91](bearcove/figue#91))
</blockquote>

## `figue`

<blockquote>

##
[4.0.1](bearcove/figue@figue-v4.0.0...figue-v4.0.1)
- 2026-05-09

### Other

- Improve config layering and HTML help navigation
([#94](bearcove/figue#94))
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant