Skip to content

Commit 6626a57

Browse files
committed
release: v0.4.4
Patch release with multi-word flag fix and documentation overhaul: * ado prs comments add --content now accepts unquoted multi-word text (no more 'unexpected extra argument review' errors) * All 27 command modules have enriched --help text with valid values, defaults, output format hints * All 3 skills rewritten for LLM agent consumption with decision trees, structured references, and troubleshooting tables * 337 tests pass, credo clean, dialyzer clean See CHANGELOG [0.4.4] for full details.
1 parent 6a63f35 commit 6626a57

4 files changed

Lines changed: 49 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,48 @@ All notable changes to `ado` will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.4.4] - 2026-06-17
9+
10+
### Fixed
11+
12+
- **`ado prs comments add --content` accepts unquoted multi-word text.**
13+
Elixir 1.18+ `OptionParser` in strict mode consumes only one token after
14+
a flag, so `--content Code review approved` parsed as `content="Code"`
15+
and `["review", "approved"]` as extra positional args, which CliMate
16+
rejected with `unexpected extra argument review`. Added a pre-parse
17+
pass in `AdoCli.CLI.run/1` that detects flags in `@multivalue_opts`
18+
(`--content`, `--message`, `--body`, `--description`, `--reason`,
19+
`--summary`, `--text`) and joins all subsequent non-flag tokens into
20+
a single value using the `--flag=value` syntax. 12 new unit tests
21+
cover single-word, multi-word, `--status`-after, `=`, `-`, `@file`
22+
and combination cases.
23+
24+
### Documentation
25+
26+
- **Enriched `--help` text across all 27 command modules.** Every option
27+
`doc:` string now includes valid values for enums, default behavior
28+
hints, output format descriptions, and argument format hints (GUID
29+
vs numeric ID vs name). Example: `state: "wellFormed, creating,
30+
deleting, new, all"` instead of `Filter by project state`.
31+
- **Rewrote all 3 skills for LLM agent consumption.** Each skill now
32+
has a decision tree, structured command reference, common pitfalls
33+
table with specific error messages and version-specific fixes, and
34+
cross-references. Bumped to v0.4.3 to match the CLI version. New
35+
sections include binary download matrix (5 platforms in ado-ci), PAT
36+
scope table, troubleshooting matrix (ado-auth), and JSON output
37+
examples (ado-cli).
38+
- **Updated help text to document the new multi-word flag behavior.**
39+
`prs comments add --help` and `prs comments update --help` now show:
40+
"Multi-word values do NOT need quoting — all subsequent args are
41+
joined until the next flag. Use @<file> to read from a file or `-`
42+
to read from stdin."
43+
44+
### Tests
45+
46+
- 12 new tests in `test/ado_cli/cli_test.exs` for the multi-word flag
47+
join behavior. 337 tests pass, credo clean, dialyzer clean.
48+
49+
850
## [0.4.3] - 2026-06-17
951

1052
### Fixed
@@ -504,7 +546,8 @@ the embedded skills can be installed into any LLM agent's skill directory.
504546
are filtered by the `mix ci.dialyzer` task.
505547
- ExUnit test count: 234 (across 30+ test files). All pass.
506548

507-
[Unreleased]: https://github.com/gilbertwong96/ado_cli/compare/v0.4.3...HEAD
549+
[Unreleased]: https://github.com/gilbertwong96/ado_cli/compare/v0.4.4...HEAD
550+
[0.4.4]: https://github.com/gilbertwong96/ado_cli/compare/v0.4.3...v0.4.4
508551
[0.4.3]: https://github.com/gilbertwong96/ado_cli/compare/v0.4.2...v0.4.3
509552
[0.4.1]: https://github.com/gilbertwong96/ado_cli/compare/v0.4.0...v0.4.1
510553
[0.4.0]: https://github.com/gilbertwong96/ado_cli/compare/v0.3.0...v0.4.0

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ put it on your `$PATH`:
6666

6767
```bash
6868
# Example for Apple Silicon Mac (pick the right binary for your platform)
69-
curl -L -o ado https://github.com/gilbertwong96/ado_cli/releases/latest/download/ado-0.4.3-macos-aarch64
69+
curl -L -o ado https://github.com/gilbertwong96/ado_cli/releases/latest/download/ado-0.4.4-macos-aarch64
7070
chmod +x ado && sudo mv ado /usr/local/bin/
7171
```
7272

@@ -708,7 +708,7 @@ before they go public.
708708

709709
```bash
710710
# 1. Bump version in mix.exs, commit, tag
711-
$EDITOR mix.exs # bump version: "0.2.0" -> "0.4.3"
711+
$EDITOR mix.exs # bump version: "0.2.0" -> "0.4.4"
712712
git add -u && git commit -m "v0.2.0"
713713
git tag -a v0.2.0 -m "Release 0.2.0"
714714
git push github main v0.2.0

github-page/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,9 +228,9 @@ <h2>Other install methods</h2>
228228
<div class="card">
229229
<h3>📥 Download binary</h3>
230230
<p>Grab the platform-specific binary and put it on your <code>$PATH</code>.</p>
231-
<pre><code>curl -L -o ado https://github.com/gilbertwong96/ado_cli/releases/latest/download/ado-0.4.3-macos-aarch64
231+
<pre><code>curl -L -o ado https://github.com/gilbertwong96/ado_cli/releases/latest/download/ado-0.4.4-macos-aarch64
232232
chmod +x ado &amp;&amp; sudo mv ado /usr/local/bin/</code></pre>
233-
<p class="hint">Replace <code>ado-0.4.3-macos-aarch64</code> with the binary for your platform (see the <a href="https://github.com/gilbertwong96/ado_cli/releases/latest">release page</a>).</p>
233+
<p class="hint">Replace <code>ado-0.4.4-macos-aarch64</code> with the binary for your platform (see the <a href="https://github.com/gilbertwong96/ado_cli/releases/latest">release page</a>).</p>
234234
</div>
235235
<div class="card">
236236
<h3>🔨 Build from source</h3>

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule AdoCli.MixProject do
44
def project do
55
[
66
app: :ado_cli,
7-
version: "0.4.3",
7+
version: "0.4.4",
88
elixir: "~> 1.20",
99
start_permanent: Mix.env() == :prod,
1010
deps: deps(),

0 commit comments

Comments
 (0)