Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/henryxm/autumn/java-import-fqngit clone --depth 1 https://github.com/henryxm/autumnWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/henryxm/autumn/java-import-fqn)<a href="https://agentmods.dev/rules/henryxm/autumn/java-import-fqn"><img src="https://agentmods.dev/badge/rules/henryxm/autumn/java-import-fqn.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.00443 |
| Opus 5 | $0.00000 | $0.00221 |
| Sonnet 5 | $0.00000 | $0.00089 |
| Haiku 4.5 | $0.00000 | $0.00044 |
Grade A, and why
java-import-fqn scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Java import 优先(禁止 FQN)
规范全文:docs/AI_CODE_STYLE.md §7;CI:bash scripts/check-java-fqn。
必须
- 跨包类型:
import+ 短类名(SysUserEntity,非cn.org.autumn.modules.sys.entity.SysUserEntity)。 - 新增/修改 Java 时,不得在方法体、字段、泛型、返回值等处写 FQN,除非下方例外。
允许 FQN 的例外
- 类名冲突:同一文件内两个不同包的同名类无法同时 import(如
java.util.Date与java.sql.Date→ 保留其一 import,另一用 FQN)。 - 同名内部类型与模型类:如
EncryptConfigHandler.RsaConfig与cn.org.autumn.model.RsaConfig。 - MyBatis
Configuration与 Spring@Configuration等同名冲突。 - 字符串中的类名(
Class.forName("…")、prop.put("…")、Quartz/自动配置 exclude 列表)——不是 Java 类型引用。 - AspectJ
@Pointcut表达式(如@annotation(cn.org.autumn.annotation.DataFilter))——字符串内不参与 Java import,须写注解 FQN。
禁止
- 无冲突时写
java.lang.reflect.Method、org.springframework.web.bind.annotation.GetMapping等 FQN。 - 用 FQN 代替 lazy import。
- 将 AspectJ
@Pointcut("@annotation(…)")里的注解 FQN 改成短类名(Pointcut 字符串不走 import)。
提交前(改 Java 时)
bash scripts/check-java-fqn
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 35 lines · 443 tokens per session scan A 259bf0d34859
java-import-fqn is a cursor rule published in the GitHub repository henryxm/autumn (49 stars, last pushed 8d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 443 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
component-parameter-key-no-dot
@ComponentParameter 的 key 禁止包含 ".",统一使用下划线 / 顶层扁平命名.
debugging
Debugging guidance for the Lineai MCP Server.
com-example-compliance-GdprService
AI rules for com.example.compliance.GdprService.
com-example-service-PublicPaymentController
AI rules for com.example.service.PublicPaymentController.
java-springboot-jpa-cursorrules-prompt-file
description: "Cursor rules for Java development with Springboot and JPA integration." globs: / alwaysApply: false.
statusline
Turn the usage statusLine on or off (model + context% + 5-hour usage% in every project) without editing config by hand. Runs bin/install-statusline.sh, which installs the script to /.claude and merges the setting without clobbering other keys. Opt-in, global, run once per machine; /statusline off disables it.