Add SDK overview page + nested docs routing + new Tangled URL
First programmer-aimed docs page, plus the scaffolding to host the rest.
Page — `build/sdk/overview.mdx`:
- What `@opake/sdk` is, what it isn't, and how the class shape divides
between static (bootstrap before Identity exists) and instance (normal
working surface after `Opake.init`).
- Hello-cabinet example: upload + download, with the under-the-hood
breakdown written as prose rather than a patronising reveal.
- Static and instance surface shown as two call-shape code blocks
(grouped by purpose, one call per line with aligned comments) rather
than a wall of TypeScript signatures.
- Storage section ends with a contribution pointer: the `Storage`
contract is small enough that new backends are one file plus tests;
upstreaming keeps them in sync with the trait and discoverable next
to the built-ins.
- Error primer showing `OpakeError.kind` branching, with
`IdentityMissing` called out as a normal post-login state, not a
failure mode.
- Navigation grid linking to the rest of the SDK pages (to be written).
Routing — `/docs/{category}/{slug}`:
- New nested route files under `_public/docs/` and `cabinet/docs/`
(`$category/$slug`, both sync + lazy variants). Coexist with the
existing flat `$slug` routes; TanStack picks the more specific match.
- `DocMeta` gains an optional `group` field. Pages with a group live at
`/docs/{group}/{slug}`; flat docs stay on `/docs/{slug}`. New
`docPath(doc)` helper returns the correct URL.
- `DocLink` in the cabinet docs index splits on `doc.group` so each
variant gets the right typed `<Link>`.
Icons:
- Added `folder` (Phosphor `FolderIcon`) for the Files & Directories
card. Added `lightning` as a future-facing option for live-updates
content.
New Tangled URL:
- Swept every `tangled.org/sans-self.org/opake.app` →
`tangled.org/opake.app/opake` across CLI docs, FAQ, troubleshooting,
web footer + nav, README, CRYPTO.md, and the blog post attribution.
- `apps/cli/src/commands/docs/build/cli.mdx`: adjusted the follow-up
`cd opake.app` to `cd opake` now that the repo name matches.