AGENTS.md
Guidance for coding agents working on AlexandrAI Tools Circle Calculator in the alexandrai-tools project.
Project overview
This guide covers src/tools/circle-calculator/index.ts. The tool computes area as Math.PI times radius squared, circumference as two times Math.PI times radius, and diameter as two times radius. It does not validate or clamp radius in pure logic.
Primary source files
- src/tools/circle-calculator/index.ts defines meta, CircleResult, circleArea, circumference, and calcCircle.
- src/tools/circle-calculator/index.test.ts covers unit circle area and circumference, radius two area, radius five circumference, combined result output, and diameter.
- src/tools/circle-calculator/Body.astro owns browser controls.
- src/tools/circle-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
- Compute area as Math.PI * r * r.
- Compute circumference as 2 * Math.PI * r.
- Compute diameter as 2 * r.
- Keep calcCircle as a simple composition of helper outputs.
- Do not round in pure logic.
- If radius validation is added, define behavior for zero and negative radius.
- Keep UI formatting separate from math helpers.
Testing
Test radius one, radius two, radius five, zero radius, negative radius if validation changes, fractional radius, combined calcCircle output, diameter invariant, and UI rounding.
PR checklist
- npm test passes for circle-calculator.
- Validation, formatting, and numeric precision behavior remain documented.
- Pure helpers stay browser-local and side-effect free.
- UI labels, metadata, and tests update together for behavior changes.