Skip to content

Guizimo/cova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

129 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎨 Cova

English | 简体中文

Cova Logo

Cova

The new standard for cover design

A professional-grade cover image generator with real-time preview, template management, and multi-format export — all running locally in your browser.




React TypeScript Vite TailwindCSS

🌟 Features

🎨 Professional Design Tools

  • Real-time Preview — See changes instantly as you design
  • Rich Typography — Multiple fonts, sizes, letter-spacing, line-height, italic, and color
  • Flexible Backgrounds — Solid colors, gradients with presets, image upload, frosted glass effects
  • Icon Support — Add icons with customizable background color and padding

📐 Size & Layout

  • Multiple Presets — Common cover sizes for blogs, social media, etc.
  • Custom Dimensions — Set any width and height
  • Border Radius — Adjustable rounded corners
  • Responsive Editor — Resizable panels that adapt to your workflow

🚀 Export & Templates

  • Multi-format Export — PNG, JPEG, WebP with 2x high-resolution output (AVIF falls back to PNG)
  • Template System & Marketplace — Save up to 10 templates and import from the built-in marketplace
  • Configuration Persistence — Your settings are automatically cached locally
  • One-click Download — Export high-quality cover images instantly

🌍 Internationalization & Privacy

  • Bilingual UI — Full English and Chinese support
  • 100% Local Processing — No server uploads, your data never leaves your browser
  • GitHub Stars Display — Built-in repo star count on the editor header
  • Open Source — GPL-3.0, free to use and modify

🤖 AI Native

Cova ships with a built-in AI assistant that keeps the local-first, privacy-friendly philosophy via a Bring-Your-Own-Key model — requests go directly from your browser to the OpenAI-compatible endpoint you configure (OpenAI, OpenRouter, Azure, local Ollama, …). Nothing passes through our servers.

  • AI Design Copilot — Describe a cover from scratch, or iterate on what's already on the canvas. Cova sends your current design as context so the AI refines it instead of starting over.
  • Quick Refine — One-tap chips ("More vivid", "Dark mode", "Bigger title", "Gradient", …) apply context-aware tweaks to the current design instantly.
  • Wider control surface — AI can now drive typography (incl. italic), color, gradients, frosted-glass blur, radius and more.
  • AI Copywriter — Turn a topic into punchy title/subtitle options, applied with one click.
  • AI Palette — Generate a harmonious gradient + readable text color from a mood or keyword.
  • Cancellable & robust — In-flight requests can be cancelled, with built-in timeout handling.
  • Non-destructive — Every AI result can be reverted with a one-click Undo.
  • Provider-agnostic — Any OpenAI-compatible Chat Completions endpoint works; your key is stored only in your browser.

📸 Showcase

Try it live at cova.guizimo.com

🚀 Quick Start

Prerequisites

Node.js pnpm

Installation

# Clone the repository
git clone https://github.com/guizimo/cova.git

# Navigate to the project directory
cd cova

# Install dependencies
pnpm install

# Start the development server
pnpm dev

Available Scripts

pnpm dev              # Start development server
pnpm build            # Build for production (tsc + vite)
pnpm preview          # Preview production build locally
pnpm lint             # Run ESLint
pnpm format           # Format code with Prettier
pnpm release          # Create a new release (standard-version)
pnpm release:major    # Major version bump
pnpm release:minor    # Minor version bump

🏗️ Architecture

Tech Stack

Category Technologies
Framework React TypeScript
Styling TailwindCSS Radix UI
Build Vite ESLint
State Zustand (with persist middleware)
i18n i18next react-i18next
Export html-to-image file-saver

Project Structure

cova/
├── src/
│   ├── components/
│   │   ├── ui/                # Base UI components (Button, Input, Select, Slider, etc.)
│   │   ├── layout/            # Landing page sections (Navbar, Hero, Features, CTA, Footer)
│   │   └── generator/         # Editor components
│   │       ├── Header.tsx     # Editor header with version & GitHub stars
│   │       ├── Preview.tsx    # Real-time cover preview canvas
│   │       └── ConfigPanel/   # Configuration panels
│   │           ├── TitleConfig.tsx
│   │           ├── FontConfig.tsx
│   │           ├── BackgroundConfig.tsx
│   │           ├── IconConfig.tsx
│   │           ├── SizeConfig.tsx
│   │           └── TemplateConfig.tsx
│   ├── pages/                 # Route pages
│   │   ├── home/              # Landing page
│   │   ├── generator/         # Cover editor (core feature)
│   │   ├── features/          # Features showcase
│   │   ├── about/             # About page
│   │   ├── contact/           # Contact page
│   │   ├── faq/               # FAQ page
│   │   └── not-found/         # 404 page
│   ├── store/                 # Zustand stores (generator state + templates)
│   ├── config/                # App configuration constants
│   ├── types/                 # TypeScript type definitions
│   ├── utils/                 # Utility functions (export, i18n, share)
│   ├── lib/                   # Shared helpers (cn utility)
│   ├── locales/               # i18n translations (en.ts, zh.ts)
│   ├── styles/                # Global styles
│   └── router/                # React Router configuration
├── public/                    # Static assets
├── CHANGELOG.md               # Auto-generated changelog
└── package.json

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'feat: add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Submit a Pull Request

Code Standards

Tool Purpose
TypeScript Fully typed codebase
ESLint Consistent code style
Prettier Automated formatting
Commitlint Conventional commit messages
Husky + lint-staged Pre-commit quality checks

🌟 Roadmap

  • v1.0.0 — Core cover generator with background, fonts, icons, and export
  • v1.1.0 — Mobile optimization, enhanced UX, template system
  • v1.2.0 — Template marketplace, real WebP export, high-resolution output, full i18n
  • v1.3.0 — AI Native: AI design assistant, copywriter & palette (bring-your-own-key)
  • v1.4.0 — AI Design Copilot: context-aware iterative refine, quick-refine actions, wider control surface, cancellable requests
  • v1.5.0 — Collaboration features
  • v2.0.0 — Plugin system, advanced animations and effects

💝 Support

If you find Cova helpful, please consider:

📄 License

This project is licensed under the GPL-3.0 License — see the LICENSE file for details.

📞 Contact

GuizimoCreator & Maintainer

Email GitHub


Made with ❤️ by the Cova Team
Built for creators, by creators

About

简单易用的封面图片生成工具,为你的文章、视频、社交媒体创作提供专业的封面设计。

Topics

Resources

License

Stars

Watchers

Forks

Contributors