Skip to content

cswendrowski/intelligent-system-design-language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

156 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Intelligent System Design Language!

isdl

Intelligent System Design Language (ISDL) is a custom programming language that enables you to create professional Virtual Tabletop Systems in hours, not months. It generates modern Foundry VTT systems compatible with Foundry V12 and V13 using cutting-edge web technologies.

ISDL provides both a VS Code extension and CLI tool for development, featuring syntax highlighting, intelligent validation, autocomplete, and seamless GitHub integration for publishing and sharing your systems.

image

✨ Key Features

🎨 Modern User Interface

  • Vue 3 + Vuetify powered reactive character sheets for smooth, responsive gameplay
  • Advanced DataTables with search, filter, sort, and drag-drop functionality - perfect for managing inventories and spell lists
  • Edit vs Play Mode toggle for clear distinction between character building and gameplay
  • Responsive Design optimized for desktop and tablet use

⚡ Enhanced Active Effects

  • Visual Editor integration for creating effects through the familiar Foundry interface
  • Smart Targeting with automatic field detection and validation
  • Condition Management with built-in status effect handling

🎲 Intelligent Game Mechanics

  • Smart Dice Operations - multiply a d4 by 2 and get a d8, because that makes sense for tabletop games
  • Enhanced Roll System showing detailed breakdowns with labeled components
  • Conditional Visibility - show Ki trackers only for Monks, spell slots only for casters, etc.
  • Resource Management with automatic token bar integration and damage application

🔗 Seamless Publishing & Sharing

  • GitHub Integration - authenticate, publish systems, and manage releases directly from VS Code
  • Automated Versioning with semantic version detection based on your ISDL changes
  • Gist Sharing for quick collaboration and system prototypes
  • Quality Releases with auto-generated installation instructions and changelogs

🛠️ Developer Experience

  • VS Code Extension with full language support, syntax highlighting, and intelligent autocomplete
  • CLI Tool for build automation and CI/CD integration
  • Real-time Validation catching errors as you type
  • Minimal Setup Needed so you can get started easily

🚀 Quick Start

Ready to create your first system? Choose your preferred development environment:

📝 VS Code Extension (Recommended)

  1. Install the ISDL extension from the VS Code marketplace
  2. Create a new .isdl file and start coding with full intellisense support
  3. Use Ctrl+Shift+PISDL - Generate to create your Foundry system
  4. Connect to GitHub for easy publishing and sharing

📚 Learn More


🎯 Design Philosophy

1: Programming made easy, but still light programming

Systems like Simple World Building, Custom System Builder, and Sandbox all offer a no-code click based way to build out small lightweight systems.

ISDL is not nearly as complicated as developing a full Foundry system from scratch, but it is still a programming language. Basic familiarity with scripting languages as Javascript will be useful.

2: Do what makes sense

There are a lot of options and customization available, but if you use the default syntax it should provide a reasonable default.

When working with Datatypes like a list of Die size choices, most languages would reject self.DieSize += 1 - adding 1 to a string doesn't make sense for most languages. For ISDL, we raise the value to the next die size, because that's what makes sense for Tabletop games. Multiply a d4 by 2? Now you have a d8.

3: Just enough Typing

Some programming languages have no typing, meaning you can pass a number to something that expects a string and the function will have to deal with it - or error. Even simple typos can error.

Other languages provide fully enforced typing which protects you from these mistakes, but can add a lot of extra work doing type conversions and checks.

ISDL provides just enough typing to protect yourself from things like typos and errors, without requiring a ton of extra work.

Let's go!

Ready to start your system development?

👉 Start with the Getting Started Guide

About

Intelligent System Design Language (ISDL) is a custom programming language that enables you to create professional Virtual Tabletop Systems in hours, not months. It generates modern Foundry VTT systems compatible with Foundry V12 and V13 using cutting-edge web technologies.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors