# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning] ## [2.0.0] - 2026-03-18 21:33 UTC ### Added - **SEO Audit Export** — Export SEO/GEO audit reports as HTML or PDF with comprehensive fix instructions - **SEO Report Generator** — Standalone `lib/seo-report.ts` utility with color-coded scores, issue tables with fix instructions, and print-friendly CSS - **Default Vibe Architect** — Welcome screen now opens to Vibe Architect by default (was Prompt Enhancer) - **Vibe Architect Dedicated Route** — Full-screen immersive mode at `/vibe` with `vibeMode` prop ### Changed - **General Agent Plain Chat** — General mode no longer triggers plan/code flow, now works as plain chat - **SEO Follow-up Fix** — Non-visual agents (SEO, content, SMM) preserve existing canvas on follow-up messages ### Technical Details - Files modified: 3 (AIAssist.tsx, page.tsx) - Files added: 2 (seo-report.ts, vibe/page.tsx) (https://semver.org/spec/v2.0.0.html). ## [1.9.0] - 2026-03-18 21:05 UTC ### Changed - **Global Rebrand: AI Assist -> Vibe Architect** — All instances renamed across UI, sidebar, translations (EN/RU/HE) - **Sidebar Highlight** — Vibe Architect button now has a gradient blue-purple border and bold blue text when not active, making it stand out in the navigation menu ### Technical Details - Files modified: 3 (Sidebar.tsx, AIAssist.tsx, translations.ts) ## [1.8.0] - 2026-03-18 21:02 UTC ### Added - **Vibe Architect Dedicated Mode** — Full-screen immersive AI coding experience - New route: `/vibe` ([rommark.dev/tools/promptarch/vibe/](https://rommark.dev/tools/promptarch/vibe/)) - No sidebar, no navigation — just AI Assist in full screen - Rebranded as "Vibe Architect" with dedicated messaging - `vibeMode` prop on AIAssist component for label overrides ### Fixed - **SEO follow-up preview** — Canvas no longer breaks when asking follow-up questions after SEO audit - `isModifying` overlay only triggers for visual agents (code, web, app, design) — not SEO/content/SMM - Non-visual agent follow-ups preserve existing canvas if no new preview is generated ### Technical Details - Files added: 1 (`app/vibe/page.tsx`) - Files modified: 1 (AIAssist.tsx: +8/-3 lines) - New prop: `vibeMode` on AIAssist component ## [1.7.0] - 2026-03-18 20:44 UTC ### Added - **Comprehensive SEO Audit Engine** — Industry-grade URL analysis modeled after Screaming Frog, Ahrefs, Sitebulb, and Semrush - Full meta tag analysis: title (length/status), description (length/status), keywords, viewport, charset, robots directives - Open Graph & Twitter Card validation - Heading structure audit: H1 count check, hierarchy analysis (H1-H6), multiple H1 detection - Link analysis: internal/external/nofollow counts, external link sampling - Image audit: total count, alt text coverage %, lazy loading detection, missing alt samples - Content analysis: word count, sentence count, paragraph count, avg words/sentence - Structured data detection: JSON-LD, Microdata, 12+ schema types (Article, FAQ, Product, LocalBusiness, etc.) - Performance signals: server info, response time, HTML size, external scripts/stylesheets, inline styles, preconnect/preload/dns-prefetch, async/defer detection - Accessibility checks: lang attribute, ARIA labels, first image alt text - Hreflang tag detection for international SEO - Canonical tag validation with mismatch detection - **Automated scoring**: Overall, Technical, Content, Performance, Social scores (0-100) - **Issue detection**: Critical/Warning/Info severity levels across all categories - **Plan-First Flow Fix** — Non-code agents (SEO, content, SMM, design, web, app) now bypass the plan-first workflow - No more "Start Coding" or "Modify Plan" buttons for non-code agent responses - SEO agent goes straight to preview mode after generating audit reports - Plan card only shown for code/general agents ### Changed - `/api/fetch-url` route completely rewritten: 300+ lines of comprehensive HTML parsing and scoring - SEO agent data injection now passes structured audit data with scores, issues, and category breakdowns ### Technical Details - Files modified: 5 (AIAssist.tsx, qwen-oauth.ts, ollama-cloud.ts, zai-plan.ts, openrouter.ts) - Files rewritten: 1 (`app/api/fetch-url/route.ts` — complete rewrite) - New component-level guard: `isCodeAgent` condition for plan-first workflow ## [1.6.0] - 2026-03-18 20:34 UTC ### Added - **SEO Web Audit** — SEO agent can now fetch and analyze live websites - `/api/fetch-url` route extracts: title, meta tags, headings (h1-h6), links (internal/external), images (alt text coverage), canonical URL, OG tags, text content length - Auto-detects URLs in user input when SEO agent is active - Pre-fetches page data before sending to AI for comprehensive audit reports - Supports up to 2 URLs per request - **SEO Auto Web Search** — When SEO agent is active and no URL is provided, web search is automatically triggered - Uses same SearXNG infrastructure as manual web search toggle - No manual toggle needed in SEO mode - **Updated SEO Agent Prompt** — All 4 AI services now instruct SEO agent about web audit and search capabilities - Added `[WEB_AUDIT:url]` and `[WEB_SEARCH:query]` tool markers - Added "WEB TOOLS" section to system prompts ### Technical Details - Files modified: 5 (AIAssist.tsx, qwen-oauth.ts, ollama-cloud.ts, zai-plan.ts, openrouter.ts) - Files added: 1 (`app/api/fetch-url/route.ts`) - New API endpoint: `GET /api/fetch-url?url=https://example.com` ## [1.5.0] - 2026-03-18 20:29 UTC ### Added - **Modification Progress Overlay** — Visually appealing spinner when modifying existing generated code - Full-screen canvas overlay with spinning ring + Wrench icon - "Modification in Progress" label with animated bouncing dots - Canvas hidden during modification, revealed only when AI finishes - `isModifying` state tracked via `assistStep === "preview"` detection ### Fixed - **Preview blink during modification** — Old preview no longer flashes while AI rewrites code ### Technical Details - Files modified: 1 (AIAssist.tsx: +21/-2 lines) - New state: - New import: from lucide-react ## [1.4.0] - 2026-03-18 19:57 UTC ### Added - **Review Code Button** — Post-coding action to send generated code back to AI for review - `reviewCode()` function sends code with review-focused prompt - Emerald-green "Review" button alongside Preview and Modify - 3-column post-coding action grid: Preview / Review / Modify - **Web Search Grounding** — Enrich AI prompts with live web search results - `lib/services/search-api.ts` — SearXNG public API wrapper with 4 instance fallback - `/api/search` route — server-side search proxy endpoint - Toggle button in toolbar to enable/disable (amber highlight when active) - Shows "Searching the web..." status while fetching - Appends top 5 results as `[WEB SEARCH CONTEXT]` to user prompt - **Responsive Preview** — Device size selector in canvas panel - Full / Desktop (1280px) / Tablet (768px) / Mobile (375px) buttons - Centered device frame with border, shadow, and scroll on overflow - Only visible in preview mode, below Live Render / Inspect Code tabs ### Fixed - **Model selector text color** — Option text now white on dark theme (`bg-[#0b1414] text-white`) - **Button text overflow** — Shortened labels (Preview/Review/Modify), added `min-w-0` for proper truncation - **Duplicate activateArtifact button** — Original button now hides when post-coding action row is shown ### Technical Details - Files modified: 1 (AIAssist.tsx: +85/-11 lines) - Files added: 2 (`lib/services/search-api.ts`, `app/api/search/route.ts`) - New state: `deviceSize`, `webSearchEnabled` - New function: `reviewCode()` ## [1.3.0] - 2026-03-18 18:51 UTC ### Added - **OpenRouter Integration** — 4th AI provider with API key auth, 20+ model support - New `lib/services/openrouter.ts` streaming service - Provider selector in AI Assist: Qwen, Ollama, Z.AI, OpenRouter - Default model: `google/gemini-2.0-flash-exp:free` - Custom model selector with popular free/paid model presets - Settings panel: API key input with validation and model picker - **Plan-First Workflow** — AI now generates a structured plan before code - PLAN MODE instructions injected into all 4 service system prompts - Plan card UI with architecture, tech stack, files, and steps - `parsePlanFromResponse()` extracts plans from AI markdown output - `[PLAN]` tags hidden from displayed chat messages - Three action buttons: **Modify Plan** / **Start Coding** / **Skip to Code** - **Post-Coding UX** — Preview + Request Modifications after code generation - After "Start Coding" approval, AI generates code with `[PREVIEW]` tags - Canvas opens automatically with renderable previews - Two post-coding buttons: **Preview** (re-opens canvas) and **Request Modifications** - `isApproval` flag prevents stale React closure bugs in approval flow - **Enhanced Prompt Engine** — New modular prompt enhancement system - `lib/enhance-engine.ts` with 9 enhancement strategies - Strategies: clarify, add-context, add-constraints, structure, add-examples, set-tone, expand, simplify, chain-of-thought - Context-aware enhancement based on detected intent type - 11+ intent detection patterns (coding, creative, analysis, etc.) - Smart strategy selection per intent for optimal prompt refinement - **Streaming Plan Mode** — Real-time plan parsing during AI response - `wasIdle` flag captures initial request phase before state updates - Canvas display suppressed during plan generation, enabled after approval - Post-stream routing: plan card for initial requests, preview for approvals - Tab `showCanvas` state gated by plan phase ### Changed - **AIAssist.tsx** — Major refactor for plan-first flow - `handleSendMessage` now accepts `isApproval` parameter to prevent stale closures - `approveAndGenerate()` passes `isApproval=true` to bypass idle detection - `assistStep` state machine: `idle -> plan -> generating -> preview` - `parseStreamingContent()` filters `[PLAN]` tags from displayed output - **PromptEnhancer.tsx** — Rebuilt with modular enhance engine - Moved enhancement logic to `lib/enhance-engine.ts` - Added expand, simplify, and chain-of-thought strategies - Improved intent detection and strategy mapping - **SettingsPanel.tsx** — Added OpenRouter provider configuration - API key input with validation - Model selector with preset dropdown - Provider-specific endpoint display - **model-adapter.ts** — Extended with OpenRouter provider support - New adapter mapping for OpenRouter service - Unified interface across all 4 providers - **translations.ts** — Added i18n keys for plan mode, OpenRouter, post-coding actions - Keys: `modifyPlan`, `startCoding`, `skipToCode`, `requestModifications` - OpenRouter provider labels and descriptions - English, Russian, Hebrew translations updated - **store.ts** — Added `selectedProvider` state for multi-provider selection - **types/index.ts** — Added `PreviewData` interface for typed canvas rendering - **adapter-instance.ts** — Registered OpenRouter in provider registry ### Fixed - **Stale React closure** in `approveAndGenerate` — `setAssistStep("generating")` followed by `handleSendMessage()` read stale `assistStep` value. Fixed with explicit `isApproval` boolean parameter. - **Plan card reappearing after code generation** — Post-stream logic now correctly routes to `preview` mode after approval coding, not back to `plan` mode. - **Canvas auto-opening during plan phase** — `setShowCanvas(true)` in `onChunk` now gated by `!wasIdle` flag. - **i18n missing keys** — Added `syncComplete` for Hebrew, fixed double commas in multiple translation strings. ### Technical Details - Files modified: 11 (960 insertions, 194 deletions) - Files added: 2 (`lib/enhance-engine.ts`, `lib/services/openrouter.ts`) - Total project lines: ~10,179 across core files - System prompt PLAN MODE block added to: `qwen-oauth.ts`, `ollama-cloud.ts`, `zai-plan.ts`, `openrouter.ts` ## [1.2.0] - 2026-01-19 19:16 UTC ### Added - **SEO Agent Behavior Fixes** - SEO agent now stays locked and answers queries through an SEO lens - Smart agent suggestions via `[SUGGEST_AGENT:xxx]` marker for clearly non-SEO tasks - Visual suggestion banner with Switch/Dismiss buttons - Prevented unwanted agent auto-switching mid-response - **z.ai API Validation** - Real-time API key validation with 500ms debounce - Inline status indicators: - Checkmark with "Validated Xm ago" for valid keys - Red X with error message for invalid keys - Loading spinner during validation - "Test Connection" button for manual re-validation - Persistent validation cache (5 minutes) in localStorage ### Changed - Updated Settings panel with improved UX for API key management - Enhanced agent selection behavior to prevent unintended switches ## [1.1.0] - 2025-12-29 17:55 UTC ### Added - GitHub integration for pushing AI-generated artifacts - XLSX export functionality for Google Ads campaigns - High-fidelity HTML report generation - OAuth token management for Qwen API ## [1.0.0] - 2025-12-29 13:51 UTC ### Added - Initial release of PromptArch - Multi-provider AI support (Qwen, Ollama, Z.AI) - Prompt Enhancer with 11+ intent patterns - PRD Generator with structured output - Action Plan generator with framework recommendations - Visual canvas for live code rendering - Multi-language support (English, Russian, Hebrew)