A collection of reusable packages, configurations, and components for web development projects.
This monorepo has the purpose to store my common packages, used in my personal projects, like configs, components, hooks and many more. These packages help maintain consistency across projects and save development time by providing ready-to-use solutions for common needs.
This monorepo currently contains 3 packages, two of them dedicated to common configs used across multiple projects:
Each package is designed to be lightweight, well-documented, and easy to integrate into your projects.
To know more details about each package, please read the README.md file inside of each package folder:
- Biome Config - Comprehensive configuration for Biome linter and formatter, ensuring consistent code style across projects
- TypeScript Config - TypeScript configurations for different project types with sensible defaults and strict type checking
- Components - Reusable React components built with accessibility and performance in mind
This monorepo uses:
- NX for managing the monorepo
- PNPM as the package manager
- Biome for linting and formatting
- Commitizen for standardized commit messages
- GitHub Actions for CI/CD automation
# Clone the repository
git clone https://github.com/tutods/lib.git
cd lib
# Install dependencies
pnpm install
# Build all packages
pnpm buildThis monorepo uses automated workflows for continuous integration, testing, and deployment:
- Code Check - Runs Biome linting on every pull request
- Commit Lint - Validates commit messages follow conventional commits
- Release PR - Automatically creates release PRs when you push to main
- Release - Publishes packages to npm when release PR is merged
This project uses automated releases powered by NX Release and Conventional Commits:
- Push to main with conventional commits (feat, fix, docs, etc.)
- Release PR is automatically created with version bumps and changelogs
- Review and merge the release PR
- Packages are published to npm automatically
- Git tags are created (
@tutods/package@version) - GitHub releases are created with changelogs
For detailed information, see Release Documentation.
You can install any of the packages individually using npm, yarn, or pnpm:
# Using npm
npm install @tutods/biome-config @tutods/typescript-config @tutods/components
# Using yarn
yarn add @tutods/biome-config @tutods/typescript-config @tutods/components
# Using pnpm
pnpm add @tutods/biome-config @tutods/typescript-config @tutods/componentsCheck each package's README for specific installation and usage instructions.
Contributions are welcome! If you'd like to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using Commitizen (
git cz) - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please make sure to update tests as appropriate and follow the existing code style.