From a98385efc9a31dd4fe48382e85d1294a57f8ddff Mon Sep 17 00:00:00 2001 From: Dan Notestein Date: Tue, 30 Dec 2025 18:04:31 -0500 Subject: [PATCH] Add CLAUDE.md for AI-assisted development --- CLAUDE.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..8362dfb --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,61 @@ +# CLAUDE.md - wax-test + +## Project Overview + +Test repository for the `@hive/wax` library. Validates cryptographic operations for the Hive blockchain including key generation, signature calculation, transaction serialization, and transaction ID computation. + +## Tech Stack + +- **Language:** TypeScript 5.1.6 +- **Runtime:** Node.js (minimum v14.17) +- **Module System:** ES6 modules +- **Main Dependency:** `@hive/wax` - Hive blockchain cryptographic protocol library +- **License:** MIT + +## Directory Structure + +``` +wax-test/ +├── src/ +│ └── index.ts # Main test file with all validation logic +├── dist/ # Compiled JavaScript output (gitignored) +├── package.json # Project metadata and scripts +├── tsconfig.json # TypeScript configuration +├── README.md # Project documentation +└── LICENSE.md # MIT license +``` + +## Development Commands + +```bash +# Install dependencies (requires custom registry setup first) +npm config set @hive:registry https://gitlab.syncad.com/api/v4/packages/npm/ +npm install + +# Build TypeScript +npm run build + +# Run tests +npm run start +``` + +## Key Files + +- `src/index.ts` - Main entry point with all test logic +- `tsconfig.json` - Strict TypeScript config (ES6 target, strict null checks, no unused locals) +- `package.json` - Defines build/start scripts + +## Coding Conventions + +- **Imports:** Use `assert` from `'assert'` (not `'node:assert'`) +- **Async/await:** Use async IIFE pattern for main entry point +- **Assertions:** Use Node.js built-in `assert` module (`assert.ok()`, `assert.equal()`, `assert.match()`) +- **Error handling:** Use `.catch()` on promises with `process.exit(1)` for failures +- **Exit codes:** 0 for success, 1 for failure + +## CI/CD Notes + +No CI pipeline configured. Build and test manually with: +```bash +npm run build && npm run start +``` -- GitLab