Thanks for taking the time to contribute! This repository is a monorepo of TypeScript SDK packages for the Namespace ecosystem, managed with npm workspaces and Lerna.
| Package | Description |
|---|---|
@thenamespace/addresses |
Namespace & ENS contract addresses |
@thenamespace/indexer |
SDK for the Namespace Indexer API |
@thenamespace/mint-manager |
Minting L2 subnames |
@thenamespace/offchain-manager |
Creating & managing off-chain ENS subnames |
@thenamespace/avatar |
ENS avatar & header image uploads |
- Node.js >= 16.0.0
- npm (workspaces are used for dependency management)
# Clone the repository
git clone https://github.com/thenamespace/namespacesdk.git
cd namespacesdk
# Install dependencies for every package
npm installEach package is self-contained. To work on one, change into its directory and use its own scripts:
cd packages/offchain-manager
npm run build # compile TypeScript
npm run test # run the package's tests (where available)- Fork the repository and create a feature branch off
release:git checkout -b feat/short-description
- Make your changes in the relevant package under
packages/. - Build the package(s) you touched to confirm they compile:
npm run build
- Add or update tests when you change behavior, and make sure they pass.
- Update documentation (the package README and any related docs) when behavior changes.
Please follow Conventional Commits. Scope the change to the affected package where it helps:
feat(offchain-manager): add support for custom resolvers
fix(indexer): handle 404 responses gracefully
docs(addresses): document getEnsContracts
- Ensure your branch is up to date with
release. - Confirm the affected packages build and their tests pass.
- Keep the PR focused — one logical change per PR.
- Describe what changed and why, and link any related issues.
- Open the PR against the
releasebranch.
Found a bug or have a feature request? Please open an issue with as much detail as possible — steps to reproduce, expected vs. actual behavior, and the package + version affected.
Join the Namespace Builders group chat on Telegram if you have questions, suggestions, or feedback.
By contributing, you agree that your contributions will be licensed under the MIT License.