40 Commits
Author SHA1 Message Date
eSlider 316463a827 Merge pull request 'ci(secret-scan): fix gitleaks --source path (#3)' (#4) from sync/secret-scan-fix#3 into main
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Failing after 2s
Secret scan / Secret scan (gitleaks) (push) Successful in 5s
Lint / Lint (push) Successful in 34s
Tests / Test (Go 1.23 / ubuntu-latest) (push) Successful in 34s
Tests / Test (Go stable / ubuntu-latest) (push) Successful in 39s
Tests / Test (Go 1.22 / ubuntu-latest) (push) Successful in 44s
Tests / Test (Go stable / macos-latest) (push) Canceled after 0s
Tests / Test (Go stable / windows-latest) (push) Canceled after 0s
2026-09-06 02:47:43 +01:00
eSliderandGitHub eb9056474f Merge pull request #14 from eSlider/fix/secret-scan-workflow#3
Lint / Lint (push) Skipped
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Test (Go 1.22 / ubuntu-latest) (push) Skipped
Tests / Test (Go 1.23 / ubuntu-latest) (push) Skipped
Tests / Test (Go stable / macos-latest) (push) Skipped
Tests / Test (Go stable / ubuntu-latest) (push) Skipped
Tests / Test (Go stable / windows-latest) (push) Skipped
Secret scan / Secret scan (gitleaks) (push) Successful in 4s
Secret scan / Secret scan (gitleaks) (pull_request) Successful in 3s
Tests / Test (Go 1.22 / ubuntu-latest) (pull_request) Successful in 19s
Tests / Test (Go 1.23 / ubuntu-latest) (pull_request) Successful in 44s
Lint / Lint (pull_request) Successful in 49s
Tests / Test (Go stable / ubuntu-latest) (pull_request) Successful in 1m9s
Tests / Test (Go stable / macos-latest) (pull_request) Canceled after 0s
Tests / Test (Go stable / windows-latest) (pull_request) Canceled after 0s
ci(secret-scan): fix gitleaks --source path (docker action host path)
2026-09-06 02:47:18 +01:00
eSlider 1607f760db ci(secret-scan): fix gitleaks --source path (docker action host path) (#3)
The docker://zricethezav/gitleaks action mounts the workspace at
/github/workspace, but --source pointed at the host path from
github.workspace ($HOME/runner/work/...), which does not exist inside the
container -> 'stat ...: no such file or directory' on every run.

Follow the 2dph canon (ci.yml secret-scan): install the gitleaks binary
instead of the docker action and scan GITHUB_WORKSPACE - works on both
GitHub and Gitea act runners.
2026-09-06 02:45:29 +01:00
eSliderandGitHub a9ba5d7318 Merge pull request #13 from eSlider/sync/main-20260904
sync: gitea main (funding)
2026-09-04 15:56:03 +01:00
eSlider c53b9d5a9c Merge pull request 'docs(funding): .github/FUNDING.yml — eSlider support links' (#2) from docs/funding-github into main
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Failing after 5s
Secret scan / Secret scan (gitleaks) (push) Successful in 5s
Tests / Test (Go 1.23 / ubuntu-latest) (push) Successful in 1m17s
Tests / Test (Go 1.22 / ubuntu-latest) (push) Successful in 1m23s
Tests / Test (Go stable / ubuntu-latest) (push) Successful in 1m26s
Lint / Lint (push) Successful in 2m0s
Tests / Test (Go stable / macos-latest) (push) Canceled after 0s
Tests / Test (Go stable / windows-latest) (push) Canceled after 0s
2026-09-04 15:52:43 +01:00
eSlider d0a9cc3b36 docs(funding): eSlider support links (reverse-import GitHub 21096c6)
Lint / Lint (push) Skipped
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Test (Go 1.22 / ubuntu-latest) (push) Skipped
Tests / Test (Go 1.23 / ubuntu-latest) (push) Skipped
Tests / Test (Go stable / macos-latest) (push) Skipped
Tests / Test (Go stable / ubuntu-latest) (push) Skipped
Tests / Test (Go stable / windows-latest) (push) Skipped
Secret scan / Secret scan (gitleaks) (push) Successful in 3s
Secret scan / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go 1.22 / ubuntu-latest) (pull_request) Successful in 1m18s
Tests / Test (Go 1.23 / ubuntu-latest) (pull_request) Successful in 1m23s
Tests / Test (Go stable / ubuntu-latest) (pull_request) Successful in 1m40s
Lint / Lint (pull_request) Successful in 1m57s
Tests / Test (Go stable / macos-latest) (pull_request) Canceled after 0s
Tests / Test (Go stable / windows-latest) (pull_request) Canceled after 0s
2026-09-04 15:50:53 +01:00
eSlider 21096c6fd7 funding: eSlider support links (sponsors, ko-fi, liberapay, patreon, polar) 2026-09-03 05:20:23 +01:00
eSlider f608fa9917 Merge pull request 'feat(security): secret-scan в CI + pre-push хуки (#142)' (#1) from feat/secret-scan#142 into main
Release / GoReleaser (push) Skipped
Lint / Lint (push) Successful in 40s
Release Please / Release Please (push) Failing after 2s
Secret scan / Secret scan (gitleaks) (push) Successful in 3s
Tests / Test (Go 1.22 / ubuntu-latest) (push) Successful in 14s
Tests / Test (Go 1.23 / ubuntu-latest) (push) Successful in 15s
Tests / Test (Go stable / ubuntu-latest) (push) Successful in 22s
Tests / Test (Go stable / macos-latest) (push) Canceled after 0s
Tests / Test (Go stable / windows-latest) (push) Canceled after 0s
2026-08-23 22:46:45 +01:00
Andriy Oblivantsev 78076ee5a9 feat(security): secret-scan via gitleaks in CI + pre-push/pre-commit hooks (#142)
Lint / Lint (push) Skipped
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Test (Go 1.22 / ubuntu-latest) (push) Skipped
Tests / Test (Go 1.23 / ubuntu-latest) (push) Skipped
Tests / Test (Go stable / macos-latest) (push) Skipped
Tests / Test (Go stable / ubuntu-latest) (push) Skipped
Tests / Test (Go stable / windows-latest) (push) Skipped
Secret scan / Secret scan (gitleaks) (push) Successful in 4s
Secret scan / Secret scan (gitleaks) (pull_request) Successful in 3s
Tests / Test (Go 1.22 / ubuntu-latest) (pull_request) Successful in 13s
Tests / Test (Go 1.23 / ubuntu-latest) (pull_request) Successful in 15s
Lint / Lint (pull_request) Successful in 43s
Tests / Test (Go stable / ubuntu-latest) (pull_request) Successful in 22s
Tests / Test (Go stable / macos-latest) (pull_request) Canceled after 0s
Tests / Test (Go stable / windows-latest) (pull_request) Canceled after 0s
2026-08-23 19:51:09 +01:00
eSliderandGitHub 3aa0524f29 chore(main): release 0.4.0 (#11)
Lint / Lint (push) Successful in 57s
Release Please / Release Please (push) Failing after 2s
Tests / Test (Go 1.22 / ubuntu-latest) (push) Successful in 52s
Tests / Test (Go 1.23 / ubuntu-latest) (push) Successful in 28s
Tests / Test (Go stable / ubuntu-latest) (push) Successful in 38s
Release / GoReleaser (push) Failing after 6s
Tests / Test (Go stable / macos-latest) (push) Canceled after 0s
Tests / Test (Go stable / windows-latest) (push) Canceled after 0s
v0.4.0
2026-05-12 14:01:52 +01:00
eSliderandCursor c06f7f2bc9 fix(test): rename Url field to URL to satisfy revive var-naming
Lint (golangci-lint revive) requires acronyms like URL to be all-caps
in Go field names. Adjusts the motivation config test struct and its
assertion accordingly so the release-please PR can pass CI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 13:59:57 +01:00
eSlider 719fccf712 feat(env): add nestedUnderJQPath for extracting nested subtrees by jq-style paths
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.
2026-05-12 13:54:27 +01:00
eSlider 4beb769a2b test(config): add JSON round-trip test for environment config map 2026-05-12 13:00:31 +01:00
eSlider ff12eb1cb1 Merge branch 'main' of https://github.com/eSlider/go-config 2026-05-12 12:27:48 +01:00
eSlider b7709d693b feat(envc): add support for converting current process environment to YAML
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.
2026-05-12 12:27:46 +01:00
eSliderandGitHub 8e18861e09 Merge pull request #10 from eSlider/release-please--branches--main--components--go-config
chore(main): release 0.3.0
2026-05-03 10:46:06 +01:00
eSlider 7f294a75e6 chore(main): release 0.3.0 2026-05-03 10:42:36 +01:00
eSliderandCursor 474cd88739 feat: add TOML codec and envc format support
New toml package (pelletier/go-toml/v2) matching yaml/json options and merge flow.
envc convert/get/merge accept --from/--to toml; fixture and CLI tests; docs refresh.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 10:42:21 +01:00
eSliderandCursor 2d7b97f5ae docs: refactor envc README and centralize decisions
README CLI: comment-first bash examples, convert/merge/get order, real-world flows.
Move architecture decisions pointers into CONTRIBUTING; trim AGENTS and README.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 10:37:32 +01:00
eSliderandCursor 36f0ed9b52 docs: add CONTRIBUTING guide and expand README
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>
2026-05-03 10:29:27 +01:00
eSliderandCursor 2d674de546 feat(envc): improve root help and add stdin hang repro script
Root usage documents commands; help/-h/--help and unknown-command paths print the same text. test_hang.sh reproduces blocking reads on stdin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 10:22:35 +01:00
eSliderandGitHub e3e8ccb6c9 Merge pull request #9 from eSlider/release-please--branches--main--components--go-config
chore(main): release 0.2.2
2026-05-02 22:21:20 +01:00
eSlider 366efcf37d chore(main): release 0.2.2 2026-05-02 22:19:55 +01:00
eSliderandCursor 9c2021cef5 fix(release): shrink Linux envc binaries with UPX
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-02 22:19:42 +01:00
eSliderandCursor 1c9bfdb3a8 build(release): UPX Linux envc binaries and trim link metadata
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>
2026-05-02 22:09:51 +01:00
eSliderandGitHub 3bba7a1691 Merge pull request #8 from eSlider/release-please--branches--main--components--go-config
chore(main): release 0.2.1
2026-05-02 20:22:50 +01:00
eSlider 3b7e830c71 chore(main): release 0.2.1 2026-05-02 20:21:18 +01:00
eSliderandCursor cb0ee8ac22 fix(ci): use golangci-lint v2 config format
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>
2026-05-02 20:21:06 +01:00
eSliderandCursor a6a51ec3ef fix(ci): make lint and windows tests reliable
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>
2026-05-02 20:17:19 +01:00
eSliderandCursor 26aa51360b fix(ci): pin lint toolchain to Go 1.26
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>
2026-05-02 20:13:36 +01:00
eSliderandCursor 76b4f499c0 fix(ci): unblock release and cross-platform test pipeline
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>
2026-05-02 20:10:44 +01:00
eSliderandCursor d44b56848b fix: add motivation config precedence regression test
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>
2026-05-02 20:08:10 +01:00
eSlider eadcf9fa14 refactor: move testfixtures to internal package and update imports
- 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.
2026-05-02 20:02:20 +01:00
eSlider 0ae52ef72d docs: enhance release flow documentation and add version command to CLI
- 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.
2026-05-02 20:00:14 +01:00
eSlider 43f4b2dc96 chore: add GitHub workflows for linting, testing, and release management
- 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.
2026-05-02 20:00:08 +01:00
eSlider 3b3ea59aa2 Merge branch 'main' of https://github.com/eSlider/go-config 2026-05-02 14:19:53 +01:00
eSlider 327bdfe9ff docs(README): update architecture diagram and enhance CLI/API tables for clarity 2026-05-02 14:19:27 +01:00
eSliderandGitHub 8c7b93cf3a Merge pull request #1 from eSlider/release/v2
feat(go-config): multi-format codecs, envc CLI, fixtures, ASRs
2026-05-02 14:18:23 +01:00
eSliderandCursor c575341178 feat(go-config): multi-format codecs, envc CLI, fixtures, ASRs
- Module github.com/eslider/go-config with env/yaml/json/ini packages
- internal: source, keymap, merge, structconv, bytesutil
- cmd/envc: convert, get, merge
- docs/asr ASR-0001..0008, README/CHANGELOG/AGENTS refresh
- golangci-lint v2 config; tests + fixtures

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-02 14:04:01 +01:00
eSlider 288a5b600c feat: initial release — env decoder extracted from ai-fabric
Public API:
- Unmarshal(dst, opts...)
- UnmarshalPrefix(dst, prefix, opts...)
- AsMap() / AsMapPrefix(prefix)
- Options: WithTrim, WithWeaklyTyped, WithTagName, WithDecodeHook

Merges three divergent in-repo copies (ai-fabric/pkg/env,
markets-platform/TP-general-code/pkg/system, and the var/agents/issue-*
snapshots), adds error wrapping, prefix filter, and pluggable hooks.

15 pure-Go unit tests, no synthetic mocks, lint clean.

Extracted per inventar/docs/asr/ASR-0008-ai-fabric-audit.md.
2026-04-24 13:41:13 +01:00