commits
analyzes github followers with rich insights:
- follower/following relationship stats
- most influential followers by follower-to-following ratio
- geographic and company distribution
- account age and repository statistics
- optional --summary-only flag for quick overview
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- new script to identify inactive accounts you're following
- add BSKY_PDS_URL support to both bsky scripts
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
updates:
- change default model from gpt-4.1-mini to anthropic:claude-sonnet-4-5
- add anthropic_api_key to settings and set in environment
- add --once flag for single execution without interactive loop
- simplify main loop logic (remove first flag pattern)
tested and confirmed marvin.Thread() maintains context across messages
in interactive mode (e.g., "make them even dimmer" correctly references
previous office lights command).
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This reverts commit e83c0050f1eeb3bf7a7477fec1c07c4046a55d6a.
simplify dependencies and use pydantic-ai's native mcp support instead
of going through marvin. the script now uses async/await pattern and
displays cleaner output.
changes:
- replace marvin dependency with pydantic-ai, pydantic-settings, rich
- use pydantic-ai Agent directly with mcp_servers parameter
- convert to async execution with asyncio.run
- update default model to anthropic:claude-sonnet-4-5
- add --once flag for single execution mode
- cleaner output using result.output
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace all datetime.utcnow() with datetime.now(timezone.utc)
- Add helpful app password creation guide with direct link
- Add step-by-step instructions for non-technical users
- Use cryptographically secure secret key generation
- Database models for users, subscriptions, and notifications
- BlueSky OAuth login flow with JWT tokens
- CRUD API for managing subscriptions
- Background worker to process subscriptions efficiently
- New UI for subscription management (app.html)
- Login page with auth flow
- Location-based subscription grouping for API efficiency
Architecture:
- SQLite for development (PostgreSQL ready)
- APScheduler for background processing
- JWT-based authentication
- Efficient flight checking with location grouping
- FastAPI backend with flight checking and DM endpoints
- Browser-based UI with geolocation support
- Advanced filtering capabilities (aircraft type, airline, airports)
- Filter presets for military, commercial, and GA flights
- Visual flight categorization with badges
- Auto-refresh and browser notifications
- Ready for ngrok deployment
Next: Add subscription management and OAuth
analyzes github followers with rich insights:
- follower/following relationship stats
- most influential followers by follower-to-following ratio
- geographic and company distribution
- account age and repository statistics
- optional --summary-only flag for quick overview
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
updates:
- change default model from gpt-4.1-mini to anthropic:claude-sonnet-4-5
- add anthropic_api_key to settings and set in environment
- add --once flag for single execution without interactive loop
- simplify main loop logic (remove first flag pattern)
tested and confirmed marvin.Thread() maintains context across messages
in interactive mode (e.g., "make them even dimmer" correctly references
previous office lights command).
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
simplify dependencies and use pydantic-ai's native mcp support instead
of going through marvin. the script now uses async/await pattern and
displays cleaner output.
changes:
- replace marvin dependency with pydantic-ai, pydantic-settings, rich
- use pydantic-ai Agent directly with mcp_servers parameter
- convert to async execution with asyncio.run
- update default model to anthropic:claude-sonnet-4-5
- add --once flag for single execution mode
- cleaner output using result.output
馃 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Database models for users, subscriptions, and notifications
- BlueSky OAuth login flow with JWT tokens
- CRUD API for managing subscriptions
- Background worker to process subscriptions efficiently
- New UI for subscription management (app.html)
- Login page with auth flow
- Location-based subscription grouping for API efficiency
Architecture:
- SQLite for development (PostgreSQL ready)
- APScheduler for background processing
- JWT-based authentication
- Efficient flight checking with location grouping
- FastAPI backend with flight checking and DM endpoints
- Browser-based UI with geolocation support
- Advanced filtering capabilities (aircraft type, airline, airports)
- Filter presets for military, commercial, and GA flights
- Visual flight categorization with badges
- Auto-refresh and browser notifications
- Ready for ngrok deployment
Next: Add subscription management and OAuth