Skip to content

tutods/lib

Repository files navigation

TutoDS Lib

Stargazers Forks Commitizen friendly License

🔄 CI/CD Status

Code Check Commit Lint Release PR Release

A collection of reusable packages, configurations, and components for web development projects.


Table of Contents

📄 Goal

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.

💡️ What you will find?

This monorepo currently contains 3 packages, two of them dedicated to common configs used across multiple projects:

biome typescript components

Each package is designed to be lightweight, well-documented, and easy to integrate into your projects.

📦 Packages

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

🛠 Development

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

Getting Started

# Clone the repository
git clone https://github.com/tutods/lib.git
cd lib

# Install dependencies
pnpm install

# Build all packages
pnpm build

🔄 CI/CD

This monorepo uses automated workflows for continuous integration, testing, and deployment:

Workflows

  • 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

Release Process

This project uses automated releases powered by NX Release and Conventional Commits:

  1. Push to main with conventional commits (feat, fix, docs, etc.)
  2. Release PR is automatically created with version bumps and changelogs
  3. Review and merge the release PR
  4. Packages are published to npm automatically
  5. Git tags are created (@tutods/package@version)
  6. GitHub releases are created with changelogs

For detailed information, see Release Documentation.

📥 Installation

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/components

Check each package's README for specific installation and usage instructions.

👥 Contributing

Contributions are welcome! If you'd like to contribute:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using Commitizen (git cz)
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please make sure to update tests as appropriate and follow the existing code style.

🔗 More About Me

GitHub linkedin twitter instragram

About

Monorepo to store my packages and configs, like Biome config., TypeScript config., and certain packages that can be used across multiple projects

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors