Skip to content

design-tools

GitHub repo GitHub release License

CI Status Issues Pull Requests Stars Forks

Last Commit Repo Size Code Size Contributors

Stability Maintenance


Unix Design Toolset


📋 Table of Contents


🔍 Overview

design-tools is a monorepo containing modular design automation tools and workflows for Unix-like systems. It brings together various design-related projects into a unified ecosystem.

Monorepo Structure

design-tools/
├── design-flows/     # Automated design workflow scripts
│   └── flows/
│       └── vsGen/    # VS Code theme generator
├── themes/           # Theme collections and frameworks
│   └── GTK/          # GTK theme configurations
└── docs/             # Shared documentation

Why design-tools?

Design workflows often require multiple tools working together. This monorepo provides:

  • Unified workflow — All tools in one place with consistent interfaces
  • Modular architecture — Each tool is self-contained and can be used standalone
  • Automated design — Scripts that eliminate repetitive design tasks
  • Open source — Community-driven development with UK English spelling

✨ Features

  • 🎨 vsGen - VS Code workspace theme generator with intelligent colour palette expansion
  • 🌈 Colour Workflows - WCAG-compliant colour generation with accessibility protection
  • 🖌️ Theme Collections - GTK themes and system-wide appearance configurations
  • 🔧 Modular Libraries - Reusable Bash libraries for colour manipulation
  • 📦 Auto-Install - Dependencies fetched and installed automatically
  • 🇬🇧 UK English - Proper spelling throughout (colour, not colour)

📥 Installation

Prerequisites

  • Bash 5.0+
  • Git with submodule support
  • pastel (auto-installed by vsGen if missing)

Clone with Submodules

# Clone the entire monorepo
git clone --recursive https://github.com/XAOSTECH/design-tools.git
cd design-tools

# Or if already cloned without --recursive
git submodule update --init --recursive

Individual Subprojects

Each subproject can be cloned standalone:

# design-flows only
git clone https://github.com/XAOSTECH/design-flows.git

# themes only
git clone https://github.com/XAOSTECH/themes.git

🚀 Usage

vsGen — VS Code Theme Generator

cd design-flows/flows/vsGen

# Use a built-in preset
./src/vsGen --preset sakura

# Custom colour combinations
./src/vsGen -p coral -s gold -t skyblue --compl

# High variation with preview
./src/vsGen -p "#ff1493" -s "#ffd700" --variation 0.8 --dry-run

# List all presets
./src/vsGen --list-presets

GTK Themes

cd themes/GTK
# Follow theme-specific installation instructions

Examples

📘 Example 1: Create Custom VS Code Theme
cd design-flows/flows/vsGen
./src/vsGen -p violet -s lime -t cyan -n "My Theme" --compl

Opens in VS Code: ./out/My-Theme-2026-03-05-v1.1.0.code-workspace

📗 Example 2: Update Existing Workspace
./src/vsGen -c project.code-workspace -p coral -s gold --variation 0.8

Updates colour customisations while preserving folder structure.

📙 Example 3: Preview Theme Before Writing
./src/vsGen --preset neon --dry-run -v

Shows colour palette preview with WCAG contrast checks.


⚙️ Configuration

vsGen Configuration

vsGen accepts configuration via command-line flags:

Option Description Default
--primary <COLOUR> Primary colour pink
--secondary <COLOUR> Secondary colour yellow
--tertiary <COLOUR> Tertiary colour lavender
--variation <0-1> Colour variation level 0.5
--bg-lightness <0-1> Background darkness 0.12
--compl Generate complementary colours disabled

Environment Variables

vsGen will auto-install dependencies if missing. Manual installation:

# Install pastel CLI
cargo install pastel
# or download from https://github.com/sharkdp/pastel/releases

📚 Documentation

Monorepo Documentation

Document Location Description
📖 Monorepo README Root Main monorepo documentation
📚 This Document docs/ Detailed documentation
⚖️ License Root GPL-3.0 License

Subproject Documentation

Project Documentation Description
design-flows README Workflow collection overview
vsGen README VS Code theme generator
themes README GTK themes and configs

🤝 Contributing

Contributions are welcome! Each subproject has its own contributing guidelines:

Monorepo Workflow

  1. Fork the repository
  2. Clone with submodules: git clone --recursive <your-fork>
  3. Create feature branch: git checkout -b feature/amazing-feature
  4. Make changes in the appropriate submodule
  5. Commit with conventional commits:
    git commit -m "feat(vsGen): add new colour preset"
  6. Push and open a Pull Request

Submodule Development

# Work in a submodule
cd design-flows
git checkout -b feature/new-flow

# Make changes and commit
git add .
git commit -m "feat: add new flow"
git push origin feature/new-flow

# Update monorepo reference
cd ..
git add design-flows
git commit -m "chore: update design-flows submodule"

See also: Code of Conduct | Security Policy


🗺️ Roadmap

Completed

  • vsGen — VS Code theme generator
  • Modular library architecture
  • WCAG contrast protection
  • 8 built-in colour presets
  • Auto-install dependencies
  • UK English throughout

Planned

  • Additional workflows (icon theme generator, terminal theme generator)
  • Web-based colour picker UI
  • VS Code extension wrapper
  • CI/CD pipeline for theme validation
  • Colour palette export formats (ASE, ACO, GPL)

See the open issues for proposed features and known issues.


💬 Support


📄 Licence

Distributed under the GPL-3.0 License. See LICENSE for more information.


🙏 Acknowledgements

  • pastel — Colour manipulation CLI by @sharkdp
  • VS Code — Editor theming platform
  • WCAG 2.1 — Accessibility guidelines for contrast ratios

📚 Documentation🐙 GitHub⬆️ Back to Top

Git Tree Visualisation

Full SVG · Interactive version · View data