> For the complete documentation index, see [llms.txt](https://devthedev.gitbook.io/today-i-learnt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devthedev.gitbook.io/today-i-learnt/readme.md).

# Home

Public knowledge base at [**docs.f1y.ing**](https://docs.f1y.ing/) — notes on software engineering, embedded systems, robotics, GIS, and related topics.

The published site uses [VitePress](https://vitepress.dev/). Navigation and cross-topic links are generated from [**SUMMARY.md**](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/SUMMARY.md) and [**scripts/topic-clusters.json**](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/scripts/topic-clusters.json) in CI (`npm run docs:prep`) before each deploy.

## Site vs repository

| File                                                                                    | Purpose                                                             |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [`index.md`](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/index.md) | VitePress **home page** (`layout: home`) — what visitors see at `/` |
| `README.md`                                                                             | This file — GitHub repo overview and contributor setup              |

Do not sync `README.md` over `index.md`; they serve different audiences.

## Contributing

See [CONTRIBUTING.md](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/CONTRIBUTING.md) for how to add or edit pages.

## Style guide

See [.github/DOCUMENTATION-STYLE-GUIDE.md](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/.github/DOCUMENTATION-STYLE-GUIDE.md) for documentation conventions.

## Local development

* **Prerequisites**: [Node.js](https://nodejs.org/) 20+ and `npm ci`.
* **Local preview**: `npm run docs:dev` — runs `docs:prep` then starts VitePress (default port **5173**).
* **Production build**: `npm run docs:prep && npm run docs:build` locally, or rely on CI (prep then build). Output: [`.vitepress/dist/`](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/.vitepress/dist/README.md) (gitignored).

## Publishing (GitHub Pages)

Pushes to `main` or `master` run [`.github/workflows/vitepress.yml`](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/.github/workflows/vitepress.yml), which deploys **`.vitepress/dist`** to the **`gh-pages`** branch. Primary URL: <https://docs.f1y.ing/>.

**Audit reports**: `npm run docs:audit` writes `docs-audit-report.json` and `docs-audit-report.md` (gitignored). Configure thresholds in [`audit.config.json`](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/audit.config.json).

GitBook-only constructs in markdown were converted for portable rendering; see [`scripts/archive/`](https://github.com/DevinNorgarb/gitbook-personnal-docs/blob/main/scripts/archive/README.md) for archived migration tooling.
