Thank you for your interest in NEKTE! This guide will help you get started.
# Clone the repo
git clone https://github.com/nekte-protocol/nekte.git
cd nekte
# Install dependencies (requires pnpm 9+ and Node 20+)
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test
# Run the demo
pnpm demo| Package | Description |
|---|---|
@nekte/core |
Protocol types, Zod schemas, hashing, budget resolution, codec, MessagePack, task state machine |
@nekte/client |
Client library with lazy discovery, zero-schema cache, HTTP/gRPC transports, streaming + cancel |
@nekte/server |
Server library with capability registry, task registry (DDD), HTTP/WS/gRPC transports, auth |
@nekte/bridge |
MCP-to-NEKTE proxy with SIEVE cache, compression, and metrics |
@nekte/cli |
CLI tool: discover, invoke, health, card, bench |
Dependency order: core -> client / server -> bridge / cli
- Create a branch from
main - Make your changes
- Add tests for new functionality
- Run
pnpm testandpnpm typecheck - Run
pnpm lintandpnpm formatto lint and format code - Add a changeset (
pnpm changeset) if your change affects a published package - Submit a pull request
Tests live alongside source code in src/__tests__/ directories. We use Vitest.
# Run tests for a specific package
cd packages/core && pnpm test
# Run tests in watch mode
cd packages/core && npx vitest- TypeScript strict mode
- Prettier for formatting (
pnpm format) - ESLint for linting (
pnpm lint) - Prefer Zod schemas for runtime validation
- Tests: Expand test coverage, especially integration tests
- Documentation: Improve JSDoc, add usage examples
- Bridge: Stdio transport for MCP servers, better error handling
- SDKs: Python and Go implementations (v1.0 roadmap)
- Spec: RFC-style reviews and feedback on the protocol design
By contributing, you agree that your contributions will be licensed under the MIT License.