- Root package.json with @bytelyst/root, pnpm scripts (build, test, typecheck, clean) - pnpm-workspace.yaml declaring packages/* - tsconfig.base.json (ESM, strict, ES2022, NodeNext) - vitest.config.ts (globals, node environment) - .gitignore, .nvmrc (Node 20), .editorconfig - README.md with package overview and quick start
68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
# @bytelyst/common-platform
|
||
|
||
Shared packages for the ByteLyst ecosystem — used by [LysnrAI](https://github.com/saravanakumardb1/learning_voice_ai_agent) and [MindLyst](https://github.com/saravanakumardb1/learning_multimodal_memory_agents).
|
||
|
||
## Packages
|
||
|
||
| Package | Description | Peer Dependencies |
|
||
|---------|-------------|-------------------|
|
||
| `@bytelyst/errors` | Typed HTTP service errors (400–429) | — |
|
||
| `@bytelyst/cosmos` | Azure Cosmos DB client singleton + container registry | `@azure/cosmos` |
|
||
| `@bytelyst/config` | Zod-based env config loader + product identity | `zod` |
|
||
| `@bytelyst/auth` | JWT utilities, auth middleware, password hashing | `jose`, `bcryptjs` |
|
||
| `@bytelyst/api-client` | Configurable fetch wrapper with auth token injection | — |
|
||
| `@bytelyst/react-auth` | React auth context factory (typed provider + hook) | `react` |
|
||
| `@bytelyst/design-tokens` | Cross-platform design tokens (JSON → CSS/TS/Kotlin/Swift) | — |
|
||
|
||
## Quick Start
|
||
|
||
```bash
|
||
# Install dependencies
|
||
pnpm install
|
||
|
||
# Build all packages
|
||
pnpm build
|
||
|
||
# Run all tests
|
||
pnpm test
|
||
|
||
# Type-check all packages
|
||
pnpm typecheck
|
||
```
|
||
|
||
## Consuming from LysnrAI / MindLyst
|
||
|
||
During development, use `file:` references in consumer `package.json`:
|
||
|
||
```jsonc
|
||
// From Fastify services (3 levels up):
|
||
"@bytelyst/errors": "file:../../../learning_ai_common_plat/packages/errors"
|
||
|
||
// From Next.js dashboards at repo root (2 levels up):
|
||
"@bytelyst/errors": "file:../../learning_ai_common_plat/packages/errors"
|
||
|
||
// From MindLyst web (3 levels up — inside mindlyst-native/web/):
|
||
"@bytelyst/design-tokens": "file:../../../learning_ai_common_plat/packages/design-tokens"
|
||
```
|
||
|
||
All repos must be cloned side-by-side under the same parent directory.
|
||
|
||
## Design Tokens
|
||
|
||
Generate platform-specific token files from the canonical JSON:
|
||
|
||
```bash
|
||
cd packages/design-tokens
|
||
pnpm generate
|
||
```
|
||
|
||
Outputs in `packages/design-tokens/generated/`:
|
||
- `tokens.css` — CSS custom properties (`--ml-*`)
|
||
- `tokens.ts` — TypeScript constants
|
||
- `MindLystTokens.kt` — Kotlin object for KMP
|
||
- `MindLystTheme.swift` — Swift structs for SwiftUI
|
||
|
||
## Roadmap
|
||
|
||
See [docs/ROADMAP.md](docs/ROADMAP.md) for the full phased extraction plan.
|