Skip to content

Commit c1f1ecc

Browse files
release: v1.3.0 — AI-Powered BYOK Features (#42)
* chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * release: v1.1.0 — Mobile UI/UX improvements (#14) (#15) * chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * feat: add support buttons to homepage OSS section (#16) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * feat: add support buttons to homepage OSS section Add Buy Me a Coffee and PayPal buttons in the Open Source banner section to allow users to support the project financially. Closes #7 * feat: redesign hero with split layout, OG card mockups, and support links - Split hero layout: text+CTAs on left, floating OG card stack on right (desktop) - Three fanned mockup cards showcasing different template styles (blog, launch, portfolio) - Floating platform pills (Twitter, LinkedIn, Discord) with bobbing animation - Subtle support line below CTAs with Buy Me a Coffee and PayPal links - Branded support buttons (BMC yellow, PayPal blue) in OSS banner section - Mobile: centered text-only layout, cards hidden Closes #7 * chore: sync production into dev after v1.2.0 release (#18) * release: v1.1.0 — Mobile UI/UX improvements (#14) * chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * release: v1.2.0 — Hero redesign & support buttons (#17) * chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * release: v1.1.0 — Mobile UI/UX improvements (#14) (#15) * chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * feat: add support buttons to homepage OSS section (#16) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * feat: add support buttons to homepage OSS section Add Buy Me a Coffee and PayPal buttons in the Open Source banner section to allow users to support the project financially. Closes #7 * feat: redesign hero with split layout, OG card mockups, and support links - Split hero layout: text+CTAs on left, floating OG card stack on right (desktop) - Three fanned mockup cards showcasing different template styles (blog, launch, portfolio) - Floating platform pills (Twitter, LinkedIn, Discord) with bobbing animation - Subtle support line below CTAs with Buy Me a Coffee and PayPal links - Branded support buttons (BMC yellow, PayPal blue) in OSS banner section - Mobile: centered text-only layout, cards hidden Closes #7 --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * feat: AI-powered BYOK features, hero redesign & feedback button (#34) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * feat: add support buttons to homepage OSS section Add Buy Me a Coffee and PayPal buttons in the Open Source banner section to allow users to support the project financially. Closes #7 * feat: redesign hero with split layout, OG card mockups, and support links - Split hero layout: text+CTAs on left, floating OG card stack on right (desktop) - Three fanned mockup cards showcasing different template styles (blog, launch, portfolio) - Floating platform pills (Twitter, LinkedIn, Discord) with bobbing animation - Subtle support line below CTAs with Buy Me a Coffee and PayPal links - Branded support buttons (BMC yellow, PayPal blue) in OSS banner section - Mobile: centered text-only layout, cards hidden Closes #7 * feat: add AI-powered BYOK features, hero redesign, and feedback button - AI integration with 5 providers (OpenAI, Anthropic, Google, Groq, OpenRouter) - AI copy generator, smart autofill, template recommender, meta analyzer - Settings modal with provider/key/model management stored in localStorage - Server-side stateless proxy endpoints (keys never stored) - Hero cards now render real template thumbnails instead of CSS mockups - Feedback button on every page linking to GitHub issue templates - Fix resvg-wasm concurrent rendering crash with explicit WASM object cleanup - API docs updated with AI endpoints documentation - 145 tests passing across 15 test files * docs: add release process guide (#35) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * feat: add support buttons to homepage OSS section Add Buy Me a Coffee and PayPal buttons in the Open Source banner section to allow users to support the project financially. Closes #7 * feat: redesign hero with split layout, OG card mockups, and support links - Split hero layout: text+CTAs on left, floating OG card stack on right (desktop) - Three fanned mockup cards showcasing different template styles (blog, launch, portfolio) - Floating platform pills (Twitter, LinkedIn, Discord) with bobbing animation - Subtle support line below CTAs with Buy Me a Coffee and PayPal links - Branded support buttons (BMC yellow, PayPal blue) in OSS banner section - Mobile: centered text-only layout, cards hidden Closes #7 * feat: add AI-powered BYOK features, hero redesign, and feedback button - AI integration with 5 providers (OpenAI, Anthropic, Google, Groq, OpenRouter) - AI copy generator, smart autofill, template recommender, meta analyzer - Settings modal with provider/key/model management stored in localStorage - Server-side stateless proxy endpoints (keys never stored) - Hero cards now render real template thumbnails instead of CSS mockups - Feedback button on every page linking to GitHub issue templates - Fix resvg-wasm concurrent rendering crash with explicit WASM object cleanup - API docs updated with AI endpoints documentation - 145 tests passing across 15 test files * docs: add release process guide * chore: sync production into dev to resolve conflicts (#37) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * release: v1.1.0 — Mobile UI/UX improvements (#14) * chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * feat: add support buttons to homepage OSS section Add Buy Me a Coffee and PayPal buttons in the Open Source banner section to allow users to support the project financially. Closes #7 * feat: redesign hero with split layout, OG card mockups, and support links - Split hero layout: text+CTAs on left, floating OG card stack on right (desktop) - Three fanned mockup cards showcasing different template styles (blog, launch, portfolio) - Floating platform pills (Twitter, LinkedIn, Discord) with bobbing animation - Subtle support line below CTAs with Buy Me a Coffee and PayPal links - Branded support buttons (BMC yellow, PayPal blue) in OSS banner section - Mobile: centered text-only layout, cards hidden Closes #7 * release: v1.2.0 — Hero redesign & support buttons (#17) * chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * release: v1.1.0 — Mobile UI/UX improvements (#14) (#15) * chore: rename main branch references to production (#10) Update CI workflows, README, CONTRIBUTING, and SECURITY to reflect the branch rename from main to production. * Add Feedback link to footer (#11) * fix: comprehensive mobile UI/UX improvements (#13) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * feat: add support buttons to homepage OSS section (#16) * fix: improve mobile UI/UX across editor, navbar, API docs, and preview pages - Redesign API docs page with mobile-first layout: div-based params instead of tables, horizontal sticky tab nav, contained code blocks - Fix hamburger menu broken after View Transitions by removing transition:persist from Header and moving mobile menu inside <header> - Improve editor mobile layout: single scroll column, proper touch targets, auto-switch to customize tab on template select - Add safe-area and viewport-fit handling for notched devices - Improve preview page mobile: stacked URL input, larger buttons - Adjust responsive nav-height and global spacing for small screens Made-with: Cursor * fix: improve create page customize & export tabs for mobile devices - Fix editor-right panel not stretching full width on mobile by adding flex-direction: column (mobile-show forced display:flex without it) - Enlarge touch targets for toggles, sliders, color swatches, and buttons - Make customize header sticky with backdrop blur on mobile - Add icons to export copy buttons for better visual clarity - Increase export button sizes with proper tap feedback (scale on active) - Add safe-area-inset-bottom padding for notched phones - Full-width upload buttons and select dropdowns on small screens - Responsive breakpoints for 768px, 480px, and 380px (very narrow) Made-with: Cursor * docs: update CLAUDE.md with enhanced guidance and template system details - Added introductory guidance for using Claude Code. - Updated project description to include deployment URL and GitHub link. - Expanded commands section with additional commands for testing and linting. - Revised architecture section to reflect the current state of templates and API. - Introduced a new section for pages and API endpoints with detailed descriptions. - Enhanced template contribution guidelines and conventions for clarity. - Added CI/CD process overview and environment variable details. * feat: add support buttons to homepage OSS section Add Buy Me a Coffee and PayPal buttons in the Open Source banner section to allow users to support the project financially. Closes #7 * feat: redesign hero with split layout, OG card mockups, and support links - Split hero layout: text+CTAs on left, floating OG card stack on right (desktop) - Three fanned mockup cards showcasing different template styles (blog, launch, portfolio) - Floating platform pills (Twitter, LinkedIn, Discord) with bobbing animation - Subtle support line below CTAs with Buy Me a Coffee and PayPal links - Branded support buttons (BMC yellow, PayPal blue) in OSS banner section - Mobile: centered text-only layout, cards hidden Closes #7 --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * feat: add AI-powered BYOK features, hero redesign, and feedback button - AI integration with 5 providers (OpenAI, Anthropic, Google, Groq, OpenRouter) - AI copy generator, smart autofill, template recommender, meta analyzer - Settings modal with provider/key/model management stored in localStorage - Server-side stateless proxy endpoints (keys never stored) - Hero cards now render real template thumbnails instead of CSS mockups - Feedback button on every page linking to GitHub issue templates - Fix resvg-wasm concurrent rendering crash with explicit WASM object cleanup - API docs updated with AI endpoints documentation - 145 tests passing across 15 test files * docs: add release process guide --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com> * ci: allow release/* branches to PR into production --------- Co-authored-by: Prathviraj Singh <theprathvirajz@gmail.com>
1 parent 47ffbf8 commit c1f1ecc

47 files changed

Lines changed: 4801 additions & 123 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/pr-target-check.yml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ jobs:
88
check-source-branch:
99
runs-on: ubuntu-latest
1010
steps:
11-
- name: Only allow PRs from dev to production
12-
if: github.head_ref != 'dev'
11+
- name: Only allow PRs from dev or release branches to production
12+
if: github.head_ref != 'dev' && !startsWith(github.head_ref, 'release/')
1313
run: |
14-
echo "::error::PRs targeting 'production' are only allowed from the 'dev' branch."
14+
echo "::error::PRs targeting 'production' are only allowed from 'dev' or 'release/*' branches."
1515
echo "Please target 'dev' instead, or merge your branch into 'dev' first."
1616
echo ""
1717
echo " Source: ${{ github.head_ref }}"
1818
echo " Target: ${{ github.base_ref }}"
1919
exit 1
2020
- name: PR source branch is valid
21-
if: github.head_ref == 'dev'
22-
run: echo "PR from 'dev' to 'production' — allowed."
21+
if: github.head_ref == 'dev' || startsWith(github.head_ref, 'release/')
22+
run: echo "PR from '${{ github.head_ref }}' to 'production' — allowed."

‎CLAUDE.md‎

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ npm run generate:favicons # Generate favicon assets
2929
## Key Directories
3030
- `src/templates/` — 120 templates across 12 categories. Each is a `.ts` file exporting a `TemplateDefinition`.
3131
- `src/lib/` — Core engine (og-engine.ts, font-loader.ts, meta-fetcher.ts, meta-analyzer.ts, api-validation.ts)
32-
- `src/components/editor/` — React components for the OG image editor
33-
- `src/components/preview/` — React components for the social media preview checker
32+
- `src/lib/ai/` — AI integration (types, providers, storage, validation, prompts, generate, autofill, recommender)
33+
- `src/components/editor/` — React components for the OG image editor (includes AI components)
34+
- `src/components/preview/` — React components for the social media preview checker (includes AIAnalyzer)
3435
- `src/pages/api/` — API endpoints
35-
- `src/styles/` — CSS files (global.css, editor.css, preview.css, api-docs.css)
36+
- `src/pages/api/ai/` — AI proxy endpoints (generate, validate, autofill)
37+
- `src/styles/` — CSS files (global.css, editor.css, preview.css, api-docs.css, ai.css)
3638
- `public/fonts/` — Bundled .woff fonts (Inter, Playfair Display, JetBrains Mono)
37-
- `tests/` — Vitest tests (api/, lib/, templates/)
39+
- `tests/` — Vitest tests (api/, ai/, lib/, templates/)
3840

3941
## Pages & API Endpoints
4042

@@ -51,13 +53,22 @@ npm run generate:favicons # Generate favicon assets
5153
- `GET /api/templates` — List all templates as JSON
5254
- `GET /api/templates/[id]/thumbnail.png` — Template thumbnail (1-week cache)
5355

56+
**AI API (BYOK — user provides their own API key):**
57+
- `POST /api/ai/generate` — Proxy text generation to any supported provider
58+
- `POST /api/ai/validate` — Validate an AI provider API key
59+
- `POST /api/ai/autofill` — Analyze a URL and auto-fill template fields via AI
60+
5461
## Reference Files
5562
- Template interface: `src/templates/types.ts`
5663
- Reference template: `src/templates/blog/minimal-dark.ts`
5764
- Shared utilities: `src/templates/utils.ts` (truncate, autoFontSize, commonFields)
5865
- OG engine: `src/lib/og-engine.ts`
5966
- API validation schemas: `src/lib/api-validation.ts`
6067
- Template registry: `src/templates/registry.ts`
68+
- AI types & provider configs: `src/lib/ai/types.ts`, `src/lib/ai/providers.ts`
69+
- AI validation schemas: `src/lib/ai/validation.ts`
70+
- AI prompt builders: `src/lib/ai/prompts.ts`
71+
- AI context & hook: `src/components/editor/AIContext.tsx`
6172

6273
## Template System
6374

@@ -72,6 +83,30 @@ npm run generate:favicons # Generate favicon assets
7283
**Template field types:** text, textarea, color, select, number, toggle, image.
7384
**Field groups:** Content, Style, Brand.
7485

86+
## AI Integration (BYOK)
87+
88+
OGCOPS supports AI-powered features using a Bring Your Own Key (BYOK) model. Users configure their own API keys in the browser; keys are stored in localStorage and passed through server-side proxy endpoints (never stored server-side).
89+
90+
**Supported providers:** OpenAI, Anthropic, Google (Gemini), Groq, OpenRouter.
91+
**Three API formats:** OpenAI-compatible (OpenAI/Groq/OpenRouter), Anthropic, Google Gemini.
92+
93+
**AI Features:**
94+
- **AI Copy Generator** — Generate title/subtitle/field suggestions inline in the editor
95+
- **Smart Autofill** — Paste a URL to auto-select a template and fill all fields
96+
- **AI Template Recommender** — Natural language template search in the template panel
97+
- **AI Meta Analyzer** — AI-powered analysis of meta tag quality in the preview checker
98+
99+
**Key files:**
100+
- `src/lib/ai/` — All AI logic (types, providers, storage, validation, prompts, generate, autofill, recommender)
101+
- `src/components/editor/AIContext.tsx` — React context providing `generate()`, `isConfigured`, `openSettings`
102+
- `src/components/editor/AISettingsModal.tsx` — Provider/key/model configuration modal
103+
- `src/components/editor/AIGenerateButton.tsx` + `AISuggestionPicker.tsx` — Inline copy generation
104+
- `src/components/editor/AIAutofill.tsx` — Smart autofill from URL
105+
- `src/components/editor/AITemplateSearch.tsx` — AI template recommender
106+
- `src/components/preview/AIAnalyzer.tsx` — AI meta tag analysis
107+
- `src/styles/ai.css` — All AI component styles
108+
109+
75110
## Conventions
76111
- CSS custom properties only (no Tailwind). Accent: `#E07A5F`.
77112
- TypeScript strict mode. Path alias `@/*` → `src/*`.

‎RELEASE.md‎

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
# Release Process
2+
3+
This document describes the step-by-step process for creating a production release of OGCOPS.
4+
5+
## Branch Strategy
6+
7+
```
8+
feature branches → PR to dev (upstream) → merge → PR to production → merge → release → sync back to dev
9+
```
10+
11+
| Branch | Purpose |
12+
|--------|---------|
13+
| `dev` | Default branch. All feature PRs target this branch. |
14+
| `production` | Stable release branch. Only accepts PRs from `dev`. |
15+
16+
## Versioning
17+
18+
We follow [Semantic Versioning](https://semver.org/):
19+
20+
- **`patch`** (1.0.0 → 1.0.1): Bug fixes, minor CSS tweaks
21+
- **`minor`** (1.0.0 → 1.1.0): New features, new templates, UI improvements
22+
- **`major`** (1.0.0 → 2.0.0): Breaking API changes, major redesigns
23+
24+
## Pre-Release Checklist
25+
26+
- [ ] All feature PRs merged into `dev`
27+
- [ ] `npm run check` passes (TypeScript + Astro type-check)
28+
- [ ] `npm run test` passes
29+
- [ ] `npm run build` succeeds
30+
- [ ] Manual testing on desktop and mobile
31+
- [ ] No unresolved critical issues
32+
33+
## Release Steps
34+
35+
### 1. Verify dev is clean
36+
37+
```bash
38+
cd ogcops
39+
git fetch upstream
40+
git checkout dev
41+
git pull upstream dev
42+
npm run check && npm run test && npm run build
43+
```
44+
45+
### 2. Create a release PR (dev → production)
46+
47+
```bash
48+
gh pr create \
49+
--repo codercops/ogcops \
50+
--head dev \
51+
--base production \
52+
--title "release: vX.Y.Z — Short description" \
53+
--body "$(cat <<'EOF'
54+
## Release vX.Y.Z
55+
56+
Brief summary of what's in this release.
57+
58+
### Fixes
59+
- ...
60+
61+
### Enhancements
62+
- ...
63+
64+
### Docs & Chores
65+
- ...
66+
67+
### Test Plan
68+
- [ ] ...
69+
70+
EOF
71+
)"
72+
```
73+
74+
### 3. Review and merge the PR
75+
76+
- Ensure CI passes on the PR
77+
- Review the diff one final time
78+
- **Squash and merge** into `production`
79+
80+
### 4. Create the GitHub Release
81+
82+
```bash
83+
gh release create vX.Y.Z \
84+
--repo codercops/ogcops \
85+
--target production \
86+
--title "vX.Y.Z — Short description" \
87+
--notes "$(cat <<'EOF'
88+
## What's Changed
89+
90+
### Fixes
91+
- ...
92+
93+
### Enhancements
94+
- ...
95+
96+
### Docs & Chores
97+
- ...
98+
99+
**Full Changelog**: https://github.com/codercops/ogcops/compare/vPREVIOUS...vX.Y.Z
100+
101+
EOF
102+
)"
103+
```
104+
105+
### 5. Sync production back into dev
106+
107+
Since `dev` has branch protection, create a sync PR:
108+
109+
```bash
110+
gh pr create \
111+
--repo codercops/ogcops \
112+
--head production \
113+
--base dev \
114+
--title "chore: sync production into dev after vX.Y.Z release" \
115+
--body "Syncs production back into dev after the [vX.Y.Z release](https://github.com/codercops/ogcops/releases/tag/vX.Y.Z)."
116+
```
117+
118+
Then **merge** this PR (use regular merge, NOT squash, to keep history aligned).
119+
120+
### 6. Update your fork
121+
122+
```bash
123+
git fetch upstream
124+
git checkout dev
125+
git pull upstream dev
126+
git push origin dev
127+
```
128+
129+
## Quick Reference (Copy-Paste)
130+
131+
Replace `X.Y.Z` with the actual version and `PREVIOUS` with the last release tag.
132+
133+
```bash
134+
# Step 1: Verify
135+
npm run check && npm run test && npm run build
136+
137+
# Step 2: Release PR
138+
gh pr create --repo codercops/ogcops --head dev --base production \
139+
--title "release: vX.Y.Z — Description"
140+
141+
# Step 3: Merge the PR on GitHub (squash and merge)
142+
143+
# Step 4: Create release
144+
gh release create vX.Y.Z --repo codercops/ogcops --target production \
145+
--title "vX.Y.Z — Description" --generate-notes
146+
147+
# Step 5: Sync PR
148+
gh pr create --repo codercops/ogcops --head production --base dev \
149+
--title "chore: sync production into dev after vX.Y.Z release"
150+
151+
# Step 6: Merge the sync PR on GitHub (regular merge, NOT squash)
152+
153+
# Step 7: Update fork
154+
git fetch upstream && git checkout dev && git pull upstream dev && git push origin dev
155+
```
156+
157+
## Notes
158+
159+
- The `pr-target-check.yml` workflow enforces that only `dev` can PR into `production`.
160+
- CI runs on all PRs to both `dev` and `production` branches.
161+
- Vercel auto-deploys `production` after merge.
162+
- Use `--generate-notes` flag on `gh release create` to auto-generate changelog from commits.

‎src/components/BackToTop.astro‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<style>
3232
.back-to-top {
3333
position: fixed;
34-
bottom: 90px;
34+
bottom: 80px;
3535
right: var(--space-xl, 24px);
3636
z-index: 8000;
3737
width: 40px;
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<!-- Feedback button: fixed bottom-right, opens GitHub issues -->
2+
<a
3+
href="https://github.com/codercops/ogcops/issues/new/choose"
4+
target="_blank"
5+
rel="noopener"
6+
class="feedback-btn"
7+
aria-label="Send feedback"
8+
title="Send feedback"
9+
>
10+
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
11+
<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
12+
</svg>
13+
<span class="feedback-btn-label">Feedback</span>
14+
</a>
15+
16+
<style>
17+
.feedback-btn {
18+
position: fixed;
19+
bottom: var(--space-xl, 24px);
20+
right: var(--space-xl, 24px);
21+
z-index: 8000;
22+
display: flex;
23+
align-items: center;
24+
gap: 6px;
25+
padding: 8px 14px;
26+
background: var(--bg-elevated, #fff);
27+
border: 1px solid var(--border, #e5e5e5);
28+
border-radius: var(--radius-full, 999px);
29+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
30+
color: var(--text-muted, #666);
31+
font-size: 12px;
32+
font-weight: 500;
33+
text-decoration: none;
34+
cursor: pointer;
35+
transition: color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
36+
}
37+
38+
.feedback-btn:hover {
39+
color: var(--accent-primary, #e07a5f);
40+
border-color: var(--accent-primary, #e07a5f);
41+
box-shadow: 0 4px 12px rgba(224, 122, 95, 0.15);
42+
}
43+
44+
.feedback-btn svg {
45+
flex-shrink: 0;
46+
}
47+
48+
@media (max-width: 480px) {
49+
.feedback-btn {
50+
right: var(--space-md, 12px);
51+
padding: 8px 12px;
52+
}
53+
54+
.feedback-btn-label {
55+
display: none;
56+
}
57+
}
58+
</style>

0 commit comments

Comments
 (0)