feat: add Avian coding assistant support#772
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
✅ Files skipped from review due to trivial changes (3)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdds an Avian ToolCommandAdapter and wires it into the adapters barrel and CommandAdapterRegistry, registers Avian in AI_TOOLS, updates docs, and adds adapter tests. ChangesAvian adapter integration
Sequence Diagram(s)sequenceDiagram
participant User
participant CommandGen as Command Generator
participant Registry as CommandAdapterRegistry
participant AvianAdapter as Avian Adapter
participant FileSystem as File System
User->>CommandGen: Request command generation for 'avian'
CommandGen->>Registry: Lookup adapter for 'avian'
Registry-->>CommandGen: Return avianAdapter
CommandGen->>AvianAdapter: getFilePath(commandId)
AvianAdapter-->>CommandGen: ".avian/commands/opsx/<commandId>.md"
CommandGen->>AvianAdapter: formatFile(content)
AvianAdapter-->>CommandGen: Formatted markdown with YAML frontmatter
CommandGen->>FileSystem: Write formatted content to file path
FileSystem-->>User: Command file created
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryAdds Avian as a supported AI coding tool following OpenSpec's adapter pattern, consistent with other tools like Crush and Claude Code.
Confidence Score: 5/5
Important Files Changed
Class Diagram%%{init: {'theme': 'neutral'}}%%
classDiagram
class ToolCommandAdapter {
<<interface>>
+string toolId
+getFilePath(commandId: string) string
+formatFile(content: CommandContent) string
}
class CommandAdapterRegistry {
-Map~string, ToolCommandAdapter~ adapters
+register(adapter: ToolCommandAdapter) void
+get(toolId: string) ToolCommandAdapter
+getAll() ToolCommandAdapter[]
+has(toolId: string) boolean
}
class avianAdapter {
+toolId: "avian"
+getFilePath(commandId)
+formatFile(content)
}
class claudeAdapter {
+toolId: "claude"
+getFilePath(commandId)
+formatFile(content)
}
class crushAdapter {
+toolId: "crush"
+getFilePath(commandId)
+formatFile(content)
}
ToolCommandAdapter <|.. avianAdapter : implements
ToolCommandAdapter <|.. claudeAdapter : implements
ToolCommandAdapter <|.. crushAdapter : implements
CommandAdapterRegistry o-- ToolCommandAdapter : registers
avianAdapter --> CommandAdapterRegistry : registered in static block
Last reviewed commit: 952533d |
Add Avian as a supported AI coding tool with skill and command generation. Follows the same adapter pattern as Claude Code and Crush with nested opsx command directories and YAML frontmatter.
952533d to
b899e0a
Compare
|
Friendly follow-up — this PR is still active and ready for review. Would appreciate a look when you get a chance! cc @TabishB |
|
Friendly follow-up — this PR is still active and ready for review. All feedback has been addressed. Would appreciate a look when you get a chance! cc @TabishB |
|
Hey @TabishB — friendly follow-up on this PR. Avian is an OpenAI-compatible inference provider that's already live and powering apps like ISEKAI ZERO. This is a lightweight integration (standard OpenAI-compatible endpoint) and we're happy to address any feedback or make adjustments. Would love to get this merged if you have a moment to review. Thanks! |
|
Resolved merge conflicts with latest upstream main. |
Summary
.avian/config directory with nestedcommands/opsx/<id>.mdcommand paths and YAML frontmatter (name, description, category, tags)Changes
src/core/config.ts— add Avian toAI_TOOLSarray (skillsDir:.avian)src/core/command-generation/adapters/avian.ts— new command adaptersrc/core/command-generation/adapters/index.ts— export adaptersrc/core/command-generation/registry.ts— register adapterdocs/supported-tools.md— add Avian to tool directory table and available tool IDstest/core/command-generation/adapters.test.ts— 5 new tests for adapter (all passing)Test plan
pnpm run buildcompiles successfullypnpm test— all 87 adapter tests pass (5 new Avian tests included)available-tools.test.tspassescc @TabishB
Summary by CodeRabbit
New Features
Documentation
Tests