Solana KitSolana Kit Docs

Installation

Install Solana Kit in an application or set up the full workspace for contribution.

Solana Kit supports two common setups:

  1. Application usage — install solana_kit or a smaller sub-package in your Dart or Flutter app.
  2. Workspace contribution — clone the monorepo and use devenv to get the full toolchain, docs tooling, and reference repos.

Install in an app#

If you want the full SDK surface, install the umbrella package:

dart pub add solana_kit

Then import it in your application code:

import 'package:solana_kit/solana_kit.dart';

When to install a smaller package instead#

Prefer a smaller package when:

  • you only need one feature area, such as addresses, codecs, RPC, or signers
  • you are building a library and want a narrower dependency surface
  • you want your package imports to reflect a specific architectural boundary

Examples:

dart pub add solana_kit_accounts
dart pub add solana_kit_codecs_core
dart pub add solana_kit_rpc
dart pub add solana_kit_signers

Set up the workspace for contribution#

Use the monorepo when you want to run tests, update docs, compare against upstream @solana/kit, or contribute changes across packages.

# Clone the repository
git clone https://github.com/openbudgetfun/solana_kit.git
cd solana_kit

# Load devenv
direnv allow

# Install binary tools and Dart dependencies
install:all
dart pub get

# Pull reference repositories used for compatibility checks
clone:repos

Verify the toolchain#

Run these commands from the repository root:

# Lint, docs drift, formatting, and analysis checks
lint:all

# Run all package tests
test:all

# Generate merged test coverage across all packages
test:coverage

# Validate markdown templates and generated docs
# (also runs mdt doctor and workspace docs drift checks)
docs:check

# Regenerate documentation template consumers and workspace docs
docs:update

# Inspect mdt provider/consumer state and cache reuse
mdt:info

# Run actionable mdt health checks
mdt:doctor

# Check tracked upstream compatibility metadata
upstream:check

# Run local benchmark scripts across benchmark-enabled packages
bench:all

# Fix formatting and lint issues where possible
fix:all

For day-to-day contribution work, the most important commands are lint:all, test:all, docs:check, and docs:update.

Documentation tooling#

This workspace uses mdt to keep shared README blocks, site snippets, and selected source doc comments synchronized.

Use:

  • docs:update to regenerate all consumer blocks
  • docs:check to verify everything is current in CI or before committing
  • mdt:info to inspect providers, consumers, and cache reuse
  • mdt:doctor to diagnose template drift or config problems

Next steps#