druid
alibaba/druid/AGENTS.md
Druid is Alibaba's open-source high-performance JDBC connection pool and SQL parser for Java. Version: 1.2.29-SNAPSHOT. Requirements: Java 8+ JDK, Apache Maven 3.6+ Each dialect in sql/dialect/<name>/ follows this structure: - <Name>Lexer — Lexical analyzer - <Name>ExprParser — Expression parser - <Name>StatementParser — Statement parser - <Name>OutputVisitor — SQL output visitor - <Name>ASTVisitor — AST visitor interface - <Name>SchemaStatVisitor — Schema statistics visitor - Config: META-INF/druid/parser/<name>/dialect.properties and builtin_datatypes
What's in it
- AGENTS.md — Druid Project Context
- Project Overview
- Build & Test
- Project Structure
- Key Source Paths
- Testing Conventions
- SQL Dialect Pattern
- Code Style
# AGENTS.md — Druid Project Context ## Project Overview Druid is Alibaba's open-source high-performance JDBC connection pool and SQL parser for Java. Version: 1.2.29-SNAPSHOT. ## Build & Test ```bash mvn clean install # Full build with tests mvn test -pl core # Core module tests only mvn test -pl core -Dtest=<TestClass> # Single test class ``` **Requirements:** Java 8+ JDK, Apache Maven 3.6+ ## Project Structure - `core/` — Main library: connection pool, SQL parser, filter chain, wall security, monitoring - `druid-spring-boot-starter/` — Spring Boot 2.x auto-configuration - `druid-spring-boot-3-starter/` — Spring Boot 3.x auto-configuration - `druid-spring-boot-4-starter/` — Spring Boot 4.x auto-configuration - `druid-admin/` — Cluster monitoring admin - `druid-wrapper/` — Wrapper utilities - `openspec/` — Architecture specs and change documentation ## Key Source Paths - `core/src/main/java/com/alibaba/druid/pool/` — Connection pool (`DruidDataSource`) - `core/src/main/java/com/alibaba/druid/sql/dialect/` — 30 SQL dialect parsers - `core/src/main/java/com/alibaba/druid/sql/parser/` — Core parser infrastructure - `core/src/main/java/com/alibaba/druid/sql/ast/` — AST node classes - `core/src/main/java/com/alibaba/druid/filter/` — Filter chain implementations - `core/src/main/java/com/alibaba/druid/wall/` — SQL firewall (WallFilter) - `core/src/main/java/com/alibaba/druid/stat/` — Monitoring statistics ## Testing Conventions - Tests are in `core/src/test/java/com/alibaba/druid/bvt/` (Black-box Verification Test) - SQL dialect tests use resource files: `core/src/test/resources/bvt/parser/<dialect>/*.txt` - Testing framework: JUnit 5 (migrated from JUnit 4) - Surefire pattern: `**/bvt/**/*.java` ## SQL Dialect Pattern Each dialect in `sql/dialect/<name>/` follows this structure: - `<Name>Lexer` — Lexical analyzer - `<Name>ExprParser` — Expression parser - `<Name>StatementParser` — Statement parser - `<Name>OutputVisitor` — SQL output visitor - `<Name>ASTVisitor` — AST visitor interface - `<Name>SchemaStatVisitor` — Schema statistics visitor - Config: `META-INF/druid/parser/<name>/dialect.properties` and `builtin_datatypes` ## Code Style - Java 8 compatible (source level 8) - Checkstyle enforced: `src/checkstyle/druid-checks.xml` - Visitor pattern for AST traversal - Filter-Chain (Chain of Responsibility) for JDBC interception
More agent context in alibaba/druid
10 other files this repository gives its agents.
Skill
- openspec-apply-change.cursor/skills/openspec-apply-change/SKILL.md
- openspec-archive-change.cursor/skills/openspec-archive-change/SKILL.md
- openspec-bulk-archive-change.cursor/skills/openspec-bulk-archive-change/SKILL.md
- openspec-continue-change.cursor/skills/openspec-continue-change/SKILL.md
- openspec-explore.cursor/skills/openspec-explore/SKILL.md
- openspec-ff-change.cursor/skills/openspec-ff-change/SKILL.md
- openspec-new-change.cursor/skills/openspec-new-change/SKILL.md
- openspec-onboard.cursor/skills/openspec-onboard/SKILL.md
- openspec-sync-specs.cursor/skills/openspec-sync-specs/SKILL.md
- openspec-verify-change.cursor/skills/openspec-verify-change/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

