- Create validator.js with validateNumericInput() function
- Validates numeric strings; allows digits, leading minus, single decimal point
- Rejects invalid characters, multiple decimals, misplaced minus signs
- Returns { isValid, value, sanitized } object
- Link validator.js in index.html <head>
- Update CLAUDE.md project structure to include validator.js
37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# Simple Calculator
|
|
|
|
Greenfield project. Implementation is driven by the Vexa AI-SDLC pipeline (Jira project TSC).
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
/
|
|
├── index.html # Calculator UI (semantic HTML5)
|
|
├── styles.css # Responsive CSS layout and styling
|
|
├── validator.js # Numeric input validator (validateNumericInput)
|
|
├── README.md # Project overview
|
|
└── CLAUDE.md # This file
|
|
```
|
|
|
|
## Build Commands
|
|
|
|
No build system has been configured yet. Update this section once a language/framework is chosen and dependencies are added.
|
|
|
|
## Test Commands
|
|
|
|
No test suite has been configured yet. Update this section once testing infrastructure is in place.
|
|
|
|
## Development Commands
|
|
|
|
No dev server or REPL is configured yet. Update this section once the implementation begins.
|
|
|
|
## Architecture Notes
|
|
|
|
- **Domain**: Simple Calculator — arithmetic operations (add, subtract, multiply, divide at minimum).
|
|
- **Stack**: Plain HTML/CSS/JS — no framework or build step.
|
|
- `index.html` contains the full UI structure: operand inputs, operation buttons, calculate/clear buttons, result `<output>`, and an error `<p role="alert">`.
|
|
|
|
## Code Style
|
|
|
|
No linter or formatter has been configured yet. Update this section once tooling is set up.
|