Thank you for your interest in contributing to ikona!
In open source, there are many ways to contribute. Here are some of the ways you can contribute:
pnpm install: bootstraps the entire project, symlinks all dependencies for cross-component development and builds
all components.
pnpm dev: starts tsup with watch mode for all packages.
pnpm build: run build for all packages.
pnpm test: run test for all packages.
pnpm release: publish changed packages.
If you find a bug, please report it by opening an issue. Please include as much information as possible, including:
- A clear description of the bug
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots, if applicable
If you have an idea for an enhancement, please open an issue. Please include as much information as possible, including:
- A clear description of the enhancement
- Use cases for the enhancement
- Screenshots, if applicable
If you are making a pull request, please make sure you have read the following guidelines:
Before you create a Pull Request, please check whether your commits comply with the commit conventions used in this repository.
When you create a commit we kindly ask you to follow the convention category(scope or module): message in your commit
message while using one of the following categories:
feat / feature: all changes that introduce completely new code or new featuresfix: changes that fix a bug (ideally you will additionally reference an issue if present)refactor: any code related change that is not a fix nor a featuredocs: changing existing or creating new documentation (i.e. README, docs for usage of a lib or cli usage)build: all changes regarding the build of the software, changes to dependencies or the addition of new dependenciestest: all changes regarding tests (adding new tests or changing existing ones)ci: all changes regarding the configuration of continuous integration (i.e. github actions, ci system)chore: all changes to the repository that do not fit into any of the above categories
If you are interested in the detailed specification you can visit https://www.conventionalcommits.org/ or check out the Angular Commit Message Guidelines.
-
Fork of the ikona repository and clone your fork
-
Create a new branch out of the
mainbranch. We follow the convention[type/scope]. For examplefix/accordion-hookordocs/menu-typo.typecan be eitherdocs,fix,feat,build, or any other conventional commit type.scopeis just a short id that describes the scope of work. -
Make and commit your changes following the commit convention. As you develop, you can run
pnpm --filter=<module> buildandpnpm --filter=<module> testto make sure everything works as expected. Please note that you might have to runpnpm bootfirst in order to build all dependencies. -
Run
pnpm changesetto create a detailed description of your changes. This will be used to generate a changelog when we publish an update. Learn more about Changeset. Please note that you might have to rungit fetch origin main:master(where origin will be your fork on GitHub) beforepnpm changesetworks. -
Also, if you provide
jsxsnippets to the changeset, please turn off the live preview by doing the following at the beginning of the snippet:```jsx live=false
If you made minor changes like CI config, prettier, etc, you can run
pnpm changeset add --emptyto generate an empty changeset file to document your changes.
All commits that fix bugs or add features need a test.