1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2024-12-08 00:44:30 +01:00
.profile/CONTRIBUTING.md

92 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2021-04-18 01:56:23 +02:00
# 💡 Contributing
Thanks a lot for your interest in contributing to **theoludwig.fr**! 🎉
2021-04-18 01:56:23 +02:00
2023-05-13 19:09:54 +02:00
## Code of Conduct
**theoludwig.fr** adopted the [Contributor Covenant](https://www.contributor-covenant.org/) as its Code of Conduct, and we expect project participants to adhere to it. Please read [the full text](./CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated.
2023-05-13 19:09:54 +02:00
2021-04-18 01:56:23 +02:00
## Types of contributions
- Reporting a bug.
- Suggest a new feature idea.
- Correct spelling errors, improvements or additions to documentation files (README, CONTRIBUTING...).
- Improve structure/format/performance/refactor/tests of the code.
## Pull Requests
- **Please first discuss** the change you wish to make via [issue](https://github.com/theoludwig/theoludwig/issues) before making a change. It might avoid a waste of your time.
2021-04-18 01:56:23 +02:00
2021-12-04 15:52:51 +01:00
- Ensure your code respect linting.
2021-04-18 01:56:23 +02:00
- Make sure your **code passes the tests**.
If you're adding new features to **theoludwig.fr**, please include tests.
2021-04-18 01:56:23 +02:00
## Commits
2023-05-13 19:09:54 +02:00
The commit message guidelines adheres to [Conventional Commits](https://www.conventionalcommits.org/) and [Semantic Versioning](https://semver.org/) for releases.
## Getting Started
2021-06-13 01:53:13 +02:00
### Prerequisites
- [Node.js](https://nodejs.org/) >= 22.0.0
- [pnpm](https://pnpm.io/) >= 9.15.0 [(`corepack enable`)](https://nodejs.org/docs/latest-v22.x/api/corepack.html)
2024-10-12 23:51:58 +02:00
- [Docker](https://www.docker.com/)
2021-06-13 01:53:13 +02:00
### Installation
```sh
# Clone the repository
2023-06-16 22:56:53 +02:00
git clone git@github.com:theoludwig/theoludwig.git
2024-09-11 23:53:26 +02:00
# Go to the project root
cd theoludwig
# Configure environment variables
cp .env.example .env
cp apps/website/.env.example apps/website/.env
# Install dependencies
pnpm install --frozen-lockfile
2021-06-13 01:53:13 +02:00
# Install Playwright browser binaries and their dependencies (tests)
pnpm exec playwright install --with-deps
2021-06-13 01:53:13 +02:00
```
### Development
2021-06-13 01:53:13 +02:00
```sh
# Start the development server
node --run dev
# Lint
node --run lint:editorconfig
node --run lint:markdown
node --run lint:typescript
2024-10-12 23:51:58 +02:00
node --run lint:eslint
node --run lint:prettier
# Tests
node --run test
# Build
node --run build
2024-10-12 23:51:58 +02:00
# To execute a command in a specific package (e.g: packages/utils)
cd packages/utils
node --run test
```
2021-06-13 01:53:13 +02:00
### Production environment with [Docker](https://www.docker.com/)
```sh
# Setup and run all the services for you
2022-05-03 10:05:11 +02:00
docker compose up --build
```
#### Services started
`theoludwig`: <http://127.0.0.1:3000>