test-simple-calculator/CLAUDE.md
viet-anh.n cafba21523 Configure ESLint, Prettier, and TypeScript strict mode
- Add package.json with ESLint v9, typescript-eslint, eslint-plugin-react,
  eslint-plugin-react-hooks, eslint-config-prettier, Prettier, and TypeScript
  as devDependencies; includes lint, format, and format:check npm scripts
- Add eslint.config.js (flat config) with TypeScript recommended rules,
  React + React Hooks plugin rules, and prettier conflict suppression
- Add tsconfig.json with strict: true, ES2020 target, DOM libs, react-jsx
- Add .prettierrc with single quotes, 2-space indent, ES5 trailing commas
- Update CLAUDE.md to document new tooling and commands

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-20 10:35:51 +00:00

54 lines
1.8 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
├── package.json # Dev dependencies and npm scripts
├── eslint.config.js # ESLint flat config (TypeScript + React rules)
├── tsconfig.json # TypeScript compiler config (strict mode)
├── .prettierrc # Prettier formatting config
├── README.md # Project overview
└── CLAUDE.md # This file
```
## Build Commands
No build step configured yet. Install dependencies with:
```bash
npm install
```
## 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.
## Lint and Format Commands
```bash
npm run lint # Run ESLint
npm run format # Format all files with Prettier
npm run format:check # Check formatting without writing (CI)
```
## 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
- **Linter**: ESLint v9 (flat config) with `typescript-eslint` recommended rules, `eslint-plugin-react`, `eslint-plugin-react-hooks`, and `eslint-config-prettier`.
- **Formatter**: Prettier — single quotes, 2-space indent, ES5 trailing commas, 80-char line width.
- **TypeScript**: `strict: true` enabled in `tsconfig.json`.