Commit Graph

7 Commits

Author SHA1 Message Date
daniel 05a59271a4 feat: finish Sentry setup for dashboard and CLI, all 3 projects verified
Completes the error tracking rollout: aitmpl-dashboard and aitmpl-cli Sentry
projects now exist alongside aitmpl-workers, and all three are verified
end-to-end (manual test events returned HTTP 200 and appeared in each
project's Issues dashboard).

- Dashboard: SENTRY_DSN set as a Cloudflare Pages secret on aitmpl-dashboard
  (production). No code change needed — error-tracking.ts already read it.
- CLI: the aitmpl-cli DSN is public by design (send-only), so it ships as
  DEFAULT_SENTRY_DSN in error-reporting.js instead of requiring every user
  to configure their own Sentry project. Reporting itself stays opt-in
  (CCT_ERROR_REPORTING=true), unaffected by this change.
- .env.example and CLAUDE.md updated to match reality; removed a stale
  Vercel Deployment block left over from the Cloudflare Pages migration.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 17:31:49 -04:00
daniel 8a09d13800 feat: add Sentry error tracking to workers, dashboard, and CLI
Adds free-tier Sentry error reporting to close the biggest observability
gap: automated cron/worker failures were previously invisible (aitmpl-crons
had no error handling at all). Uses a dependency-free fetch()-based Sentry
envelope client (cloudflare-workers/*/sentry.js, dashboard error-tracking.ts,
cli-tool error-reporting.js) instead of the official SDKs, to keep the
zero-dependency worker style and avoid Cloudflare Pages SSR friction.

- Cloudflare Workers: report failures + Cron Monitor check-ins in crons,
  pulse, and docs-monitor (complementing, not replacing, existing Telegram
  alerts). Also drops the pulse Vercel collector (VERCEL_API/collectVercel),
  since the dashboard no longer deploys to Vercel.
- Dashboard: captureApiError() wired into claude-code-check, health-check,
  and the three track-* endpoints.
- CLI: opt-in only crash reporting (CCT_ERROR_REPORTING=true), always
  deferring to the existing CCT_NO_TRACKING/CCT_NO_ANALYTICS/CI opt-outs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-04 16:38:20 -04:00
daniel 72a333009f security: Remove hardcoded Vercel IDs from deploy scripts
Move VERCEL_ORG_ID, VERCEL_SITE_PROJECT_ID, and
VERCEL_DASHBOARD_PROJECT_ID to .env. Deploy script and deployer
agent now read from environment variables instead of hardcoding.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 23:56:48 -05:00
Dani d8987f90e4 fix: Remove hardcoded API keys and use environment variables
- Move Google API keys to .env file (not tracked by git)
- Update generate_blog_images.py to use dotenv
- Update generate_blog_images_v2.py to use dotenv
- Add GOOGLE_API_KEY to .env.example
- Add critical security section to CLAUDE.md about never hardcoding secrets

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 10:32:33 -05:00
Dani 4cc03122b9 feat: Add Claude Code changelog monitor with Discord notifications
- Database schema for tracking Claude Code versions in Neon
- Automated parser for CHANGELOG.md with change classification
- Discord webhook integration with formatted embeds
- Vercel Cron job running every 4 hours
- Supports detection of features, fixes, improvements, and breaking changes

Endpoints:
- /api/claude-code-check - Main endpoint for version checking and notification

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 14:11:23 -04:00
Dani b572cb14db feat: add Discord bot with Vercel Functions
- Add 5 slash commands: /search, /info, /install, /popular, /random
- Serverless implementation using Vercel Functions
- Component search and discovery functionality
- Smart caching for components.json
- Setup documentation
2025-10-28 07:39:10 -04:00
Dani 6925700bb3 add hotjar + jobs 2025-09-13 10:13:51 -04:00