Initial commit
This commit is contained in:
39
docs/guides/scaffolding-core-package.md
Normal file
39
docs/guides/scaffolding-core-package.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Core-package generator
|
||||
|
||||
`pnpm turbo gen core-package` scaffolds an optional core package back into a slimmed template. Each name maps to a verbatim copy of the package as it shipped at the time the generator was added.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
pnpm turbo gen core-package
|
||||
# → Which optional core package? (use arrow keys)
|
||||
# ❯ realtime
|
||||
# events
|
||||
# trpc
|
||||
# ui
|
||||
```
|
||||
|
||||
The generator emits the package files, updates consuming-app config (e.g. `apps/web-next/next.config.mjs` `transpilePackages`), patches `packages/core-eslint/base.js` to re-add any package-specific lint rules, then prints the manual app/server wiring needed to bring the package fully online.
|
||||
|
||||
## Available templates
|
||||
|
||||
| Name | Description |
|
||||
| ---------- | -------------------------------------------------------- |
|
||||
| `realtime` | Socket.IO realtime layer (ADR-016) |
|
||||
| `events` | Cross-feature event bus + Payload jobs adapter (ADR-015) |
|
||||
| `trpc` | tRPC server setup |
|
||||
| `ui` | Design-system package |
|
||||
| `audit` | DPA-compliant audit logging (ADR-018) |
|
||||
|
||||
## Verifying an existing project
|
||||
|
||||
If your project already has a core-\* package and you want to verify the generator's template hasn't drifted from the shipped source, use the byte-identical reconstruction snapshot:
|
||||
|
||||
```bash
|
||||
git stash -u
|
||||
pnpm turbo gen core-package <name>
|
||||
git diff packages/core-<name>/
|
||||
# Expect: zero diff (modulo .hbs strip + trailing-newline normalization)
|
||||
```
|
||||
|
||||
Snapshots live at `turbo/generators/__snapshots__/core-package/<name>.snapshot.json`.
|
||||
Reference in New Issue
Block a user