Thank you for your interest in contributing. This repository holds the open-source developer toolkit: the TypeScript SDK, the Python SDK, the CLI, the MCP server, examples, and docs. It does not contain the agent runtime or the Soroban contracts, which are maintained privately.
Note: Nirium operates under the Stellar Code of Conduct. Violations can be reported to niriumprotocol@gmail.com or community@stellar.org.
- Node.js 20+
- Python 3.10+ (for
packages/sdk-python) - Git
git clone https://github.com/nirium-protocol/nirium-sdk.git
cd nirium-sdk
# TypeScript SDK / CLI / MCP server each have their own package.json
cd packages/sdk && npm install && npm run build
# Python SDK
cd packages/sdk-python && pip install -e .| Script | Description |
|---|---|
npm run build |
Compile TypeScript (tsc) |
npm run dev |
Watch mode |
npm run lint |
ESLint |
npm run test |
Jest |
nirium-sdk/
├── packages/sdk/ → TypeScript SDK (npm: nirium)
├── packages/sdk-python/ → Python SDK (pip: nirium)
├── packages/mcp/ → MCP server (npm: nirium-mcp)
├── packages/cli/ → CLI (npm: nirium-cli)
├── docs/ → Quickstarts and guides
└── examples/ → Runnable integrations (Express, Next.js, treasury vault)
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes
- Run tests and lint for the package(s) you touched
- Commit using conventional commits (see below)
- Push and open a PR against
main
Reviewers will not follow up for missing context — include a clear description of what changed and why.
We follow Conventional Commits:
| Prefix | Use for |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation only |
refactor: |
Code change that neither fixes a bug nor adds a feature |
test: |
Adding or updating tests |
chore: |
Maintenance, tooling, CI |
Every commit produced with AI assistance carries a Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> trailer. This is a factual disclosure of how the commit was produced — it is never stripped to make a commit look human-authored, and never added where it doesn't apply to fake the opposite. If you use AI assistance in your own contributions, disclose it the same way.
- TypeScript: strict mode, explicit types for all public APIs
- Python: type hints on public functions
- Comments: only when the why is non-obvious — no narration of what the code does
If you discover a security vulnerability, do not open a public issue.
Email: niriumprotocol@gmail.com
Include: description, reproduction steps, potential impact, and any suggested remediation.
By contributing, you agree that your contributions will be licensed under the Apache-2.0 License.
Updated August 13, 2026