Vibetags
VibeTags is a Java annotation processor that acts as AI guardrails for code generation tools like Cursor, Claude, Gemini, and Codex CLI. It allows developers to control AI…
Install
git clone https://github.com/PIsberg/vibetagsInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →VibeTags — AI Guardrails for Java Development
VibeTags is a compile-time Java annotation processor that generates AI platform-specific guardrail files from source annotations — zero runtime overhead, all from a single mvn compile.
At a glance: 44 annotations → guardrails for 29 AI platforms, written as 46 config files and 16 scoped-rule directories. These numbers are the single source of truth for the project's scope; other docs link back here rather than restating them. A platform is a tool, not a file — Cursor is one platform with both
.cursorrulesand.cursorignore. (All four counts verified byProjectFactsConsistencyTest.)
Why VibeTags?
.cursorrules, CLAUDE.md, and similar files are hand-edited by each developer, grow inconsistent across the team, and go stale the moment the code changes. VibeTags makes your AI configuration source-controlled and compile-enforced:
- Annotate once, all platforms updated — add
@AILockedtoPaymentProcessorand every AI tool's guardrail file is regenerated on the next compile. No more per-developer copy-pasting across every generated config file. - Derived from the code, not separate from it — guardrails live next to the code they protect. When the code moves, the rules move with it.
- Granular rules keep the always-loaded context slim — opt a platform's scoped-rules directory in (
.claude/rules/,.cursor/rules/,.windsurf/rules/,.github/instructions/,.gemini/rules/) and its aggregate file collapses to an index: only the safety buckets (@AILocked,@AICore,@AIPrivacy,@AIIgnore,@AIAudit,@AISecure) stay inline, and the per-element detail loads on demand when the matching source file is opened (Gemini CLI does not read.gemini/rules/itself, soGEMINI.md's index tells the agent to open the file). This repository dogfoods it — the generated block in its ownCLAUDE.mdis 71 lines, with 370 lines of per-element detail sitting in.claude/rules/until they are relevant. Without it, that file grows linearly with every annotated element. See USAGE.md. - Zero runtime cost —
RetentionPolicy.SOURCEannotations are erased at compile time; nothing reaches the JVM. - CI-enforceable — opt-in check mode (
-Avibetags.check=true) fails the build when guardrail files have drifted from the annotations, and the locked-files GitHub Action fails any PR whose diff touches@AILockedcode. See USAGE.md.
⚡ Add VibeTags to Your Project in 60 Seconds
Maven
1. Add to pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>se.deversity.vibetags</groupId>
vibetags-bom</artifactId>
<version>1.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>se.deversity.vibetags</groupId>
vibetags-annotations</artifactId>
</dependency>
</dependencies>
Similar plugs
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies
Bash is all you need - A nano claude code–like 「agent harness」, built from 0 to 1
Documented system prompts from Anthropic - Claude Fable 5.1, Opus 5.5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro,…
Wrap Antigravity, ChatGPT Codex, Claude Code, Grok Build, Muse Code, Devin as an OpenAI/Gemini/Claude/Codex compatible API service, allowing you to enjoy the free Gemini…