Ratatoskr/HACKING.md
Void 2255988866
Some checks failed
CLA Assistant / CLAssistant (pull_request_target) Has been cancelled
Build pull request / Build pull request (pull_request) Has been cancelled
NPM Lockfile Changes / lockfile_changes (pull_request) Has been cancelled
Check PR title / lint (pull_request_target) Has been cancelled
brand: Ratatoskr README front door, package name, theme colour, contrib confs
README names what the repo is, what is live versus planned and the entry
points; Cinny is credited as upstream and the AGPL notice and copyright are
kept. package name, HACKING/CONTRIBUTING titles, nginx/caddy examples and the
docker tag follow. manifest and theme-color use the mock-up navy #07111a.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 07:09:25 +00:00

60 lines
1.6 KiB
Markdown

# Developing Ratatoskr
> [!TIP]
> We recommend using a version manager as versions change very quickly.
> You will likely need to switch between multiple Node.js versions based
> on the needs of different projects you're working on. [NVM-windows]
> on Windows and [nvm] on Linux/macOS are pretty good choices. Recommended
> nodejs version is Krypton LTS (v24.13.1).
[nvm-windows]: https://github.com/coreybutler/nvm-windows#installation--upgrades
[nvm]: https://github.com/nvm-sh/nvm
Execute the following commands to start a development server:
```sh
npm ci # Installs all dependencies
npm start # Serve a development version
```
To build the app:
```sh
npm run build # Compiles the app into the dist/ directory
```
To commit changes:
```sh
npm run commit
```
## Running with Docker
This repository includes a Dockerfile, which builds the application from
source and serves it with Nginx on port 80. To use this locally, you can
build the container like so:
```
docker build -t ratatoskr:latest .
```
You can then run the container you've built with a command similar to this:
```
docker run -p 8080:80 ratatoskr:latest
```
This will forward your `localhost` port 8080 to the container's port 80.
You can visit the app in your browser by navigating to `http://localhost:8080`.
## Code formatting
We use [ESLint](https://eslint.org/) for clean and stylistically
consistent code syntax, so make sure your pull request follow it.
## Helpful links
- [BEM methodology](http://getbem.com/introduction/)
- [Atomic design](https://bradfrost.com/blog/post/atomic-web-design/)
- [Matrix JavaScript SDK documentation](https://matrix-org.github.io/matrix-js-sdk/index.html)