AGENTS.md
Guidance for coding agents working on AlexandrAI Tools Standard Deviation Calculator in the alexandrai-tools project.
Project overview
This guide covers src/tools/standard-deviation-calculator/index.ts. The tool parses comma and whitespace separated numeric input, drops blank and non-finite tokens, returns an error for empty arrays, computes population variance and population standard deviation over N, and computes sample standard deviation over N minus one with zero for single-item samples.
Primary source files
- src/tools/standard-deviation-calculator/index.ts defines meta, SDResult, parseNumbers, calcSD, and calcSDFromString.
- src/tools/standard-deviation-calculator/index.test.ts covers parsing, blank input, the classic 2 4 4 4 5 5 7 9 example, single-number sample SD, empty arrays, negative numbers, and string convenience parsing.
- src/tools/standard-deviation-calculator/Body.astro owns browser controls.
- src/tools/standard-deviation-calculator/i18n.ts owns localized copy.
- src/lib/tools.ts registers metadata.
Setup commands
npm install npm test npm run typecheck npm run build npm run dev
Change rules
- Split numeric input on commas and whitespace.
- Drop blank tokens and non-finite numeric values.
- Return ok false when fewer than one number remains.
- Compute mean as sum divided by count.
- Compute variance as population variance divided by count.
- Compute populationSD as the square root of variance.
- Return sampleSD zero when count is less than two.
Testing
Test parsing delimiters, invalid tokens, Infinity and NaN tokens, empty input, negative numbers, one item, classic standard deviation sample, population variance, sample standard deviation, decimals, and calcSDFromString.
PR checklist
- npm test passes for standard-deviation-calculator.
- Return types, edge cases, and numeric limits remain documented.
- Pure math helpers stay browser-local and side-effect free.
- UI labels, metadata, and tests update together for behavior changes.