1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2024-11-05 04:51:30 +01:00
.profile/CONTRIBUTING.md
Théo LUDWIG 7bde328b96
perf!: monorepo setup + fully static + webp images
BREAKING CHANGE: minimum supported Node.js >= 22.0.0 and pnpm >= 9.5.0
2024-07-30 23:59:06 +02:00

2.1 KiB

💡 Contributing

Thanks a lot for your interest in contributing to theoludwig.fr! 🎉

Code of Conduct

theoludwig.fr adopted the Contributor Covenant as its Code of Conduct, and we expect project participants to adhere to it. Please read the full text so that you can understand what actions will and will not be tolerated.

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 before making a change. It might avoid a waste of your time.

  • Ensure your code respect linting.

  • Make sure your code passes the tests.

If you're adding new features to theoludwig.fr, please include tests.

Commits

The commit message guidelines adheres to Conventional Commits and Semantic Versioning for releases.

Getting Started

Prerequisites

Installation

# Clone the repository
git clone git@github.com:theoludwig/theoludwig.git

# Configure environment variables
cp .env.example .env
cp apps/website/.env.example apps/website/.env

# Install dependencies
pnpm install --frozen-lockfile

# Install Playwright browser binaries and their dependencies (tests)
pnpm exec playwright install --with-deps

Development

# Start the development server
node --run dev

# Lint
node --run lint:editorconfig
node --run lint:markdown
node --run lint:prettier
node --run lint:eslint
node --run lint:typescript

# Tests
node --run test

# Build
node --run build

Production environment with Docker

# Setup and run all the services for you
docker compose up --build

Services started

theoludwig: http://127.0.0.1:3000