Commit 1c7fec8
authored
feat: Implement UMS v2.0 with TypeScript support (#78)
feat: implement UMS v2.0 with native TypeScript support
Complete migration from UMS v1.0 (YAML-based) to v2.0 (TypeScript-based)
architecture with enhanced type safety and modern development workflow.
BREAKING CHANGES:
- v1.0 YAML format (.module.yml, .persona.yml) no longer supported
- Build command stdin input removed (requires filesystem for TypeScript imports)
- Parser API changed: parseModule/parsePersona now expect JS objects, not YAML strings
- Validate command now stub (v2.0 relies on TypeScript compile-time checking)
Core Library Updates (ums-lib):
- New v2.0 type system with flexible Module and Persona interfaces
- TypeScript module loading via dynamic imports
- Simplified validation without rigid schema constraints
- Updated parsers supporting both v1.0 and v2.0 formats
- Enhanced markdown rendering with v2.0 metadata support
- Build reports with proper schemaVersion handling
CLI Updates (copilot-instructions-cli):
- TSX-based loader for .module.ts and .persona.ts files
- Enhanced error diagnostics with location tracking
- Progress tracking with statistics, ETA, and CI support
- Dual-format discovery (v1.0 YAML + v2.0 TypeScript)
- MCP command stubs for future server support
Migration Path:
- v2.0 is a major version with intentional breaking changes
- TypeScript format provides enhanced type safety and DX
- No current production users affected
- Documentation updated to reflect v2.0-first approach
Test Coverage:
- 363 total tests passing (201 CLI + 162 library)
- 100% pass rate across all packages
- All linting and type checking passes
- Build succeeds for all workspace packages
This squashes 10 commits:
1. feat(types): add UMS v2.0 type system with backwards compatibility
2. docs(ums-lib): update README for UMS v2.0
3. feat(cli): add TypeScript UMS file loading with tsx
4. feat(lib,cli): complete UMS v2.0 migration - remove v1.0 compatibility
5. style: apply prettier formatting and fix linting issues
6. fix: address PR review comments from GitHub Copilot
7. fix: use persona.schemaVersion instead of hardcoding '1.0'
8. fix(ums-lib): update all v1.0 references to v2.0
9. fix(cli,ums-lib): remove all v1.0 YAML support
10. docs(v2.0): remove v1.0 documentation
Closes #781 parent 79a3311 commit 1c7fec8
File tree
63 files changed
+3814
-4263
lines changed- .claude/agents
- docs
- processes
- packages
- copilot-instructions-cli
- src
- commands
- types
- utils
- ums-lib
- src
- adapters
- core
- parsing
- registry
- rendering
- resolution
- validation
- test
- types
- utils
- ums-mcp/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
63 files changed
+3814
-4263
lines changedThis file was deleted.
This file was deleted.
0 commit comments