LedgerKeep is two repositories and this documentation site. Contributions to any of them are welcome.
- ledgerkeep-core — the on-chain half: the
maintainablecrate, the registry, the rent vault, and an example contract that adopts the standard. Rust and Soroban. - ledgerkeep-cli — the off-chain keeper. TypeScript and the Stellar SDK.
- ledgerkeep-docs — this site. Markdown, synced to GitBook.
Each repository has its own CONTRIBUTING.md with setup steps, the commit conventions, and the checks that run in CI. Read the one for the repository you are working in before opening a pull request.
Both code repositories carry issues generated from real gaps in the code — missing test paths, unsupported cases, and planned features — each labelled by area and type, with acceptance criteria written as checkboxes. Picking up an existing issue is the easiest way to find scoped work.
- Conventional commits.
type(scope): description, one logical change per commit. - Pull requests, not direct pushes. The
mainbranch is protected in both code repositories; work lands through a reviewed pull request that passes CI. - Plain language in documentation. Short, direct sentences. Real numbers over vague claims. No filler.
- State what you tested. For the CLI especially, a change to a signing path should say whether it was run against testnet, not only simulated. Simulation and submission are not the same thing, and that gap has hidden real bugs.
The docs are Markdown at the root of the ledgerkeep-docs repository, with SUMMARY.md driving the table of contents. Edit or add a page, update SUMMARY.md if you added one, and open a pull request. Keep to the writing style above — these pages are read by both non-technical users and technical reviewers, and both are better served by plain prose than by inflated language.