Shire - AI Coding Agent Language
English Introduction
Shire offers a seamless AI coding agent language, enabling large language models (LLMs) to engage in fluid dialogue with integrated development environments (IDEs) to achieve automated programming.
The concept of Shire has its roots in AutoDev, a subproject of UnitMesh. Within AutoDev, we envisioned an AI-driven integrated development environment for developers, which included Shire’s predecessor, DevIns. DevIns was designed to empower users to create custom AI agents tailored to their own IDEs, thus forging a personalized AI-powered development realm.
Chinese Introduction
PS:the Shire 一词来自于《魔戒》(LOTR)中的(夏尔)Shire,是霍比特人(Hobbit)的家园。
Shire 提供了一种简便的 AI 编码智能体语言,使大型语言模型(LLM)能够与集成开发环境(IDE)无缝交互,实现编程自动化。
Shire 的概念起源于 AutoDev,这是 UnitMesh 的一个子项目。在 AutoDev 中,我们设计了一个面向开发者的 AI 驱动集成开发环境(IDE),其中包括 Shire 的前身 DevIns。DevIns 旨在让用户能够为他们自己的 IDE 创建定制的 AI 代理,从而构建个性化的 AI 驱动开发环境。
Shire example Project: Java example
SDLC
- Code change analysis use LLM to analysis requirements, then choose the best files to change.
- Requirement + AutoCRUD analysis requirements, then auto generate CRUD code.
- Dify + OpenAPI/Swagger interactive with Dify agent to design REST API
- Add Spring doc to project add Spring doc to project.
- Generate RestAssured Test AI to generate RestAssured test code.
- Generate JavaDoc use LLM to generate JavaDoc.
- Complexity Analysis calculate code complexity.
- PlantUML: fetch Github issue for analysis fetch GitHub issue to generate mindmap.
FrontEnd:
- Frontend + HTML mockup use LLM to generate HTML mockup and show in WebView.
- Mobile + Ionic use LLM to generate mobile mockup with Ionic, show in WebView.
- Mobile + React use LLM to generate mobile mockup with React, show in WebView.
- JavaScript Auto Unittest use LLM to generate JavaScript test code.
Test:
- E2E Test: Playwright AI to use Playwright to test the API and auto execute test.
- API Test: Java use LLM to generate Java API test code.
- Unit Test: Java use LLM to generate Java unit test code.
- Unit Test: Python use LLM to generate Python unit test code.
- Unit Test: Golang use LLM to generate Golang unit test code.
Workflow & IDE Integration
- Capture web pages and generate report capture web pages and generate report.
- approvalExecute waiting for approval to execute next shire code
- Custom InlineChat custom inline chat
- Custom ChatBox custom prompt to use right panel chat box
- Python as Foreign Function Interface use Python to run shell command in thread.
- Quick Input show quick input dialog.
- Terminal Agent use terminal agent to run shell command.
EcoSystem
- Git: Auto push code auto commit and push code to server.
- Git: diff AI changed code diff AI changed code.
- Git: Commit message generate commit message.
- Git: Commit ID with Jira generate commit message with Jira ID.
- Database: GitHub issue + Design Database Schema fetch GitHub issue as context to design database schema
- Database: Run SQL in Database run SQL with
/database
command. - OpenRewrite: generate refactoring code use OpenRewrite to generate refactoring code.
- MockServer: WireMock AI to generate mock server with WireMock and auto start mock server.
- PlantUML: with remote Agent use remote agent to generate PlantUML code.
- Mermaid: with remote Agent use remote agent to generate Mermaid code.
- Sonarlint: fix issue use Sonarlint to fix issue.
Shire Resources
Shire Cheatsheet
Shire Data Architecture:
Shire Resources
- Documentation: Shire AI Coding Agent Language
- Shire Book: AI for software-engineering (Chinese only)
- Shire.Run - the shareable AI coding agent
Demo Video
Youtube:
Bilibili