## Summary
Closes#15
When `logging.json: true` (or `DLC_LOGGING_JSON=true`), the logger was unconditionally initialised to console/text format at the top of `LoadConfig()`, so early log lines — most visibly **"Config file loaded"** — were always written as human-readable text regardless of configuration.
## Root cause
Classic chicken-and-egg: the format flag lives inside the config that is being loaded. The format-switch block only ran *after* `v.Unmarshal()`, too late for the config-file log.
## Changes
### `pkg/config/config.go`
- Add `peekJSONLogging()`: resolves the JSON flag **before** any log is emitted by (1) checking `DLC_LOGGING_JSON` directly via `os.Getenv`, then (2) doing a minimal throwaway Viper pre-read of the config file for the `logging.json` key. This mirrors Viper's own priority order without parsing the full config twice.
- Apply the resolved format immediately and emit **"Logging configured"** as the very first log line.
- Remove the now-redundant format-switch block that ran after `Unmarshal()`.
### `scripts/start-server.sh`, `test-graceful-shutdown.sh`, `test-opentelemetry.sh`
- Replace hardcoded `PROJECT_DIR` path with a dynamic `SCRIPTS_DIR=$(dirname $(realpath ${BASH_SOURCE[0]}))` derivation so scripts work from any worktree or clone location.
## Test plan
- [x] `go test ./pkg/...` — all pass
- [x] `scripts/test-graceful-shutdown.sh` — all JSON valid, all startup logs present
- [x] Manual smoke test: first line is `{"level":"info",...,"message":"Logging configured"}`, every line is valid JSON
Reviewed-on: #16
Co-authored-by: Gabriel Radureau <arcodange@gmail.com>
Co-committed-by: Gabriel Radureau <arcodange@gmail.com>
Added critical documentation about using separate 'Closes' lines for PR merge commits:
- Explains why single-line multiple issue references fail
- Provides correct multi-line format examples
- Prevents common issue where only first issue gets closed
- Updates usage examples with proper multi-issue syntax
This fixes the issue we encountered where 'Closes #4, #5, #6' only closed#4.
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
- Created changelog-manager skill to help agents properly maintain AGENT_CHANGELOG.md
- Provides guidance on when and how to update changelog
- Includes validation checks for format, content, and references
- Offers best practices for compact, outcome-focused entries
- Integrates with agent workflow for consistent documentation
This skill helps maintain the discipline of:
- Updating after each significant session
- Following consistent What/Why/How structure
- Linking to references (issues, ADRs, commits)
- Keeping entries compact and outcome-focused
Refs: #documentation, #changelog, #discipline
- Added path validation to prevent .vibe/.vibe nested directory creation
- Enhanced BEST_PRACTICES.md with path handling patterns
- Added troubleshooting section to ADVANCED_FEATURES.md
- Shows actual creation path for transparency
Fixes: Issue with skills being created in incorrect nested paths
Refs: #skill-creation, #path-validation
Enhance documentation with real-world examples:
- Add PR commenting workflow use case
- Include actual examples from this project
- Show automated feedback patterns
- Document CI integration examples
Makes the skill more practical and valuable
for both humans and AI agents.
Add web UI link documentation and examples:
- Document html_url field usage in responses
- Add examples for opening jobs in browser
- Include common URL patterns
- Enhance job-status and list-workflow-jobs docs
Makes it easier to navigate between CLI and web UI
for better CI/CD monitoring and debugging.
Add comprehensive Gitea client skill with capabilities to:
- Monitor CI/CD job status and workflows
- Fetch detailed job logs and action logs
- List workflow jobs to identify failures
- Comment on pull requests
- Save logs to files for analysis
Includes:
- Main client script with authentication support
- Complete documentation and usage examples
- Support for both GITEA_API_TOKEN and GITEA_API_TOKEN_FILE
- Comprehensive error handling and workflows
Enables AI agents to monitor, diagnose, and interact with
Gitea Actions workflows and pull requests.
- Add ADR-0012 documenting the decision to format only staged Go files
- Update ADR README.md with new entry
- Document rationale, alternatives, and verification results
- Include future considerations for monitoring and CI/CD integration
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>