- Enabled native execution and nativeSkills in OpenClaw config - Installed and linked core CLI dependencies (things3-cli, grizzly, remindctl, op, etc.) - Deployed macOS-specific skills (Notes, Reminders, Things, TTS, Mission Control) - Hardened node startup script with optimized PATH and daemon configuration - Finalized environment for secure autonomous operation
1023 B
1023 B
Implementation Plan: 001-weather-cli
Tech Stack: Python 3.12+, httpx (HTTP client), argparse or click (CLI), pytest (Testing).
1. Research
- API Choice: Use
openweathermap.org(reputable, simple). - Client:
httpxfor async-capable HTTP requests. - Contract: Expected JSON response structure from OpenWeather API current weather endpoint.
2. Design
- Entities:
CityWeatherdataclass (temp, condition, unit). - Contract:
WeatherServiceinterface. - CLI Interface:
fetch-weather --city [CITY] --units [metric|imperial].
3. Constitution Check
- Article II: Test-First: Plan includes
pytestfor all units and services. - Article V: Library-First: Logic resides in
weather_fetcher/core.py, CLI is a wrapper inweather_fetcher/cli.py.
4. Integration Scenarios
WEATHER_API_KEYset → Fetch weather for "London" → Success.WEATHER_API_KEYmissing → Fetch weather → Error message.- Invalid city "Asdfghjkl" → Error message.