Skip to content

xcutiboo/Confitty

Confitty

Confitty Logo

A visual config builder for Kitty terminal

Build Status Latest Release Live Demo MIT License

Angular 21 TypeScript Bun 1.3+

Ko-fi Discord


✨ Pick your settings · See the result live · Export kitty.conf ✨

Not affiliated with the official Kitty Terminal project.


divider

πŸ’­ What Even Is This?

Kitty terminal is great. Reading 400+ config options to change your font size? Not so great.

Confitty is a visual config builder: tweak everything, see it live in the preview, then export your kitty.conf when you're done. No documentation trauma required.

Meet the Mascot 🐱

She's Kitty Terminal's ghost cat mascot if someone dropped her in pink paint and then set off a confetti cannon directly in her face. She does not know what year it is. She is thriving. The confetti in her fur is permanent. She has accepted this.

✨ Features

🎨 Visual Configuration

  • Live Preview: Background, opacity, blur, tint, font, padding, margins, border, cursor (block/beam/underline) with blink interval, selection, ANSI palette, tab bar (fade/slant/separator/powerline angled/slanted/round), and URL decoration all update in real time.
  • 12 Config Categories: Fonts, cursor, scrollback, mouse, performance, bell, window layout, tab bar, colors, advanced, OS-specific, keyboard shortcuts.
  • Simple / Advanced Modes: Beginner-friendly defaults or every option Kitty exposes.
  • Global Search: Fuzzy search across 130+ indexed options, keyboard-navigable.

🎭 Themes & Presets

  • 47 built-in color themes: Dracula, Nord, Tokyo Night (3 variants), Catppuccin (Latte, FrappΓ©, Macchiato, Mocha), Gruvbox (light + dark, soft + hard), Kanagawa (3 variants), Ayu (3 variants), RosΓ© Pine (3 variants), Solarized (light + dark), Everforest, Material, Nightfox, Monokai Pro, One Dark, One Light, IntelliJ, VS Code, GitHub, Cyberdream, Cobalt2, plus the original Confitty palette.
  • 18 full presets: 10 themed setups plus functional profiles for performance, minimal, gaming, accessibility, presentation, remote-server, streaming, and a developer default.
  • Quick palette switcher: 16-color picker in the Colors section.

πŸ”§ Import & Export

  • Import an existing kitty.conf and edit visually; unrecognised directives (kittens, includes, env) survive the round-trip.
  • Export only writes the values that differ from Kitty's own defaults, so the output is minimal and merge-friendly.
  • Version-gated: select your Kitty version (0.15 β†’ 0.47) and the exporter comments out options that don't exist in that release.

πŸš€ Advanced

  • Tab Bar Styles: fade, slant, separator, powerline (angled, slanted, round), all rendered in the preview.
  • Cursor Trail: configurable trail length, decay curve, and start threshold.
  • Symbol Mapping: point Powerline / Nerd Font codepoints at a specific font without patching glyphs.
  • Background: opacity, blur, image, layout, linear scaling, tint, gaps tint.
divider

πŸš€ Quick Start

Using Confitty

  1. Open confitty.app (or run locally).
  2. Navigate using the sidebar to explore config categories.
  3. Customize settings. Preview updates instantly.
  4. Review raw output in the Config tab.
  5. Export your kitty.conf file.

Applying Your Config

# Save to Kitty config directory
mkdir -p ~/.config/kitty
cp kitty.conf ~/.config/kitty/

# Reload Kitty without restarting
# Press: Ctrl+Shift+F5

Note: If you've remapped the reload shortcut, use your custom binding. See Kitty keyboard shortcuts.

πŸ“₯ Importing Existing Configs

Click Import and select your kitty.conf. Confitty parses it and populates the visual editor. Complex configs (custom kittens, include directives, environment variables) are preserved in the output even if they don't map to visual controls.

βš™οΈ How It Works

Confitty uses a smart diff algorithm that exports only the settings that differ from Kitty's defaults:

  • Change font size from 11 to 14? β†’ Output includes font_size 14
  • Leave it at 11? β†’ Not included in output

Why this matters:

  • βœ… Keeps configs highly readable and minimal.
  • βœ… Avoids overriding defaults that may improve in future Kitty updates.
  • βœ… Makes it easy to track exactly what you've customized.
divider

πŸ› οΈ Development

Prerequisites

  • Bun 1.3+ (recommended) or Node.js 22+

Local Setup

# Clone repository
git clone https://github.com/xcutiboo/Confitty.git
cd Confitty

# Install dependencies
bun install

# Start dev server
bun start

Open http://localhost:4200 in your browser.

Build for Production

bun run build

Output directory: dist/confitty/browser/

πŸ“¦ Tech Stack

Technology Purpose
Angular 21 Standalone components and signals
TypeScript 6 Strict mode: noUncheckedIndexedAccess, noPropertyAccessFromIndexSignature, strictTemplates, strictStandalone. Zero any casts in src/
Tailwind 3 Utility classes, design-token palette in global_styles.css
Bun 1.3 Package install, dev server, production build
Nx 22 Workspace tooling (nx serve, nx build)

Architecture: 100% client-side. The exported kitty.conf is generated, diffed against defaults, and downloaded entirely in the browser. No backend, no telemetry.

🀝 Contributing

Contributions are welcome! See CONTRIBUTING.md for:

  • Development setup instructions
  • Coding conventions and style guide
  • How to add new presets or config options
  • Pull request guidelines

πŸ“„ License

This project is licensed under the MIT License. See LICENSE for details.

β˜• Support

If Confitty saved you from reading Kitty docs for three hours, consider supporting the project:

Donations help keep the website running and the confetti cannon loaded for our mascot. πŸŽ‰

πŸ’¬ Community

Join the Discord server to:

  • Share your Kitty configs and setups
  • Get help with configuration issues
  • Discuss terminal customization
  • Hang out with other terminal enthusiasts
divider

Made with ❀️ by xcutiboo

Star ⭐ this repo if you found it helpful!

Packages

 
 
 

Contributors

Languages