Skip to content

lvnacy/chromamancer

Repository files navigation

โœจ Chromamancer

Master the arcane art of theme transformation between VS Code and Obsidian

๐Ÿšง UNDER ACTIVE CONSTRUCTION ๐Ÿšง

This project is in early development and not ready for use yet!
Star โญ and watch ๐Ÿ‘€ this repo to be notified when it's ready.

License: GPL-3.0 TypeScript Tests PRs Welcome


๐Ÿ”ฎ What is Chromamancer?

Chromamancer is a powerful tool for weaving themes between VS Code and Obsidian. As a Chromamancer, you command the magic of color, transforming themes from one realm to another with precision and craft.

Have a VS Code theme you love? Weave it into Obsidian.
Want consistent theming across both apps? Chromamancer makes it effortless.

โœจ The Vision

  • ๐ŸŽจ One theme, two apps - Maintain visual consistency across VS Code and Obsidian
  • ๐Ÿ”ฎ Intelligent conversion - Smart color extraction and mapping
  • ๐ŸŽญ Mood-based theming - Different themes for different projects (dark vampire theme for your horror story, bright minimal theme for productivity notes)
  • ๐ŸŒˆ Community-driven - Extensible brand system for customization
  • ๐Ÿš€ Multiple interfaces - CLI, VS Code extension, and web app (coming soon)

๐Ÿšง Current Status

What's Working โœ…

The core conversion engine is complete and fully tested:

  • โœจ VS Code Theme Parser - Reads and validates VS Code theme JSON
  • ๐ŸŽจ Color Palette Extractor - Intelligently extracts the essence of colors with confidence tracking
  • โš—๏ธ Obsidian CSS Generator - Generates complete Obsidian themes with 40+ variables
  • ๐Ÿงช Comprehensive Tests - 28 tests, all passing
  • ๐ŸŽฏ Type-Safe - Full TypeScript support with strict mode
  • ๐Ÿ› ๏ธ Color Utilities - Lighten, darken, saturate, mix, and more

What's Coming Next ๐Ÿ”„

  • ๐Ÿ–ฅ๏ธ CLI Tool - Command-line interface with Chromamancer branding
  • ๐Ÿ“ฆ npm Package - Install globally with npm install -g chromamancer
  • ๐Ÿ“– Documentation - Complete usage guides and examples
  • ๐ŸŽจ Example Themes - Pre-converted popular themes
  • ๐Ÿ”Œ VS Code Extension - Convert themes directly from VS Code
  • ๐ŸŒ Web Interface - Browser-based theme converter
  • ๐ŸŽญ Palette Jack - Cyberpunk-themed alternate brand

๐ŸŽฏ Planned Features // Roadmap

Core Conversion

  • Parse VS Code themes
  • Extract color palettes with confidence tracking
  • Generate Obsidian CSS themes
  • Smart color fallbacks and generation
  • Bidirectional conversion (Obsidian โ†’ VS Code)
  • Theme validation and quality checks
  • Batch conversion support

CLI Tool (In Progress)

  • chromamancer weave - Convert themes
  • chromamancer scry - Preview themes
  • chromamancer extract - Extract color palettes
  • Progress indicators and beautiful output
  • File I/O with error handling

VS Code Extension (Planned)

  • Convert themes from within VS Code
  • Bind themes to workspaces
  • Preview before converting
  • One-click theme application

Community Features (Future)

  • Brand system for custom tool personalities
  • Community-created brands
  • Theme gallery and sharing
  • Plugin system for custom transformations

๐Ÿง™โ€โ™‚๏ธ How It Works

// 1. Parse a VS Code theme
const theme = await parseVSCodeThemeFromFile('./dracula.json');

// 2. Extract the color essence
const { palette, confidence } = extractPalette(theme);

// 3. Weave into Obsidian CSS
const { css } = generateObsidianCSS(palette, theme.type, {
  themeName: 'Dracula',
  author: 'Chromamancer',
});

// 4. Save it!
await writeFile('./dracula-obsidian.css', css);

โœจ Theme successfully woven!


๐Ÿ› ๏ธ For Developers

Project Structure

chromamancer/
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ core/           # Conversion engine โœ… COMPLETE
โ”‚   โ”œโ”€โ”€ cli/            # CLI tool ๐Ÿ”„ IN PROGRESS
โ”‚   โ”œโ”€โ”€ vscode-ext/     # VS Code extension (planned)
โ”‚   โ””โ”€โ”€ web/            # Web interface (planned)
โ”œโ”€โ”€ brand/
โ”‚   โ”œโ”€โ”€ chromamancer/   # Fantasy/magic theme โœ…
โ”‚   โ””โ”€โ”€ palette-jack/   # Cyberpunk theme (planned)
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ AGENTS.md       # AI assistant context
โ”‚   โ”œโ”€โ”€ MAPPINGS.md     # Color mapping reference
โ”‚   โ””โ”€โ”€ VOICE.md        # Brand guidelines
โ””โ”€โ”€ examples/           # Example themes

Setting Up Development

# Clone the repo
git clone https://github.com/yourusername/chromamancer.git
cd chromamancer

# Install dependencies (requires pnpm)
pnpm install

# Run tests
pnpm test

# Build all packages
pnpm build

# Start development
pnpm dev

Running Tests

# Run all tests
pnpm test

# Run tests in watch mode
pnpm test:watch

# Run type checking
pnpm type-check

# Lint code
pnpm lint

Contributing

We welcome contributions! Once the project reaches v1.0, we'll have:

  • Contribution guidelines
  • Code of conduct
  • Issue templates
  • Brand creation guide

For now, feel free to:

  • โญ Star the repo
  • ๐Ÿ‘€ Watch for updates
  • ๐Ÿ’ก Open issues with ideas
  • ๐Ÿ› Report bugs (when you find them)

๐ŸŽจ The Brand System

Chromamancer uses a brand-driven architecture that allows for multiple personalities:

Chromamancer ๐Ÿ”ฎ

Fantasy/Magical Theme

  • Commands: weave, unweave, scry
  • Terms: grimoire, essence, incantation
  • For: Writers, creatives, RPG enthusiasts

Palette Jack ๐Ÿ”Œ

Cyberpunk Theme (Coming Soon)

  • Commands: jack, unjack, decrypt
  • Terms: manifest, matrix, protocol
  • For: Developers, tech enthusiasts, cyberpunk fans

The brand system is fully extensible - anyone can create custom brands! Check out /brand/chromamancer/VOICE.md for inspiration.


๐Ÿ“š Documentation

  • AGENTS.md - Complete project roadmap and context for AI assistants
  • MAPPINGS.md - Detailed VS Code โ†” Obsidian color mappings
  • VOICE.md - Chromamancer brand guidelines

More documentation coming as the project develops!


๐Ÿ’ฌ Community


๐Ÿ“œ License

MIT License - see LICENSE for details.


๐Ÿ™ Acknowledgments

Chromamancer is built with:

Inspired by the need for consistent theming across development tools and note-taking apps.


โš ๏ธ Remember: This project is under active development!

Check back soon for the initial release, or star โญ the repo to follow progress.

Made with โœจ magic โœจ and a lot of โ˜• coffee

About

Transmute VS Code themes to Obsidian and Obsidian themes to VS Code

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors