Introduce `nestedUnderJQPath`, enabling subtree extraction using jq-style path parsing. Add associated utility functions (`splitJQPath`, `peelRedundantPathLeaf`, `buildNestedTreeAtPath`) and test coverage. Extend `.env Codec` to support path-specific subtree merges. Update `WithFile` to accept an optional jqPath for targeted merges.
Enhance the `envc convert` command to allow conversion of the current process environment to YAML format. Update README with usage examples and clarify input options. Add tests to ensure correct functionality for environment variable handling.
Add CONTRIBUTING.md for testing, PR checks, and release-please flow; link from
README and AGENTS. Document envc bash sourcing (set -a, source <(...)) for YAML/INI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use GoReleaser UPX (linux only, best+lzma), install upx-ucl in the tag release workflow, and add -buildvcs=false with empty -buildid=. Stop Dependabot auto bump PRs via open-pull-requests-limit 0. Remove stray LibreOffice lock file under docs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Declare golangci config version 2 so the v2 binary installed in CI can parse project lint settings successfully.
Co-authored-by: Cursor <cursoragent@cursor.com>
Run golangci-lint v2 via go install to match the active Go toolchain, and remove Windows coverprofile generation that PowerShell resolves incorrectly as package .out.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use a modern Go toolchain for golangci-lint to avoid typecheck failures reported when the runner stable channel lags behind supported language features.
Co-authored-by: Cursor <cursoragent@cursor.com>
Align golangci config with CI runner support, skip unsupported Windows race execution, and allow release-please to use a PAT fallback token for PR creation when GITHUB_TOKEN is restricted.
Co-authored-by: Cursor <cursoragent@cursor.com>
Codify the article's nested Config scenario to verify YAML base values are overridden by dotenv and finally by process environment variables.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Relocated testfixtures from the root to the internal package for better encapsulation.
- Updated import paths in codec test files across env, ini, json, yaml directories to reflect the new location.
- Removed the now obsolete testfixtures.go file.
- Updated AGENTS.md and README.md to clarify the automated release process using release-please and GoReleaser.
- Added a version command to the envc CLI to display build metadata.
- Included CI/CD details in README for better understanding of testing and release automation.
- Introduced dependabot configuration for Go modules and GitHub Actions.
- Added linting workflow to enforce code quality on pushes and pull requests.
- Created release workflow to automate versioning and releases based on tags.
- Implemented testing workflow to run tests across multiple Go versions and OS environments.