A comprehensive monorepo for domain-specific languages, language tools, and developer utilities
UDL is a polyglot monorepo containing 33 independent projects focused on:
- Domain-Specific Languages (DSLs) - Custom language implementations
- Developer Tools - CLI utilities, linters, and code generators
- Syntax Highlighters - Editor extensions and language support
- Applications - Full-featured applications built with custom languages
- Libraries - Reusable components and utilities
Status: Early Access | CI/CD Operational | 33 Projects | 4 Languages
# Clone the repository
git clone https://github.com/deadcoast/UDL.git
cd UDL
# Run the bootstrap script (installs all dependencies)
./tooling/scripts/bootstrap.sh
# Build all projects
pnpm build
# Run tests
pnpm testUDL/
├── projects/
│ ├── languages/ # DSL implementations (axe, gate, f8, etc.)
│ ├── tools/ # Developer tools (ctx, sandbag, etc.)
│ ├── extensions/ # Editor extensions (camo-obsidian, etc.)
│ ├── applications/ # Full applications (black-milk, etc.)
│ ├── libraries/ # Reusable libraries
│ └── experimental/ # WIP/Research projects
├── shared/
│ ├── packages/ # Shared code libraries
│ └── configs/ # Shared configurations
├── tooling/
│ ├── scripts/ # Build and utility scripts
│ └── dev-tools/ # Monorepo management CLI
├── docs/ # Documentation
└── examples/ # Cross-project examples
- TypeScript/JavaScript - Language servers, VSCode extensions, web tools
- Python - CLI tools, AST analysis, code generation
- Rust - High-performance tools, linters
- GDScript - Godot-based applications
- TurboRepo - Build orchestration and caching
- PNPM - Fast, efficient package management
- Cargo Workspaces - Rust project management
- Poetry/pip - Python dependency management
- axe-syntax - CLI menu builder with custom notation (Python)
- gate - Pattern language with LSP support v1.0 (@udl/gate-pattern)
- gateppattern-1.1 - Pattern language v1.1 (@udl/gate-pattern-1.1)
- f8syntax - F8 language system with execution engine
- 1az - VSCode extension for .1az language
- DrRx - Schema-based DSL
- hoc - Language tooling
- remedysyntax - Syntax support
- CTX - CTX-CARD format generator for codebase documentation (Python)
- sandbag - Intelligent linter configuration manager (Rust)
- ctx-card - AST-based codebase documentation
- FINK - Developer utility
- robo_md - Markdown automation
- BARRELMAN - Development tool
- JETSON - Utility tool
- hunt_ascii - ASCII utilities
- ASCII-hunt - ASCII tooling
- black-milk - Hacking game with custom DSL/VM (Godot)
- StrawberryMause - Mouse event recording/playback (TypeScript/Electron)
- ASCII-String-UI-Editor - Terminal UI editor and renderer
- camo-obsidian - Obsidian plugin for camouflaged codeblocks (TypeScript)
- milkDocs - Documentation library (Python)
- Plus 2 additional libraries
WIP and research projects including mecha_development, motleyBard, CLAY, PACER, canon, and more
- Node.js >= 18.0.0
- PNPM >= 8.0.0
- Python >= 3.8
- Rust >= 1.70 (for Rust projects)
- Godot >= 4.0 (for Godot projects)
# Install dependencies
pnpm install
# Build all projects
pnpm build
# Build specific project
turbo run build --filter=sandbag
# Run tests
pnpm test
# Test specific project
turbo run test --filter=ctx
# Lint all projects
pnpm lint
# Format code
pnpm format
# Type check
pnpm typecheck
# Clean build artifacts
pnpm clean# Navigate to project
cd projects/tools/sandbag
# Project-specific commands work as usual
cargo build
cargo test
# Or use turbo from root
turbo run build --filter=sandbag# Use the project generator
pnpm udl create --name my-project --type tool --lang typescript
# Or manually create in appropriate directory
mkdir -p projects/tools/my-project- MONOREPO-STATUS.md - Current state and recent updates
- MONOREPO_ARCHITECTURE.md - Architecture design and patterns
- MIGRATION_SUCCESS.md - Migration completion summary
- MIGRATION_PLAN.md - Original migration strategy
Each project maintains its own README with detailed information:
- Project overview and features
- Installation and usage
- API documentation
- Examples
# Run all tests
pnpm test
# Run tests for changed projects only
turbo run test --filter=[HEAD^1]
# Run with coverage
pnpm test:coverage
# Run specific test suites
pytest # Python projects
cargo test # Rust projects
npm test # TypeScript projectsIndividual projects can be published independently:
# Python (PyPI)
cd projects/tools/ctx
python -m build
twine upload dist/*
# NPM
cd projects/extensions/camo-obsidian
npm publish
# Cargo (crates.io)
cd projects/tools/sandbag
cargo publishContributions are welcome! Please see:
- CONTRIBUTING.md - Contribution guidelines
- Project-specific contribution guides in each project's README
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run tests:
pnpm test - Run linting:
pnpm lint - Commit using conventional commits:
git commit -m "feat: add new feature" - Push and create a pull request
MIT License - see individual projects for specific licensing information.
This monorepo is actively maintained and continuously evolving. Individual projects may have different maturity levels:
- Stable - Production-ready
- Beta - Feature-complete, testing
- Experimental - Early development, API may change
Check each project's README for its current status.
- GitHub: https://github.com/deadcoast/UDL
- Documentation: docs/
- Issues: https://github.com/deadcoast/UDL/issues
- 33 Projects in a unified monorepo with full git history
- Polyglot - TypeScript, Python, Rust, GDScript
- Smart Caching - TurboRepo for lightning-fast builds
- Scoped Packages - @udl/* namespace for TypeScript packages
- Modern CI/CD - GitHub Actions with change detection
- Multi-Version Testing - Python 3.8-3.12, Node 18-20, Rust stable/beta
- Well Documented - Comprehensive docs for AI and humans
- Production Ready - Fully operational build system
- ✅ Fixed package naming conflicts (gate projects now use @udl scope)
- ✅ Resolved CI/CD issues (PNPM version mismatch, git submodule errors)
- ✅ Added tsconfig.json for camo-obsidian
- ✅ Verified build system (2/3 TypeScript projects building successfully)
- ✅ Updated all CI workflows for GitHub Actions compatibility
- ✅ Organized documentation structure
See MONOREPO-STATUS.md for detailed status and updates.
deadcoast UDL designs deadcoast