2025-04-16 22:33:33 +02:00

51 lines
2.3 KiB
Markdown

# Project Brief: G1 TypeScript Common Packages
## Project Overview
G1 TypeScript Common Packages is a monorepo containing common TypeScript packages used across Generation One projects. The repository is public, making it easier to share and collaborate on common utilities.
## Core Requirements
1. **Shared Utilities**: Create and maintain reusable TypeScript packages that can be shared across Generation One projects.
2. **Public Access**: Keep the repository public to facilitate sharing and collaboration.
3. **Package Management**: Use pnpm workspaces for efficient package management.
4. **TypeScript Support**: Ensure all packages have proper TypeScript typings and support.
5. **Documentation**: Maintain comprehensive documentation for each package.
6. **Testing**: Include tests for all packages to ensure reliability.
7. **CI/CD**: Implement automated testing and publishing workflows.
## Current Packages
### SSE Client (`@g1/sse-client`)
A custom Server-Sent Events (SSE) client that supports headers and bypasses certificate issues.
**Key Features:**
- Custom headers support for SSE connections
- SSL certificate validation bypass
- Automatic reconnection with exponential backoff
- Connection management
- Event handling
- Works in both browser and Node.js environments
## Project Goals
1. **Reliability**: Create robust, well-tested packages that can be relied upon in production environments.
2. **Reusability**: Design packages to be easily reused across different projects.
3. **Maintainability**: Ensure code is well-documented and follows best practices for long-term maintenance.
4. **Extensibility**: Design packages to be easily extended or customized for specific use cases.
5. **Compatibility**: Ensure packages work across different environments (browser, Node.js) where applicable.
## Future Direction
1. **Additional Packages**: Add more common utilities as needed by Generation One projects.
2. **Version Management**: Maintain proper versioning for all packages.
3. **Community Contributions**: Encourage contributions from the community.
## Project Scope
This project focuses solely on creating and maintaining common TypeScript packages. It does not include:
- Application-specific code
- UI components or frameworks
- Backend services or APIs
The scope is intentionally limited to ensure the packages remain focused, reusable, and maintainable.