WHAT WAS DONE: - Created npm workspaces configuration in root package.json - Set up directory structure (services/, shared/, future/) - Created @firefrost/shared package (v1.0.0) - Added comprehensive .gitignore for Node.js projects - Created root README with architecture documentation - Added placeholder READMEs for shared/ and future/ directories WHY: - Implement Gemini-approved monorepo architecture - Enable service-prefixed Git tag versioning - Support npm workspaces for dependency management - Provide foundation for Arbiter 2.1 deployment - Align with 'decades not months' sustainability philosophy STRUCTURE: Root level: - package.json (workspaces: services/*, shared) - .gitignore (protects .env files from commits) - README.md (comprehensive documentation) Directories: - services/ (production services - empty, ready for Arbiter) - shared/ (@firefrost/shared v1.0.0 - placeholder) - future/ (experimental services) FILES: - .gitignore (new, 39 lines) - README.md (new, 242 lines) - package.json (new, 27 lines) - shared/package.json (new, 17 lines) - shared/README.md (new, 47 lines) - shared/src/index.js (new, 13 lines) - future/README.md (new, 38 lines) NEXT STEPS: - Migrate Arbiter 2.1 code to services/arbiter/ - Create arbiter-v2.1.0 tag for first versioned deployment - Test deployment workflow and systemd configuration Signed-off-by: The Golden Chronicler <claude@firefrostgaming.com>
44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
# @firefrost/shared
|
|
|
|
Shared utilities and helpers for Firefrost Gaming services.
|
|
|
|
## Purpose
|
|
|
|
This package contains code that is used by multiple services in the firefrost-services monorepo. By centralizing common functionality here, we avoid duplication and ensure consistency across services.
|
|
|
|
## Contents
|
|
|
|
- **Database utilities** — Connection pooling, query helpers
|
|
- **Discord utilities** — Embed formatting, role management helpers
|
|
- **Pterodactyl utilities** — API wrappers, server management
|
|
- **Logging** — Standardized logging across services
|
|
- **Validation** — Common validation functions
|
|
|
|
## Usage
|
|
|
|
Services import from this package like any npm dependency:
|
|
|
|
```javascript
|
|
import { logger } from '@firefrost/shared';
|
|
import { formatDiscordEmbed } from '@firefrost/shared';
|
|
|
|
logger.info('Service started');
|
|
```
|
|
|
|
## Development
|
|
|
|
To add new shared functionality:
|
|
|
|
1. Create module in `src/`
|
|
2. Export from `src/index.js`
|
|
3. Update version in `package.json`
|
|
4. Document in this README
|
|
|
|
## Version History
|
|
|
|
- **1.0.0** — Initial shared package structure
|
|
|
|
---
|
|
|
|
💙🔥❄️
|