Biome plugins
@di-framework/biome is a set of Biome GritQL plugins for applications written with di-framework. The rules match source patterns that fail at startup, load the wrong package, or put secrets in a guest binding.
The plugins are syntactic. Missing registrations, cycles, and bounded-context edges still belong to ApplicationContext.start() and buildSemanticSchema().
Installation
@di-framework/biome 6.x publishes from di-framework/di-framework (packages/di-framework-biome). Peer: @biomejs/biome@^2.5.0. It ships in the framework 6.0.5 release.
biome.json:
unsafeParameterDecoratorsEnabled lets Biome parse @Component on constructor parameters. Plugin paths resolve from the application root, so the package must be installed in node_modules.
@di-framework/biome enables every rule. @di-framework/biome/correctness is the same set without the 5.x package renames (no-wasmcloud-package, no-cli-plugin-wasmcloud) and the deprecated @di-framework/socket/bun alias.
Suppress one finding with // biome-ignore lint/plugin/<rule-file-name>: reason. The file name is the .grit basename, such as no-bootstrap-decorator.
Rules
Rule | Catches |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
| Unscoped |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@GeneratedValue is checked by two plugin files, no-generated-value-without-id and no-generated-value-without-id-property, so both name!: and name: fields are covered. no-actors-testing-import is included for every file except tests. The other rules apply to the whole project.
no-plaintext-binding-secret tells you to reference the secret with secretFrom. See native service bindings. no-bad-cron-expression matches the scheduling contract: a 5-field expression or a millisecond interval.
Next steps
Runtime type checks - Emit-time parameter guards
Best practices - Recommended application patterns
Authentication - Session and bearer secrets
Platform -
@WasmCloudBindingconfiguration