Thanks for your interest in contributing to Veritas Acta.
git clone https://github.com/VeritasActa/verify.git
cd verify
npm install
npm testThis project uses:
- Node.js (ESM modules)
- Vitest for testing
- @noble/curves and @noble/hashes for cryptography
npm test # Run all 75 tests once
npm run test:watch # Watch modesrc/
├── index.js # Barrel exports
├── crypto.js # Deterministic crypto primitives (pure functions)
├── verifier.js # Core verify() logic
├── storage.js # Abstract counter store interface
└── adapters/
├── memory-store.js # In-process store (testing)
└── kv-store.js # Cloudflare KV store
test/
├── crypto.test.js # 65 tests for crypto primitives
└── memory-store.test.js # 10 tests for MemoryStore
examples/
├── express-middleware.js # Express integration
└── cloudflare-worker.js # Cloudflare Worker integration
- All functions in
crypto.jsmust be pure — no side effects, no I/O, no global state. - All cryptographic operations must use
@noble/curvesand@noble/hashes. No custom crypto. - Every new function needs tests. Aim for determinism tests (same input = same output) and isolation tests (different scopes produce different results).
- No new runtime dependencies unless absolutely necessary and audited.
- Fork the repository
- Create a feature branch (
git checkout -b my-feature) - Write tests for your changes
- Ensure all tests pass (
npm test) - Submit a pull request with a clear description
If you find a security vulnerability, please do not open a public issue. Instead, email security@veritasacta.com. See SECURITY.md for details.
By contributing, you agree that your contributions will be licensed under the MIT License.