Skip to content

feat: agent integrations — global install routing + aider automation#373

Merged
tomasz-tomczyk merged 1 commit intomainfrom
improve-install-docs
Apr 27, 2026
Merged

feat: agent integrations — global install routing + aider automation#373
tomasz-tomczyk merged 1 commit intomainfrom
improve-install-docs

Conversation

@tomasz-tomczyk
Copy link
Copy Markdown
Owner

@tomasz-tomczyk tomasz-tomczyk commented Apr 27, 2026

Summary

  • Each integration now installs to the right path whether run from a project root or cd ~. Global skill paths follow each tool's actual discovery rules (e.g. Cline reads from ~/Documents/Cline/Rules/, not ~/.clinerules/; Copilot from ~/.agents/skills/, not ~/.github/skills/).
  • New crit install aider: writes a conventions markdown and merges an entry into ~/.aider.conf.yml under read:, preserving every other top-level key. Atomic file writes guard against partial-write corruption; multi-document YAML and BOM-prefixed input are handled defensively.
  • Windsurf rule ships with trigger: model_decision frontmatter so Cascade activates it. Global install of windsurf rejects with a clear error since Windsurf has no per-tool global rules dir.
  • integrations/README.md updated with the new project + global destination columns.

See also: tomasz-tomczyk/crit-web#132

Review

  • Code review: go-expert pass + fixup applied (atomic writes, multi-doc YAML rejection, BOM strip, globalDestKind enum, xdg-user-dir $HOME quirk handling)
  • Parity audit: paired with crit-web changes documenting the new install behavior

Test plan

  • gofmt -l . clean
  • golangci-lint run ./... clean (errorlint, gocyclo, unparam fixes applied pre-push)
  • go test -race -count=1 ./... passes (12 new tests covering aider install: project + global mode, multi-doc rejection, BOM, atomic write tempfile cleanup, malformed YAML)
  • Manual: crit install aider in a project with existing .aider.conf.yml containing read: [foo.md] and other keys preserves everything and adds .crit/aider-conventions.md
  • Manual: cd ~ && crit install windsurf fails with the explanatory error message

🤖 Generated with Claude Code

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 27, 2026

Codecov Report

❌ Patch coverage is 55.70175% with 101 lines in your changes missing coverage. Please review.
✅ Project coverage is 66.56%. Comparing base (91b0b31) to head (5ea8f16).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
aider_install.go 61.64% 38 Missing and 18 partials ⚠️
main.go 45.12% 40 Missing and 5 partials ⚠️

❌ Your patch status has failed because the patch coverage (55.70%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #373      +/-   ##
==========================================
- Coverage   66.62%   66.56%   -0.06%     
==========================================
  Files          18       19       +1     
  Lines        7964     8169     +205     
==========================================
+ Hits         5306     5438     +132     
- Misses       2259     2309      +50     
- Partials      399      422      +23     
Flag Coverage Δ
e2e 33.92% <0.43%> (-0.88%) ⬇️
unit 62.57% <55.70%> (+0.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Each integration now installs to the right path whether run from a project
root or `cd ~`. Global skill paths follow each tool's actual discovery rules
(e.g. Cline reads from ~/Documents/Cline/Rules, not ~/.clinerules).

Adds `crit install aider` automation: writes a conventions markdown and
merges an entry into ~/.aider.conf.yml under `read:`, preserving every
other top-level key. Atomic file writes guard against partial-write
corruption; multi-document YAML and BOM-prefixed input are handled
defensively.

Windsurf rule now ships with `trigger: model_decision` frontmatter so
Cascade activates it. Global install of windsurf is rejected with a clear
error since Windsurf has no per-tool global rules dir.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tomasz-tomczyk tomasz-tomczyk merged commit 331350c into main Apr 27, 2026
5 of 6 checks passed
@tomasz-tomczyk tomasz-tomczyk deleted the improve-install-docs branch April 27, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant