All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Layered Configuration System: Complete configuration management with multiple sources
- TOML file support (
morphir.toml,.morphir/morphir.toml) - XDG-compliant path resolution for global config (
~/.config/morphir/) - System-wide configuration (
/etc/morphir/morphir.toml) - User override file (
.morphir/morphir.user.toml, gitignored) - Environment variable overrides with
MORPHIR_*prefix - Priority-based merging (env > user > project > global > system > defaults)
- TOML file support (
- Workspace Management: Discovery and initialization of Morphir workspaces
morphir workspace initcommand with--hiddenand--nameflags- Automatic workspace discovery walking up directory tree
- Standard directory structure (
.morphir/out/,.morphir/cache/)
- Configuration CLI Commands:
morphir config show- Display resolved configurationmorphir config path- Show configuration file locations and status--jsonflag on all commands for programmatic access
- Schema Validation: Configuration validation with errors and warnings
- Validates log levels, formats, paths, numeric ranges
- Distinguishes fatal errors from non-fatal warnings
- New Packages:
pkg/config- Public configuration API with immutable typespkg/tooling/workspace- Workspace discovery and initialization
- Documentation:
- Comprehensive configuration guide (
docs/configuration.md) - Package documentation (
doc.gofiles) - Example configurations (
examples/morphir.toml,examples/morphir.minimal.toml) - Updated README with Configuration section
- Comprehensive configuration guide (
- GoReleaser configuration for automated releases
- GitHub Actions CI workflow for format, lint, test, and build checks
- GitHub Actions release workflow for automated releases on tags
- Version information in CLI (
morphir --version) - Cross-platform support: Linux, macOS, Windows (amd64, arm64)
- Changelog management following Keep a Changelog format
morphir workspace initnow fully functional (was stubbed)
0.1.0 - 2026-01-01
- Initial Go monorepo structure with
go.workworkspace - CLI application built with Cobra and Bubbletea
- Root command that launches interactive TUI
workspace initcommand (stubbed implementation)validatecommand for validating Morphir IR (stubbed implementation)- Library modules:
models,tooling,sdk,pipeline - Build orchestration with Justfile
- Cross-platform scripts directory with bash and PowerShell versions
- OS detection infrastructure for Windows, Linux, macOS support
- Development build targets (
build-dev,install-dev) - CI check script for running all validation tasks
- AGENTS.md with development guidelines and project principles
- CLI development guidelines for stdout/stderr separation and JSON output support
- Functional programming principles and TDD/BDD practices documentation
- Updated to Go 1.25.5
- Refactored Justfile with proper OS detection and readable formatting
- Improved command registration consistency
- Duplicate help command registration in CLI