Slynx Web is the official web interface and documentation site for the Slynx language.
It is built with Next.js and serves as the main entry point for users and contributors.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Runtime / Package Manager: Bun (recommended) or Node.js
- UI: React 19, CSS Modules
- Git
- Bun (recommended) – see
https://bun.sh - Or Node.js (LTS) + npm / pnpm / yarn
From the project root:
bun install
# or
npm installbun dev
# or
npm run devThen open http://localhost:3000 in your browser.
If port 3000 is already in use, Next.js may start on another port (e.g. 3001); check the terminal output.
bun lint
# or
npm run lintbun run build
# or
npm run buildsrc/app– Next.js App Router pages, layouts and routessrc/app/components– shared UI componentssrc/app/docs– documentation structure and MDX contentpublic– static assets (images, icons, etc.)
We welcome contributions of all kinds: bug fixes, documentation, design tweaks, new features and refactors.
- Fork the repository on GitHub:
https://github.com/Slynx-Language/slynx-web
- Clone your fork:
git clone https://github.com/<your-username>/slynx-web.git cd slynx-web
- (Optional) Add the upstream remote:
git remote add upstream https://github.com/Slynx-Language/slynx-web.git git fetch upstream
- Update your local base branch before starting any work:
git checkout main git pull upstream main # or origin main, depending on your setup - Create a topic branch from the appropriate base (usually
development):git checkout -b feat/my-feature # or git checkout -b fix/bug-description - Make your changes and run:
bun lint bun dev # to manually verify in the browser - Commit with a clear, English message:
git add . git commit -m "feat: short, clear description"
- Push your branch:
git push origin feat/my-feature
- Open a Pull Request on GitHub targeting the appropriate base branch (usually
development).
For more detail (branch naming, workflow, expectations), see the Git Workflow section below.
We follow a GitFlow-inspired workflow. The idea is to keep the main branches stable and use short‑lived branches for each task.
main– production-ready code.- Only receives stable, tested changes via Pull Requests.
test– integration and broader testing.- New features and fixes are validated here before moving forward.
development– preparation for release.- Final polishing, small fixes, versioning and changelog work happen here.
Do not commit directly to these branches. Always use feature/fix/etc. branches and open a Pull Request.
Create a new branch for each task and delete it after the PR is merged.
-
feat/<name>– new features- Base:
development - Example:
feat/landing-page,feat/theme-toggle
- Base:
-
refactor/<name>– internal refactors without changing external behavior- Base:
development - Example:
refactor/header-layout
- Base:
-
fix/<name>– bug fixes- Base: usually
development - Example:
fix/broken-hero-layout
- Base: usually
-
docs/<topic>– documentation-only updates- Base:
developmentormain, depending on context - Example:
docs/contributing-guide
- Base:
-
chore/<task>– maintenance tasks (configs, CI/CD, tooling, deps)- Base:
development - Example:
chore/update-deps
- Base:
# Update local base
git checkout development
git pull upstream development
# Create feature branch
git checkout -b feat/my-new-feature
# Work on your changes...
git add .
git commit -m "feat: add my new feature"
git push origin feat/my-new-featureThen open a Pull Request to development.
We follow the conventions described at:
https://github.com/iuricode/padroes-de-commits
Examples:
feat: add hero sectionfix: correct header alignmentdocs: update contributing guiderefactor: simplify page layoutchore: update dependencies
Guidelines:
- Use English for all commit messages.
- One commit per logical change/feature whenever possible.
- Use GitHub Issues.
- For bugs, include:
- Clear description of the problem
- Steps to reproduce (and, if possible, screenshots)
- Expected vs actual behavior
- Environment (OS, browser, Node/Bun version)
- For feature requests, include:
- What you propose
- Why it is useful (use cases)
- Examples of how it might be used in the UI or docs
Please be respectful, inclusive, and constructive in all interactions.
We want Slynx Web to be a welcoming place for newcomers and experienced contributors alike.