Relocate the ~6k-file docs tree from the repo root into plugins/document-navigator/docs/ so the plugin is self-contained and portable. docs/superpowers/ (specs and plans) stays at the repo root. Moved via cp+rm rather than git mv because directory rename() fails with EPERM on this WSL /mnt DrvFs mount; git rename-detection pairs the identical-content files at commit time. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
33 KiB
@suaveplan/crypto-curve - Elliptic-curve primitives with per-primitive selector layout: secp256k1, ed25519, x25519, p256, p384, p521. Noble + native impls selected at build time via crypto.config.ts. Zero runtime mocks; thin wrappers over @noble/curves.
Summary
Low-level elliptic-curve building blocks for the @suaveplan/crypto stack. Exposes four curves — secp256k1, Ed25519, X25519, and NIST P-256 — each as a standalone subpath export so bundlers only ship the primitives actually used. Every curve provides key generation, signing/verification (or key agreement), and raw byte operations. Implementation flavour ('noble' vs 'native') is selected at build time via the repo-root crypto.config.ts; all Phase 0 implementations route to @noble/curves. Use this package when you need raw curve operations; for high-level AEAD, signing, or sealed-box use @suaveplan/crypto instead.
Documentation tree
- codes — (no submodules)
- codes — (no submodules)
- crypto-curve-error — (no submodules)
- crypto-curve-error — (no submodules)
- ed25519 — (no submodules) - ed25519.select — _(no submo…
- ed25519.select — (no submodules)
- ed25519.select — (no submodules)
- ed25519.native — (no submodules)
- ed25519.native — (no submodules)
- ed25519.noble — (no submodules)
- ed25519.noble — (no submodules)
- ed25519 — (no submodules) - ed25519.select — _(no submo…
- ed25519.select — (no submodules)
- p256 — (no submodules) - p256.native — _(no submodul…
- p256.native — (no submodules)
- p256.native — (no submodules)
- p256.noble — (no submodules)
- p256.noble — (no submodules)
- p256.select — (no submodules)
- p256.select — (no submodules)
- p256 — (no submodules) - p256.native — _(no submodul…
- p256.native — (no submodules)
- p384 — (no submodules) - p384.native — _(no submodul…
- p384.native — (no submodules)
- p384.native — (no submodules)
- p384.noble — (no submodules)
- p384.noble — (no submodules)
- p384.select — (no submodules)
- p384.select — (no submodules)
- p384 — (no submodules) - p384.native — _(no submodul…
- p384.native — (no submodules)
- p521 — (no submodules) - p521.native — _(no submodul…
- p521.native — (no submodules)
- p521.native — (no submodules)
- p521.noble — (no submodules)
- p521.noble — (no submodules)
- p521.select — (no submodules)
- p521.select — (no submodules)
- p521 — (no submodules) - p521.native — _(no submodul…
- p521.native — (no submodules)
- secp256k1 — (no submodules) - secp256k1.native — _(no sub…
- secp256k1.native — (no submodules)
- secp256k1.native — (no submodules)
- secp256k1.noble — (no submodules)
- secp256k1.noble — (no submodules)
- secp256k1.select — (no submodules)
- secp256k1.select — (no submodules)
- secp256k1 — (no submodules) - secp256k1.native — _(no sub…
- secp256k1.native — (no submodules)
- x25519 — (no submodules) - x25519.native — _(no submod…
- x25519.native — (no submodules)
- x25519.native — (no submodules)
- x25519.noble — (no submodules)
- x25519.noble — (no submodules)
- x25519.select — (no submodules)
- x25519.select — (no submodules)
- x25519 — (no submodules) - x25519.native — _(no submod…
- x25519.native — (no submodules)
- p256.native — (no submodules)- p256.native — (no submodules)- p256.noble — (no submodules)- p256.noble — (no submodules)- p256.select — (no submodules)- p256.select — (no submodules)- p256 — (no submodules)- p256.native — <!-- begin:aut…
- p384.native — (no submodules)- p384.native — (no submodules)- p384.noble — (no submodules)- p384.noble — (no submodules)- p384.select — (no submodules)- p384.select — (no submodules)- p384 — (no submodules)- p384.native — <!-- begin:aut…
- p521.native — (no submodules)- p521.native — (no submodules)- p521.noble — (no submodules)- p521.noble — (no submodules)- p521.select — (no submodules)- p521.select — (no submodules)- p521 — (no submodules)- p521.native — <!-- begin:aut…
- secp256k1.native — (no submodules)- secp256k1.native — (no submodules)- secp256k1.noble — (no submodules)- secp256k1.noble — (no submodules)- secp256k1.select — (no submodules)- secp256k1.select — (no submodules)- secp256k1 — (no submodules)- secp256k1.native — <!-- begi…
- x25519.native — (no submodules)- x25519.native — (no submodules)- x25519.noble — (no submodules)- x25519.noble — (no submodules)- x25519.select — (no submodules)- x25519.select — (no submodules)- x25519 — (no submodules)- x25519.native — <!-- begin:a…
- ed25519.select — (no submodules)- ed25519.select — (no submodules)- ed25519.native — (no submodules)- ed25519.native — (no submodules)- ed25519.noble — (no submodules)- ed25519.noble — (no submodules)- ed25519 — (no submodules)- ed25519.select — _(no subm…
- p256.native — (no submodules)- p256.native — (no submodules)- p256.noble — (no submodules)- p256.noble — (no submodules)- p256.select — (no submodules)- p256.select — (no submodules)- p256 — (no submodules)- p256.native — _(no submodu…
- p384.native — (no submodules)- p384.native — (no submodules)- p384.noble — (no submodules)- p384.noble — (no submodules)- p384.select — (no submodules)- p384.select — (no submodules)- p384 — (no submodules)- p384.native — _(no submodu…
- p521.native — (no submodules)- p521.native — (no submodules)- p521.noble — (no submodules)- p521.noble — (no submodules)- p521.select — (no submodules)- p521.select — (no submodules)- p521 — (no submodules)- p521.native — _(no submodu…
- secp256k1.native — (no submodules)- secp256k1.native — (no submodules)- secp256k1.noble — (no submodules)- secp256k1.noble — (no submodules)- secp256k1.select — (no submodules)- secp256k1.select — (no submodules)- secp256k1 — (no submodules)- secp256k1.native — _(no su…
- x25519.native — (no submodules)- x25519.native — (no submodules)- x25519.noble — (no submodules)- x25519.noble — (no submodules)- x25519.select — (no submodules)- x25519.select — (no submodules)- x25519 — (no submodules)- x25519.native — _(no submo…
Primitives
secp256k1— ECDSA + ECDH on secp256k1 (Bitcoin/Ethereum curve).ed25519— EdDSA on Edwards25519 (RFC 8032).x25519— ECDH on Curve25519 / Montgomery form (RFC 7748).p256— ECDSA + ECDH on NIST P-256 (FIPS 186-4).
Subpath exports
@suaveplan/crypto-curve/secp256k1@suaveplan/crypto-curve/ed25519@suaveplan/crypto-curve/x25519@suaveplan/crypto-curve/p256
Implementation flavour ('noble' vs 'native') is selected at build time via
the repo-root crypto.config.ts. All Phase 0 impls route to @noble/curves.