Contributing to Nexterm
You plan on contributing to Nexterm? That's great! This document will guide you through the process of contributing to the project.
📦 Prerequisites
Installing FlatBuffers
| Platform | Command |
|---|---|
| macOS | brew install flatbuffers |
| Ubuntu / Debian | sudo apt install flatbuffers-compiler |
| Windows | winget install Google.FlatBuffers |
🛠️ Installation
Clone the repository:
shgit clone https://github.com/gnmyt/Nexterm.git cd NextermCreate a local environment file:
shcp .env.example .envMake sure
ENCRYPTION_KEYis set in.env.You can generate a secure key using:
Platform Command macOS / Linux openssl rand -hex 32Install the dependencies for the server:
shyarn installInstall the dependencies for the client:
shcd client yarn install cd ..Generate FlatBuffers schemas:
shyarn schema:generate
🏃 Running the development server
Start the development server:
yarn devThis will start the server and the client in development mode. You can access the development server at http://127.0.0.1:5173.
Starting an engine
The development server does not automatically start an engine. To connect to servers, an engine must be running separately:
yarn dev:engineIf you want the engine to register automatically with the local control plane, set LOCAL_ENGINE_TOKEN in .env and use the same value as REGISTRATION_TOKEN for the engine.
🤝 Contributing
Fork the repository: Click the "Fork" button at the top right of the repository page.
Create a new branch:
shgit checkout -b feature/my-new-featureMake your changes: Implement your feature, fix, or improvement.
Commit your changes:
shgit commit -m "Add feature: my new feature"Push to your fork:
shgit push origin feature/my-new-featureOpen a pull request: Go to the original repository and create a PR with a clear description.
📝 Guidelines
- Follow the existing code style.
- Keep PRs focused and minimal.
- Include meaningful commit messages.
- Link related issues when applicable.
🌍 Translations
Nexterm uses Crowdin for managing translations. If you'd like to help translate Nexterm into your language or improve existing translations, please visit our Crowdin project page.
To suggest a new language, please open an issue in the repository using the language request template. Translation pull requests will not be accepted as all translations are managed through Crowdin.
