Page generated from: LandingPage_v4.4.md
Welcome to Set|Files
Human-readable configuration, kept efficient and simple
What are SET Files?
SET Files are an efficient, light, readable format for configuration and data storage.
Simple when you need it, powerful when you want it.
Easy for Humans and AI alike to read!
Two flavors:
Q-Set (.qset) - Quick and Simple
- The baseline standard
- Groups, pipe delimiters, text blocks
- Everything you need for configs and data
- Zero configuration required
X-Set (.xset) - eXtended and Modular
- Q-Set with plug-in extensions
- Mix-and-match capabilities
- Custom delimiters, includes, schemas, and more
- Declare only what you use
Think of SET Files as easy to edit and update configuration files, with room to grow!
Why Use SET Files?
- Human readable and editable - No quoting or escaping nightmares
- Simple parsing - Groups and pipes, that's it
- AI-efficient - Clean structure for LLM processing
- Multi-line text - Text groups handle it naturally with zero escaping
- Comments built-in - Document your configuration
- Modular power - Start simple, add features only when needed
- Flexible structure - Mix key-value pairs, tables, and text blocks
- 25 years experience - Battle-tested from VB6 to modern web apps
Quick Example
Q-Set - Simple Config:
myconfig.qset
Application configuration
Created: 2025-01-22
[DATABASE]
Host|localhost
Port|5432
Database|myapp
[SETTINGS]
Theme|dark
Language|en-US
MaxUsers|50
[{WELCOME_MESSAGE}]
Welcome to My Application!
Get started by configuring your settings above.
X-Set - With Extensions:
advanced.xset
[THIS-FILE]
X-SET|delimiters:1.0!includes:1.0
[DELIMITERS]
Primary|;
[CONFIG]
Name;MyApp
Include;database.set
Include;cache.set
Get Started
Features
Simple Structure - Complex Data
- Groups organize related information
- Pipe-delimited fields (or customize with X-Set)
- Nested arrays with secondary delimiter
Flexible Data Formats
- Key-value pairs for settings
- Tables for structured records
- Multi-line text blocks for documentation
- Comments for clarity
Text Groups - Zero Escaping
- Store licenses, documentation, code samples
- No escape sequences needed
- Pipes
| and backslashes \ are literal
- Perfect for embedding JSON, HTML, or any content
Modular Extensions (X-Set)
- Custom delimiters - use
; or : instead of |
- File includes - compose from multiple files
- Type schemas - validate data structure
- Conditional sections - platform-specific configs
- And more in the extensions catalog
---
The SET Files Family
SET Files (ecosystem)
│
├─ Q-Set (.qset)
│ └─ The baseline - stable, simple, universal
│
└─ X-Set (.xset)
└─ Optional extensions - modular power
Start with Q-Set. Graduate to X-Set only when you need advanced features.
Both are SET Files. Both are human-friendly. Both work together.
Version 4.4 - January 2025
What's New:
- Split into Q-Set baseline and X-Set extensions
- File extensions:
.qset for simple, .xset for extended
- Modular extension system with versioning
- Each extension has its own micro-spec
- Clear learning path from beginner to advanced
- SCL (Structured Code Library) integration
Upgrading from v4.3:
- Your existing files work as Q-Set files
- Add
[THIS-FILE] group to use X-Set extensions
- Change extension to
.xset for extended features
- See migration guide in documentation
Documentation
Core Specs:
Learning Resources:
Community & Development
Integration with EMU Ecosystem
SET Files work seamlessly with:
- EMU IDE - AI-assisted development environment
- SCL - Structured Code Library with tried-and-true modules
- AbSynth Protocol - Code metadata carriers
- AppDrive - Desktop application platform
Learn more about the
EMU ecosystem
About SET Files
History: 25 years of evolution from VB6 to modern web apps. Born from frustration with JSON and maintained by practical use in real projects.
Philosophy: Human-readable always. Simple by default. Powerful by choice.
Creator: Kirk Siqveland
License: Creative Commons Attribution 4.0 International (CC BY 4.0)
Copyright: © 2025 Kirk Siqveland
Contact
SET Files v4.4 - Making configuration files enjoyable since 1999