We scale Ethereum without sacrificing privacy. You can help.
Thank you for your interest in improving intmax2-function, the zero-knowledge roll-up function service developed by the Internet Maximalism community. Whether you spot a typo, design a new feature, or help triage issues, your contribution makes the project stronger. This guide explains how to participate effectively and respectfully.
Following the steps below shows respect for the maintainers’ time and helps us review your work quickly. In return, we will do our best to respond promptly, give constructive feedback, and merge high-quality changes.
- Code — Rust/TypeScript/Go changes that improve functionality, performance, or security of the function services.
- Documentation — Tutorials, API references, FAQs, diagrams, or translations.
- Testing & QA — Bug reports, reproducible test cases, and adding automated tests.
- Dev UX — Build scripts, Dockerfiles, CI/CD, developer tools.
- Community support — Answering questions on Discord, writing blog posts, or recording demo videos.
- End-user support requests — Please open a ticket at intmaxhelp.zendesk.com instead of the GitHub issue tracker.
- Exchange listing questions / price talk — Off-topic for this repository.
- Security disclosures in public issues — See the security section below.
- Be respectful, inclusive, and patient — read and follow our Code of Conduct.
- Discuss large changes in an issue before starting work.
- All code must pass format and test checks.
- Write tests for all new modules and functions.
- Keep PRs focused: one feature or bug-fix per pull request.
- Never commit secrets, private keys, or user data.
Newcomers are welcome! Look for issues labeled good first issue or help wanted:
https://github.com/InternetMaximalism/intmax2-function/issues?q=is%3Aopen+label%3A%22good+first+issue%22
If you’re unsure, ask in #dev-general on our Discord.
For a gentle introduction, consider improving docs or adding small tests.
-
Fork the repo: https://github.com/InternetMaximalism/intmax2-function and clone your fork.
-
Create a branch:
git checkout -b feat/short-description
-
Set up the environment Copy
.env.examplefiles to.envand edit as needed:cp .env.example .env # Edit .env to match your local configuration -
Install dependencies:
yarn
-
Build shard modules:
yarn build:shard
-
Run the test suite to ensure your environment is healthy:
yarn format yarn test -
Commit using Conventional Commits:
feat: add deposit-function handlerfix(api): handle zero-gas meta-tx edge-case
-
Push and open a Pull Request against
dev(notmain). -
Complete the PR checklist; a maintainer will review within 5 business days.
Typo or whitespace fixes that don’t change functionality can be submitted without opening an issue first.
If something isn’t working:
-
Search existing issues first.
-
Open a new issue with the template and include:
- Commit hash / Docker image tag
- OS and architecture (e.g. Ubuntu 22.04 x86-64)
- Steps to reproduce (commands, transaction hashes, etc.)
- Expected vs. actual behavior
- Logs / screenshots when possible
Do not open a public issue. Email support@intmax.io with details and we will coordinate a responsible disclosure.
Open an issue describing:
- What problem you are solving and who benefits
- Proposed solution (API sketch, UX flow, or pseudocode)
- Alternatives you considered
A maintainer will discuss scope and alignment with the project roadmap before anyone starts coding.
- At least two approvals from core maintainers are required.
- CI must be green before merging.
- The PR author (or a maintainer) should squash-merge once reviews pass.
- Inactive PRs with no activity for 30 days may be closed — feel free to reopen when ready.
- Discord: https://discord.gg/TGMctchPR6 (
#dev-general) - GitHub Discussions: https://github.com/InternetMaximalism/intmax2-function/discussions
- Support portal (private): intmaxhelp.zendesk.com
| Area | Convention |
|---|---|
| TypeScript | yarn test, yarn format |
| Commits | Conventional Commits (feat:, fix:, chore: …) |
| Issue labels | bug, enhancement, good first issue, help wanted, security, docs, discussion |
intmax2-function exists because of contributors like you. We appreciate your time and effort to make private, scalable blockchain infrastructure a reality.