Repository navigation
Releases
v0.6.2
What changed
- Fix update skipping installed skills even when their upstream source has changed. Update now refreshes every declared skill source using its configured selections and agent.
- Preserve ordinary install/sync skip behavior, dry-run safety, and installer failure reporting.
- Update CLI help and skill refresh documentation.
Changes: #45
Updating
Pull the repository and run ./dotai.py update. To refresh skills without repeating package updates, run ./dotai.py sync --update-skills. Restart OMP afterward. Skill refreshes replace local edits to selected installed copies; your manifest selections remain unchanged.
Verification
All 14 pull-request CI checks passed across Ubuntu, Windows, and macOS with Python 3.10 and 3.14, including coverage jobs. A live isolated update fetched choosing-branch-structure matching upstream commit 17479f6, with a non-mutating dry run and unchanged manifest.
v0.6.1
What changed
- Promote Claude Haiku 5.5 to the Anthropic smol role, retaining Haiku 4.5 as an availability fallback.
- Add GPT-6.1 Terra to GitHub Copilot task fallbacks after both Sol models.
- Add Claude Haiku 5.5 immediately after GPT-6 Luna in Copilot smol fallbacks. GPT-5.6 Luna remains available farther down the chain.
- Remove retired GPT-5.4 mini from OpenAI Codex recommendations.
- Refresh routing documentation with provider availability and pricing caveats. Codex Terra remains deferred until OMP discovery establishes availability.
Changes: #44
Adopting the recommendations
Pull the repository, then preview with python dotai.py configure omp-routing --dry-run. Explicitly apply with python dotai.py configure omp-routing when ready. Pulling or updating alone does not change personal manifests or OMP routing. OMP must already be installed and authenticated.
Verification
Merged-commit CI passed on Ubuntu, Windows, and macOS with Python 3.10 and 3.14, plus Linux branch coverage. Local CLI reports 0.6.1 and the tracked baseline validates.
Full changelog: v0.6.0...v0.6.1
v0.6.0
What changed
- Add GitHub CLI to new stack manifests with Scoop, Homebrew, official Ubuntu/WSL apt, and Arch recipes. Ubuntu setup supports root without sudo, cleans temporary downloads, and preserves failures. (#43)
- Present readable, flushed progress and human-readable previews. Keep protocol streams separate; show bounded, sanitized diagnostics with --verbose while preserving required failures and dry-run behavior. (#42)
- Decode package-version probe output safely in the caller, including malformed UTF-8 in either stream, without leaking subprocess reader-thread tracebacks. (#41)
- Add guidance on choosing and combining agents, skills, and commands, and distinguish DotAi development instructions from the capabilities delivered to users. (#40, #43)
Upgrading
Pull the latest main branch and run ./dotai.py version (or python dotai.py version on Windows); it reports 0.6.0.
Existing stack.json files are preserved. To adopt GitHub CLI, copy only its package entry from stack.example.json into your manifest, validate, and preview installation before applying. See https://github.com/mathwro/DotAi/blob/v0.6.0/docs/extending.md#adopt-github-cli.
GitHub authentication remains user-owned. No gh-stack extension or skill-selection changes are included. Credential redaction recognizes known values and common syntax; it cannot identify every arbitrary unlabeled secret.
Verification
- Release candidate: 242 local tests, OK with 2 native-Windows skips.
- Local and tracked baseline manifests validate; direct CLI version smoke reports 0.6.0.
- Release commit CI passed all 7 jobs: Python 3.10/3.14 on Ubuntu, Windows, and macOS, plus Linux branch coverage.
Full comparison: v0.5.0...v0.6.0
v0.5.0
What changed
sync --recommended-skills --enforcenow starts by offering cleanup of user-owned manifest sources outside the current recommendations, including old defaults with unknown recommendation ownership.- Cleanup requires explicit confirmation. Declining preserves those entries and installed skills and skips their installation for that enforced sync, even with
--update-skills. - Show cleanup selections as readable
owner/repository/skilllines, orowner/repositoryfor wildcard or unspecified selections, instead of a JSON diff. - Keep cleanup consent separate from recommendation acceptance, retain manifest backups and conservative ownership checks, and stop before recommendation installation when cleanup fails.
- Fix retirement verification when Skills CLI lists unrelated agent roots despite
--agent; preserve unrelated Codex skills without weakening source-specific deletion checks. - Document the enforcement boundaries, conditional dry-run preview, and recovery behavior in the README, configuration and extension guides, and repository guidance.
Verification
- Behavioral suite on main: 226 tests run, 2 native-Windows-only skips, no failures.
- Local manifest and tracked baseline validation passed; CLI version reports
0.5.0. - Isolated CLI checks covered cleanup confirmation, declined cleanup, and non-mutating previews.
- A smoke run using the actual Skills CLI verified universal retirement while preserving an unrelated Codex skill; the regression failed before the fix and passed afterward.
v0.4.1
What changed
- Ordinary
sync, includingsync --dry-run, now detects pending recommended skill changes for existing user manifests. - Show additions, updates, and removals as readable
owner/repositoryentries with selected skill names instead of a JSON diff in the normal sync notice. - Preserve existing manifest entries and locally differing sources; recommendation adoption remains explicit through
sync --recommended-skills. - Document the notice in README.md and docs/extending.md and add regression coverage for normal and dry-run sync.
Verification
- Behavioral suite: 221 tests run successfully, with 2 native-Windows-only skips.
- Tracked baseline validation passed; CLI version reports 0.4.1.
- Isolated sync preview confirmed readable recommendations without manifest or DotAi state changes.
v0.4.0
What's Changed
- Modularize DotAi into purpose-specific application modules while retaining the executable
dotai.pyentry point and Python 3.10+ standard-library runtime (#18). - Expand behavior coverage for command execution, platform selection, package reconciliation, OMP marketplaces/plugins/extensions,
status, anddoctor. Add Python 3.10/3.14 CI across Ubuntu, Windows, and macOS, with separate Linux branch-coverage reports (#19, #20, #21). - Keep Windows PATH refresh bounded across repeated commands, and honor
FORCE_COLOR=0even on a terminal (#19, #20). - Reject malformed or unreadable MCP targets without tracebacks, writes, or backups. Isolate invalid provider files and protect alias selection, stdio working directories, and required header/environment references (#22).
- Preserve configuration and reconciliation history on failed writes/replacements, clean incomplete owned artifacts, and cover recovery after partially applied OMP routing. Managed routing values now require the correct JSON type as well as value (#23).
- Correct skill retirement and wildcard narrowing when original frontmatter names differ from installed directory names. Retire only source-proven configured-agent copies, preserve independent Pi/universal copies, and refuse shared or ambiguous installations rather than deleting another agent's files (#24).
- Add focused default web-interface skills (
emil-design-engandweb-design-guidelines) and a vetted project-local skills guide without automatically installing project-specific bundles (#25).
Upgrading and adoption
- Pull the repository to update DotAi. Existing user-owned
stack.jsonfiles remain untouched. - Preview new recommended skills with
./dotai.py sync --recommended-skills --dry-run, then review and apply with./dotai.py sync --recommended-skills. Use--enforceonly when you intend to adopt matching repository recommendations and retire their removed skills. Restart OMP after skill changes. - Skill retirement matches installed directory identities; nonempty explicit
--check-skillvalues stay exact. Shared links or unproven canonical associations require manual resolution. DotAi retains the shared Skills CLI lock so other agents' provenance is not deleted. A failed retirement restores manifest/ownership, not directories already removed. See the retirement contract. - OMP routing remains optional and post-authentication. If a setting command fails, rerun
./dotai.py configure omp-routingto apply the missing settings while preserving unmanaged configuration. See configuration safety. - Project-local skills remain opt-in; follow the vetted project skills guide from the target project.
Verification
- All 220 behavioral tests passed on Python 3.10.21 and 3.14.4 under WSL, with two explicitly native-Windows-only skips.
- The tracked baseline manifest validated on both versions. The executable
./dotai.py versionand Python entry point report 0.4.0. - The safe-retirement changes were exercised through the real DotAi entry point and real Skills CLI 1.7.0, including original-name/directory identity differences, independent Pi/universal preservation, wildcard narrowing, repeated syncs, and shared-link refusal.
- The exact release commit 597438f passed Python 3.10 and 3.14 suites and baseline validation on Ubuntu, Windows, and macOS, plus the Linux branch-coverage job. Release commit CI.
Full Changelog: v0.3.6...v0.4.0
v0.3.6
What's Changed
- Refresh optional OMP routing for GPT-6.1 Sol, GPT-6 Luna, Claude Opus 5.5, and Claude Sonnet 5.5, with availability-filtered older fallbacks.
- Make manifest validation consistent before initialization and writes. Invalid additions preserve the original manifest and can be corrected without poisoning subsequent commands.
- Preserve MCP provider aliases, unrelated configuration, and section provenance; handle disabled servers, independent stdio working directories, and malformed discovered entries safely.
- Create private POSIX configuration backups and share one reconciliation path with visible MCP errors.
- Enforce declared package minimum versions, including RTK 0.43 or newer, while respecting dependency-update opt-in for present binaries. Linux RTK downloads use pinned v0.50.0 release archives and architecture-specific SHA-256 verification.
- Avoid routine skill refreshes when configured-agent source and content ownership are proven. Honor XDG lock locations, equivalent GitHub source spellings, explicit refresh requests, and accepted recommendation changes.
- Infer installer-normalized health checks for named skill selections and report wildcard/unchecked installations as
UNVERIFIED. - Keep Graphify's Pi skill and project graph generation opt-in while retaining the CLI, and simplify the recommended grilling/writing skills.
- Document optional post-authentication routing and extension workflows, refresh repository guidance, and remove completed implementation plans.
- Bump DotAi to 0.3.6 and decouple release-notice tests from the current release number.
Upgrading and adoption
- Pull the repository to update DotAi. Existing user-owned
stack.jsonfiles are preserved; baseline package changes, including RTK minimum-version and pinned-download commands, must be adopted explicitly fromstack.example.json. - Review skill changes with
./dotai sync --recommended-skills. Use--enforceonly when you want to adopt matching repository recommendations and retire their removed skills; unrelated sources remain untouched. - OMP routing remains optional. Only after installation, the first
omplaunch, and provider authentication, preview with./dotai configure omp-routing --dry-run; apply with./dotai configure omp-routingonly if desired. See the configuration guide. - For older Graphify configurations, follow the opt-in migration notes before the next install/update.
PR #3's unmerged skill-stack proposal is not included.
Verification
All 120 behavioral tests passed. The tracked and local manifests validated, Unix launcher syntax checked, and the real CLI reported 0.3.6. Release tests now exercise synthetic version ordering and offline behavior instead of pinning the current release number.
Full Changelog: v0.3.5...v0.3.6
v0.3.5
What's Changed
- Update OpenAI Codex and GitHub Copilot routing for GPT-6 Astra and the GPT-5.6 model family.
- Update Anthropic routing for Claude Fable 5.1, Opus 5, and Sonnet 5 while retaining compatible fallbacks.
- Bump DotAi and its version-output tests to 0.3.5.
Full Changelog: v0.3.4...v0.3.5
v0.3.4
What's Changed
- Add
sync --recommended-skills --enforceto adopt matching recommended sources and remove retired skills while preserving unrelated user sources.
Full Changelog: v0.3.2...v0.3.4