Imported from dengelma9898/ShareLocal (
packages/shared/AGENTS.md). Install upstream withnpx skills add dengelma9898/ShareLocal --skill shared. Copyright stays with the author.
@sharelocal/shared - Agent Context
Shared TypeScript Types und Utilities Package
Setup commands
- Install deps:
pnpm install(vom Root) oderpnpm --filter @sharelocal/shared install - Build:
pnpm build - Watch mode:
pnpm dev - Run tests:
pnpm test - Lint:
pnpm lint
Dev environment tips
- Dieses Package wird von anderen Packages importiert
- Nach Änderungen:
pnpm buildausführen - Watch-Mode für Development:
pnpm dev - Wird von
@sharelocal/apiund@sharelocal/webverwendet
Code style
- TypeScript strict mode
- ES Modules
- Single quotes, semicolons
- Nur Types und pure Functions (keine Side-Effects)
- Keine Runtime-Dependencies (nur DevDependencies)
Testing instructions
- Test-Framework: Vitest
- Unit Tests:
pnpm test - Alle Exports sollten getestet sein
- Tests sollten vor jedem Commit grün sein
Package structure
src/
├── index.ts # Main Export
├── types/ # Type Definitions (später)
├── utils/ # Utility Functions (später)
└── constants/ # Constants (später)
Dependencies
- Keine Runtime-Dependencies
- TypeScript 5.6+ als DevDependency
- Vitest für Testing
Important notes
- Nur pure Functions und Types exportieren
- Keine Side-Effects in diesem Package
- Alle Exports sollten dokumentiert sein
- Breaking Changes sollten vermieden werden (Semantic Versioning)
- Wird von mehreren Packages verwendet - Änderungen mit Vorsicht
⚠️ WICHTIG: Build UND Type-Check müssen erfolgreich sein
Vor dem Abschließen von Änderungen MUSS der Build erfolgreich sein:
pnpm build
pnpm tsc --noEmit
- TypeScript-Kompilierung muss ohne Fehler durchlaufen
- Alle Type-Checks müssen bestehen
- Build-Fehler müssen behoben werden, bevor Änderungen als abgeschlossen gelten
- Besonders wichtig: Dieses Package wird von anderen Packages importiert - Build-Fehler brechen andere Packages!
Wichtig: Nach Änderungen sollte auch geprüft werden, ob abhängige Packages noch funktionieren:
pnpm build --filter @sharelocal/api(falls API das Package verwendet)pnpm build --filter @sharelocal/web(falls Web das Package verwendet)