Skip to content

Latest commit

 

History

History
95 lines (65 loc) · 2.17 KB

File metadata and controls

95 lines (65 loc) · 2.17 KB

Contributing to create-sati-agent

Thank you for contributing.

This project is a CLI for registering AI agent identities on Solana via SATI and ERC-8004. Keep changes small, tested, and standards-compliant.

Development Setup

  1. Clone the repository.
  2. Initialize submodules:
git submodule update --init --recursive
  1. Install dependencies:
pnpm install
  1. Validate your environment:
pnpm check
pnpm build

Common Commands

pnpm check         # type-check + lint (required after every code change)
pnpm build         # production build
pnpm lint:fix      # auto-fix formatting/lint where possible

pnpm agent:init
pnpm agent:publish
pnpm agent:publish:dry
pnpm agent:search
pnpm agent:info
pnpm agent:give-feedback

Coding Standards

  • Use TypeScript and keep strict typing intact.
  • Use @solana/kit for Solana interactions. Do not introduce @solana/web3.js v1 imports.
  • For ERC-8004 registration validation, use SDK types/validators from agent0-sdk. Do not add parallel custom schemas that can drift.
  • Keep CLI behavior automation-friendly (prefer explicit flags and predictable outputs).
  • Keep user-facing error messages actionable.

Testing Expectations

Before opening a PR:

  1. Run pnpm check and ensure it passes.
  2. Run pnpm build and ensure it passes.
  3. If your change affects command behavior, run a manual CLI smoke test.

Recommended smoke test:

npx . init
npx . publish --network devnet --dry-run

If your change touches publishing or registry behavior, also test the non-dry-run flow on devnet.

Pull Requests

Keep PRs focused and explain both what changed and why.

Include:

  • Problem statement
  • Approach
  • Any tradeoffs or compatibility notes
  • Validation steps and results

Suggested commit prefixes:

  • feat:
  • fix:
  • refactor:
  • docs:
  • chore:

Docs and Submodules

  • docs/best-practices/ is a git submodule. Do not directly edit vendored upstream content unless that is your explicit goal.
  • If you update submodule references, call it out clearly in your PR.

License

By contributing, you agree that your contributions are provided under the repository license (Apache-2.0).