# Spec: Weather Fetcher CLI **Objective**: A Python CLI tool that fetches current weather for a city using a public API. ## User Stories ### US1: Fetch current weather [P1] As a CLI user, I want to fetch the current temperature and description for a city. - **Input**: City name (string). - **Output**: JSON or formatted table with "Temperature (C)" and "Condition". ### US2: API Key Management [P1] As an administrator, I want the tool to read the API key from an environment variable `WEATHER_API_KEY`. - **Validation**: Fail with a clear error if the variable is missing. ### US3: Units selection [P2] As a international user, I want to choose between Metric (Celsius) and Imperial (Fahrenheit) via a flag. - **Acceptance Criteria**: `--units metric` or `--units imperial`. ## Non-Functional Requirements - **Performance**: Response within 2 seconds. - **Reliability**: Handle invalid city names gracefully. ## Success Criteria - [ ] Tool returns weather for "Worms, DE". - [ ] Tool fails gracefully for "NonExistentCity". - [ ] All tests pass with 80% coverage.