Files
Egutierrez 717ab2173e chore: add push_all.sh and document remotes in README
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 19:11:43 +02:00

66 lines
2.4 KiB
Markdown

# fn-design-system
**Read-only mirror of `@fn_library`** — the React 19 + Mantine v9 design system that lives inside [fn_registry](../..).
This repo is checked out at `fn_registry/subrepos/fn-design-system/` (gitignored by fn_registry so it keeps its own git history and remotes).
This repo exists for one purpose: **give Claude Design (and other external tools) a clean, minimal view of the design system** without exposing the rest of the monorepo.
> ⚠️ Do not edit files in `components/` directly. They are overwritten on each sync from `fn_registry`.
## Structure
```
fn-design-system/
DESIGN_SYSTEM.md ← the contract (read this first)
components/ ← mirror of fn_registry/frontend/functions/ui/
index.ts ← @fn_library barrel
*.tsx + *.md ← 75 components, one pair each
package.json ← runtime deps (Mantine v9, Tabler, React 19)
tsconfig.json ← paths → @fn_library maps to ./components
sync_from_registry.sh ← re-syncs from fn_registry
```
## How to use
### For Claude Design
1. Link this repo to your Claude Design project (`claude.ai/design` → Settings → Connected repos).
2. In prompts, refer to components **by name from `@fn_library`** and obey `DESIGN_SYSTEM.md`.
3. Handoff to Claude Code → the generated code lands in your local `fn_registry` apps.
### For humans / agents
Read `DESIGN_SYSTEM.md`. It is the single source of truth.
## Remotes
| Remote | URL |
|--------|-----|
| `gitea` | `https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/dataforge/fn-design-system` |
| `github` | `https://github.com/gutierenmanuel/fn-design-system` |
The GitHub copy is the one to link in Claude Design.
## How to re-sync
When you add or modify components in `fn_registry/frontend/functions/ui/`:
```bash
./sync_from_registry.sh # pulls from fn_registry
git add -A
git commit -m "sync: <what changed>"
./push_all.sh # pushes to gitea + github
```
The sync script auto-detects the fn_registry root when the mirror lives at `fn_registry/subrepos/fn-design-system/`. Override with `FN_REGISTRY_ROOT=/path/to/fn_registry` if needed.
## What is NOT in this repo
- Any application code (`apps/*/`)
- The registry itself (`registry.db`, `cmd/fn/`, Go code)
- Python / Bash functions
- Deploy config, operations DBs, secrets
Everything here is derivable from `fn_registry` — if this repo is lost, `./sync_from_registry.sh` rebuilds it.