fabro/docs/public
Bryan Helmkamp 40ed64c1c2
Add system resources settings page (#328)
## Summary

Adds server-visible resource reporting and a compact Resources settings
tab for CPU, memory, and the filesystem that contains Fabro storage.

## Changes

- Adds `GET /api/v1/system/resources` backed by `sysinfo`, including CPU
sampling, cgroup-aware memory reporting, storage filesystem matching,
and Fabro-managed disk byte totals.
- Extends the OpenAPI contract and regenerates the Rust and TypeScript
API clients.
- Adds a deterministic demo-mode resources route.
- Adds `/settings/resources` with 5 second polling and panels for
overview, CPU, memory, disk, and notes.
- Adds server integration/unit coverage and web route/render coverage.

## Screenshot

![Resources settings
page](https://raw.githubusercontent.com/fabro-sh/fabro/feature/system-resources-settings/docs/public/images/web/settings-resources.jpg)

## Verification

- `cargo build -p fabro-api`
- `cd lib/packages/fabro-api-client && bun run generate`
- `cargo nextest run -p fabro-server --features test-support --test it
api::system`
- `cargo test -p fabro-server resource_sampler::tests`
- `cd apps/fabro-web && bun test`
- `cd apps/fabro-web && bun run typecheck`
- `cd apps/fabro-web && bun run build`
- `cargo +nightly-2026-04-14 fmt --check --all`
- `cargo +nightly-2026-04-14 clippy --workspace --all-targets -- -D
warnings`

---

[![Compound
Engineering](https://img.shields.io/badge/Compound%20Engineering-Codex-6f42c1)](https://github.com/compound-engineering)

🤖 Generated with GPT-5 via [Codex](https://openai.com/codex)

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 17:22:53 -04:00
..
administration refactor(auth): split credential sources and vault schemas (#306) 2026-05-18 11:07:42 -04:00
agents docs: sync public docs to recent changes 2026-05-18 14:42:54 -04:00
api-reference Add system resources settings page (#328) 2026-05-20 17:22:53 -04:00
changelog docs(changelog): refresh recent product changes 2026-05-18 14:42:54 -04:00
core-concepts feat(workflow): enforce strict api/acp backends (#307) 2026-05-18 13:20:56 -04:00
examples fix(workflows): pin clippy and fmt to nightly-2026-04-14 2026-05-03 17:32:46 -04:00
execution docs: sync public docs to recent changes 2026-05-18 14:42:54 -04:00
getting-started refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
human-tools feat(workflows): add interview workflow 2026-05-08 07:44:33 -07:00
images Add system resources settings page (#328) 2026-05-20 17:22:53 -04:00
integrations feat(sandbox): label Daytona sandboxes as managed (#326) 2026-05-20 17:22:12 -04:00
languages refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
logo refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
reference docs: sync public docs to recent changes 2026-05-18 14:42:54 -04:00
tutorials refactor: remove compatibility shims (#281) 2026-05-16 15:29:25 -04:00
workflows docs: sync public docs to recent changes 2026-05-18 14:42:54 -04:00
.mintignore refactor(docs): move .mintignore into docs/public and update skill paths 2026-04-27 07:29:59 -07:00
docs.json docs(changelog): refresh recent product changes 2026-05-18 14:42:54 -04:00
dot-highlight.js refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
favicon.svg refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00