All notable changes to seo-agent are documented here. Versioning follows SemVer.
[1.0.0] — 2026-07-12
First standalone release, extracted from the MyComponents seo/ module (the reference deployment is Bea's Stories). Feature-complete autonomous SEO agent.
Core capabilities
- Rankings — live SERP positions per target keyword via a swappable provider (
googledefault,serper), plus an optional Search Console provider for owner-measured positions. - Competitor research — agentic per-competitor pipeline (search → SSRF-guarded fetch → LLM analysis → gap proposals with provenance).
- Learning loop — records approve/reject + rank-outcome feedback; ranks the proposal inbox and drops repeatedly-rejected proposal types.
- Budget — a single
budgetGateauthority meters real-cent spend per operation against a configurable monthly cap. - Self-ops — daily self-checks with halt-on-regression, and a per-target circuit-breaker around every external call.
Architecture
- Zero-dependency ESM
core/(pure functions,node --test), I/O injected via adapters. - Two reuse seams: a content adapter (
listIndexableEntities(): Promise<SeoEntity[]>) and config (seo_settings). - Thin Deno edge shells (
seo-generate,seo-worker) over Supabase (RLS +SECURITY DEFINERRPCs, anon-revoked).