Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JeromeFitz/packages
Monorepo for stuff that I use frequently: Design System, Gitmoji, Lint Config, Notion, Semantic Release, etc.
https://github.com/JeromeFitz/packages
conventional-commit emoji eslint gitmoji notion pnpm prettier radix-ui semantic-release stitches syncpack tsconfig tsup turbo turborepo typescript-eslint
Last synced: 3 months ago
JSON representation
Monorepo for stuff that I use frequently: Design System, Gitmoji, Lint Config, Notion, Semantic Release, etc.
- Host: GitHub
- URL: https://github.com/JeromeFitz/packages
- Owner: JeromeFitz
- License: mit
- Created: 2021-04-17T15:47:15.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T12:42:31.000Z (7 months ago)
- Last Synced: 2024-04-14T15:23:16.134Z (7 months ago)
- Topics: conventional-commit, emoji, eslint, gitmoji, notion, pnpm, prettier, radix-ui, semantic-release, stitches, syncpack, tsconfig, tsup, turbo, turborepo, typescript-eslint
- Language: TypeScript
- Homepage: https://jeromefitzgerald.com
- Size: 9.4 MB
- Stars: 64
- Watchers: 3
- Forks: 7
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.config.js
- License: LICENSE
Awesome Lists containing this project
README
# `@jeromefitz/packages`
Monorepo (via [π¦ pnpm](https://github.com/pnpm/pnpm) and [πΊ turbo](https://github.com/vercel/turborepo)) for tools I use frequently in various projects, people, and companies I work with.
- [π¦οΈ Packages](#%EF%B8%8F-packages)
- [π·οΈ CI/CD Overview](#%EF%B8%8F-cicd-overview)
- [:octocat: CI/CD Workflows](#octocat-cicd-workflows)## π¦οΈ Packages
### π§ Configuration
Originally was all-in-one as `@jeromefitz/codestyle`, these have been broken out for separate maintainability and ala-carte implementation.
**Spoiler:** They are opinionated, but can be overriden, extended, or ignored. π
- [`@jeromefitz/eslint-config`](https://github.com/JeromeFitz/packages/tree/main/config/eslint-config)
- [`@jeromefitz/lint-staged`](https://github.com/JeromeFitz/packages/tree/main/config/lint-staged)
- [`@jeromefitz/prettier-config`](https://github.com/JeromeFitz/packages/tree/main/config/prettier-config)
- [`@jeromefitz/tsconfig`](https://github.com/JeromeFitz/packages/tree/main/config/tsconfig)### πΌοΈ Design System
Built with [`radix-ui`](https://www.radix-ui.com) and [`stitches`](https://stitches.dev). A tree-shakeable design system that you can use as much of, or as little of, as you would like.
- [`@jeromefitz/design-system`](https://github.com/JeromeFitz/packages/tree/main/packages/design-system)
- π Major props to the [`@radix-ui`](https://github.com/radix-ui) team as this is π½οΈ of sorts.
- π [`Storybook`](https://storybook.js.org) is included but not all the way there. May
- π Code Example: [`@jeromefitz/websites`](https://github.com/JeromeFitz/websites)
- ποΈ Live Example: [`jeromefitzgerald.com`](https://jeromefitzgerald.com)### β‘ Release Management Tools
- [`ccommit`](https://github.com/JeromeFitz/packages/tree/main/packages/ccommit)
- conventional commit generator that interprets commit types from `gitmoji` through `conventional-commits`
- [`@jeromefitz/conventional-gitmoji`](https://github.com/JeromeFitz/packages/tree/main/packages/conventional-gitmoji)
- Map [`gitmoji`](https://gitmoji.dev) to [`conventional-commits`](https://www.conventionalcommits.org)
- `feat => β¨οΈ`
- `fix => ποΈ`
- `ci => π·οΈ`
- `fix-ci => ποΈ`
- `...`
- Allows you to keep `semver` consistent by expanding both
- You _most likely_ do not need to use this, unless you are using this for your separate tooling. This is more of a configuration stop-gap for ...
- [`@jeromefitz/semantic`](https://github.com/JeromeFitz/packages/tree/main/packages/semantic)
- Automatic Semantic Versioning through [`semantic-release`](https://github.com/semantic-release/semantic-release) with support for `gitmoji`.
- [`@jeromefitz/release-notes-generator`](https://github.com/JeromeFitz/packages/tree/main/packages/release-notes-generator)
- You guessed it, a custom release-notes-generator.
- π See the latest output at [the releases page](https://github.com/JeromeFitz/packages/releases).### π² Misc
- [`@jeromefitz/notion`](https://github.com/JeromeFitz/packages/tree/main/packages/notion)
- ποΈ API (hyper-customized `@notionhq/client`) for [`Notion`](https://www.notion.so)
- ποΈ Live Example: [`jeromefitzgerald.com`](https://jeromefitzgerald.com)
- :octocat: [`@jeromefitz/scripts`](https://github.com/JeromeFitz/packages/tree/main/packages/scripts)
- :octocat: scripts that are used to set up repos and for CI/CD
- [`@jeromefitz/spotify`](https://github.com/JeromeFitz/packages/tree/main/packages/spotify)
- π§βπ€οΈ API to gather data on:
- `now-playing|top-artists|top-tracks`
- πΌοΈ Plus imagery customizations via [plaiceholder](https://plaiceholder.co)
- ποΈ Live Example: [`jeromefitzgerald.com/music`](https://jeromefitzgerald.com/music)
- π§°οΈ [`@jeromefitz/utils`](https://github.com/JeromeFitz/packages/tree/main/packages/utils)
- Scripts that are generically re-used throughout### π Coming Soon(ish)
- `next-notion`
- Next.js implementation for `@jeromefitz/notion`### π Bonus
- [`@jeromefitz/dotfiles`](https://github.com/JeromeFitz/dotfiles): Separate from this repository
- zsh + homebrew computer setup### πͺ¦ Deprecated
- [`@jeromefitz/git-cz`](https://github.com/JeromeFitz/packages/tree/main/packages/git-cz)
- cli prompt for (expanded) [**conventional commits**](https://www.conventionalcommits.org) and **conventional branches** as no one needs to remember all the different types
- π Formats your commit message for you
- π²οΈ Integrate with your Issue Tracking System
- π’ Customize which commit types get which semver## π·οΈ CI/CD Overview
- π¦ [`pnpm workspaces`](https://pnpm.io/pnpm-workspace_yaml)
- :octocat: [`GitHub Actions`](https://github.com/features/actions) for CI/CD
- Plus release management through npm
- πΊοΈ [`turbo`](https://github.com/vercel/turborepo) for monorepo management
- [x] cache: local / remote & team development
- [x] cache: github actions
- π·οΈ [`tsup`](https://github.com/egoist/tsup) for typescript builds (w/ _some_ config)
- π€οΈ [`Renovate`](https://github.com/renovatebot/renovate) for Patch + Minor Package Management
- π€οΈ [`Kodiak`](https://kodiakhq.com) to βAutomate (our) GitHub Pull Requestsβ
- π€οΈ Automatic [`Semantic Versioning`](https://semver.org) w/ [`Conventional Commits`](https://www.conventionalcommits.org)
- ποΈ Commits & Versioning (Release Notes) made more fun by a few of the packages in this repo## :octocat: CI/CD Workflows
- βοΈ `**pull**`:
- Branch(es):
- `main|canary|develop`
- Script(s):
- `lint|test|build`
- ποΈ `**push**`:
- Branch(es):
- `main|canary|develop`
- `(ci|feature|fix|refactor|release)/**`
- Script(s):
- `lint|test|build|semantic-release`
- Note(s):
- `[b]` necessary for `semantic-release`
- Pre-relase branches (aka `!main`):
- Handled in root `release.config`
- Can be overriden in any package
- `[b]` necessary for `build` when not on `main`
- ποΈ `**weekly**`:
- Branch(es):
- `main`
- Script(s):
- `lint|test|build|semantic-release`
- Note(s):
- `[b]` not necessary for `semantic-release`## π₯³ Contributing
If you would like to opt-out of the `git hooks` please look at `.env.example`.
Normally, these would be opt-in and may change to that in the future.