| Tool | Version |
|---|---|
| Node.js | >= 24.18.0 (see .nvmrc) |
| pnpm | >= 11.9.0 |
| JDK | 21 (for coordinator, Besu plugins) |
| Docker | 24+ with 16 GB memory, 4+ CPUs |
| Docker Compose | 2.19+ |
| Make | 3.81+ |
git clone https://github.com/LFDT-Lineth/lineth-monorepo.git
cd lineth-monorepo
nvm use # or install Node 24.18.0
pnpm install # installs all workspaces + sets up Husky hooks# Smart contracts
pnpm -F contracts run build
pnpm -F contracts run test
# Coordinator (Kotlin)
./gradlew :coordinator:app:build
# Full local stack (L1 + L2 + contracts)
make start-envSee docs/local-development-guide.md for detailed coordinator setup.
# TypeScript/JavaScript
pnpm run lint:fix
pnpm run test
# Smart contracts
pnpm -F contracts run lint:fix
pnpm -F contracts run test
# Kotlin/Java
./gradlew spotlessApply
./gradlew test
# Go (prover)
cd prover && gofmt -w . && golangci-lint run && go test ./... -tags nocorset,fuzzlight- Create a branch:
type/issue#-short-description(e.g.,feature/123-add-login-button) - Implement changes with tests
- Run lint and test commands for affected packages
- Commit:
type(issue#): short description(e.g.,fix(456): corrected login error) - Open a PR to
mainusing the PR template - Ensure CI passes; respond to review feedback
- External PRs follow the standard deployment flow with Lineth contributor support
- pnpm only — npm and yarn are blocked
- No secrets — use environment variables and
.env.templateplaceholders - Tests required — all new logic must have corresponding tests
- Breaking API changes — create new versioned methods/assets, never modify existing ones
- Solidity NatSpec — every public/external function, event, and error must have documentation
- Husky pre-commit — runs automatically on commit; do not skip with
--no-verify
- Smart contracts: See contracts/AGENTS.md and contracts/docs/contract-style-guide.md
- Prover: See prover/AGENTS.md
- AGENTS.md — Complete repository guide (commands, conventions, architecture)
- docs/contribute.md — Detailed contribution guidelines and release process
- docs/security.md — Security policy and vulnerability reporting
- docs/code-of-conduct.md — Community guidelines