67 lines
2.4 KiB
Markdown
67 lines
2.4 KiB
Markdown
# CLAUDE.md
|
|
|
|
## Project Overview
|
|
Purpose: This project is weather alerting via notify using the weathervisualcrossing API...
|
|
Technologies: Python
|
|
Description: This project will be built with python, is a single purpose script used to query weather data from weathervisualcrossing.com and send notifications to my ntfy server in the event the weather forcast mets alerting conditions set in the application.
|
|
|
|
## High level Flow
|
|
Script hits the API for the weather forecast for the next few hours.
|
|
Compares the forecast data against the weather notification rules
|
|
If there is an alerting condition from the rules, we send a notification to my ntfy server.
|
|
|
|
## VisualCrossing API details:
|
|
Weather forecast can be obtained from this API using this structure.
|
|
https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/viola%2Ctn?
|
|
unitGroup=us
|
|
&include=days,hours,alerts,current,events
|
|
&key=<APIKEY>
|
|
&contentType=json
|
|
|
|
## Notifications:
|
|
Notifications will be sent to ntfy.sneakygeek.net
|
|
This server requires auth to post messages
|
|
The topic will be "weather-alerts"
|
|
|
|
## Development Guidelines
|
|
|
|
### Project Structure:
|
|
I prefer to have my source in app, not src.
|
|
I prefer **centralizing common logic** such as HTTP wrappers, logging handlers, validators, etc.
|
|
I like keeping things **modular**, with:
|
|
* `/app/services/...`
|
|
* `/app/utils/...`
|
|
* `/app/models/...`
|
|
* Typed config loaders
|
|
* YAML-driven config structures
|
|
|
|
|
|
### Coding standards:
|
|
I often follow a pattern **brainstorm → design → code → revise** and like that flow.
|
|
Reference `docs/code_guidelines.md` for code standards and rules.
|
|
|
|
### Security Standards:
|
|
Reference `docs/security.md` for security guidance and standards
|
|
|
|
---
|
|
## ⚠️ CLAUDE WORKSPACE BELOW ⚠️
|
|
|
|
**The sections above define my development preferences and standards.**
|
|
**Everything below this line is working context for Claude to track project-specific information, decisions, and progress.**
|
|
|
|
## Claude Context & Project Notes
|
|
|
|
### Project Context
|
|
<!-- Architectural decisions, tech stack choices specific to THIS project -->
|
|
|
|
### Implementation Notes
|
|
<!-- Claude can track TODOs, known issues, technical debt, or areas needing attention -->
|
|
|
|
### Session History
|
|
<!-- Claude can maintain a log of significant changes or milestones -->
|
|
|
|
### Active Tasks & Notes
|
|
<!-- Current work, blockers, reminders -->
|
|
|
|
### Change Log
|
|
<!-- Significant updates, refactors, or milestones --> |