What’s New in Shire 0.5? AI Coding Agent Gains SonarQube, Git, and Data‑Guarding Features
Shire 0.5 introduces SonarQube issue support, Git‑enabled ShireQL queries, a reranking function for RAG, and new data‑guarding capabilities like the redact function and customizable secret‑pattern YAML, enabling developers to securely build AI‑powered coding agents that leverage IDE assets while protecting sensitive information.
Overview
Shire 0.5 is the latest release of the open‑source AI coding agent that runs inside an IDE. It adds deeper integration with local development assets, native Git queries, and data‑security functions for use with public LLMs.
Key new capabilities
Direct access to SonarQube issues for the current file.
Extended ShireQL language with native Git commit queries.
Custom RAG enhancements, including a reranking function.
Data‑guarding functions such as sed for regex redaction and redact with a configurable .shireSecretPattern.yaml file.
SonarQube issue integration
When the SonarQube plugin is installed, Shire exposes two variables: sonarIssues – list of SonarQube issues for the current file. sonarResults – detailed result objects for each issue.
These variables can be used in Shire scripts to automate quality checks and generate fix suggestions.
---
variables:
$sonarResults
---
# Use $sonarResults to generate a fix suggestionShireQL Git support
ShireQL now allows queries over Git commit history. The following example selects commits authored by "Phodal Huang" before the current date:
---
variables:
"phodalCommits": {
from { GitCommit commit, Date date }
where { commit.authorName == "Phodal Huang" and commit.authorDate <= date.now() }
select { commit.authorName, commit.authorEmail, commit.message }
}
---
$phodalCommitsFull documentation for ShireQL is available at https://shire.phodal.com/shireql
Data‑guarding functions
The sed function now supports regular‑expression based redaction. Example that masks OpenAI keys:
---
variables:
"var2": /.*ple.shire/ {
cat | sed("(?i)\\b(sk-[a-zA-Z0-9]{20}T3BlbkFJ[a-zA-Z0-9]{20})(?:['|\"|
|\r|\s|\x60|;]|${'$'})", "sk-***")
}
---
Summary webpage: $var2The dedicated redact function uses a YAML configuration ( .shireSecretPattern.yaml) to define custom patterns (e.g., Slack tokens, phone numbers) that are automatically masked during data processing.
---
patterns:
- pattern:
name: SlackToken
regex: "(xox[pborsa]-[0-9]{12}-[0-9]{12}-[0-9]{12}-[a-z0-9]{32})"
confidence: high
---Custom secret‑pattern configuration
Projects can add a .shireSecretPattern.yaml file that follows the same schema as the built‑in patterns, allowing teams to define additional sensitive‑data rules.
Reranking for Retrieval‑Augmented Generation (RAG)
A new reranking function reorders retrieved documents before they are sent to the LLM. Currently only the lostInTheMiddle mode is supported, with more rerankers planned for coding‑specific scenarios.
.shire file suffix recommendation
When a file with the .shire suffix is created, the IDE detects whether the Shire plugin is installed and prompts the user to install it if missing, streamlining the workflow for building AI agents.
Conclusion
Shire 0.5 provides deeper IDE integration, secure data handling, and richer query capabilities, enabling developers to build custom AI coding agents that respect privacy while leveraging existing development assets. Contributions and issue reports are welcomed on the project’s GitHub repository.
phodal
A prolific open-source contributor who constantly starts new projects. Passionate about sharing software development insights to help developers improve their KPIs. Currently active in IDEs, graphics engines, and compiler technologies.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
