Thank you for your interest in contributing to lotru-ui.com.
Before submitting your first pull request, please take a moment to review this guide. We also encourage you to check existing issues and pull requests to ensure no one is already working on a similar task.
This repository is a monorepo.
- We use pnpm and
workspacesfor development. - We use Turborepo as our build system.
- We use changesets for managing releases.
This repository is structured as follows:
packages
└── cli
scripts
website
└── src
├── app
├── components
│ ├── examples
│ └── ui
└── content
| Path | Description |
|---|---|
packages/cli |
The lotru package. |
scripts |
The scripts to build the registry. |
website/src/app |
The Next.js application for the website. |
website/src/components |
The React components for the website. |
website/src/components/examples |
The example components for the registry. |
website/src/components/ui |
The UI components for the registry. |
website/src/content |
The content for the website. |
You can fork this repo by clicking the fork button in the top right corner of this page.
git clone https://github.com/your-username/lotru.gitcd lotrugit checkout -b my-new-branchpnpm installYou can use the pnpm --filter=[WORKSPACE] command to start the development process for a workspace.
- To run the
lotru-ui.comwebsite:
pnpm --filter=website dev- To run the
lotrupackage:
pnpm --filter=lotru devTo run the CLI locally, you can follow the workflow:
-
Start by running the registry (main site) to make sure the components are up to date:
pnpm website:dev
-
Run the development script for the CLI:
pnpm lotru:dev
-
In another terminal tab, test the CLI by running:
pnpm lotru
To test the CLI in a specific app, use a command like:
pnpm lotru <init | add | ...> -c ~/Desktop/my-app
This workflow ensures that you are running the most recent version of the registry and testing the CLI properly in your local environment.
You can find the source code for the components under website/src/components.
website
└── components
├── examples
└── uiWhen adding or modifying components, please ensure that:
- You update the documentation.
- You update the registry schema.
- You run
pnpm build:registryto update the registry.
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 features -
fix: 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 feature -
docs: 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 dependencies -
test: 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 categoriese.g.
feat(components): add new prop to the avatar component
If you are interested in the detailed specification you can visit https://www.conventionalcommits.org/ or check out the Angular Commit Message Guidelines.
If you have a request for a new component, please open a discussion on GitHub. We'll be happy to help you out.