feat: Initialize firefrost-services monorepo structure
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>
This commit is contained in:
43
shared/README.md
Normal file
43
shared/README.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# @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
|
||||
|
||||
---
|
||||
|
||||
💙🔥❄️
|
||||
Reference in New Issue
Block a user