IKE Tooling
IKE Build Standards 186
- Guides Developer Environment
- Parent Project IKE Tooling
- Reports Project Information 8
IKE Build Standards
ike-build-standards is a multi-classifier Maven artifact that ships versioned reference material for IKE Network projects: AI-assistant instruction files, human-readable convention documents, shared build configuration, AsciiDoc IDE-preview config, the workspace scaffold manifest, the platform-wide Built-With supplement, and the canonical Maven-Site theme.
| Coordinate | Value |
|---|---|
| Group ID | network.ike.tooling |
| Artifact ID | ike-build-standards |
| Packaging | pom |
The artifact has no compiled code. It carries content only — seven classified ZIPs, each unpacked by a different consumer.
The seven classifiers
| Classifier | What’s in it | Who unpacks it |
|---|---|---|
claude |
Markdown standards files for AI-assistant context: MAVEN.md, IKE-MAVEN.md, JAVA.md, IKE-JAVA.md, IKE-DOC.md, IKE-RELEASE.md, TESTING.md, etc. |
Each consumer project unpacks at the validate phase via maven-dependency-plugin into .claude/standards/. The local CLAUDE.md reads them. |
docs |
Human-readable convention documents in AsciiDoc format (ike-workspace-conventions.adoc, etc.) — same conventions, but rendered as proper documentation rather than instruction prose. |
The IKE doc pipeline (where applicable) — readable in any AsciiDoc viewer. |
config |
Shared static build configuration: .editorconfig, checkstyle.xml, .stignore.template. Files that should be byte-identical across every IKE workspace. |
ws:scaffold-publish writes them to the workspace root via the ScaffoldConventionReconciler. |
asciidoctorconfig |
The shared .asciidoctorconfig fragment that gives IDEs (IntelliJ, VS Code) a working AsciiDoc preview matching the build’s renderer. |
Each consuming module unpacks it so live preview matches the Maven-rendered output. |
scaffold |
The workspace scaffold manifest (scaffold-manifest.yaml) and its template files: gitignore blocks, git hooks, IDE settings, .mvn/maven.config. The manifest’s standards-version is filtered to 186 at assembly time so the consumed zip carries the concrete artifact version into the lockfile. |
ws:scaffold-{draft,publish} consult the manifest to detect drift and apply upgrades via the ScaffoldConventionReconciler. |
site-theme |
Canonical Forest-theme site.css and ike-logo.svg for the Sentry Maven Site skin. Single source of truth for the ike.network theme — bumping a color here propagates to every consumer’s site on the next ike-tooling release. |
ike-parent’s `site-resources profile (activated when src/site/ exists) unpacks at pre-site into target/generated-site/resources/, which maven-site-plugin auto-merges into target/site/. See ike-issues#318. Hosted here rather than in ike-doc-resources so `ike-tooling’s own modules can consume it (#308) without inverting the release cascade. |
built-with |
The platform-wide curated Built-With supplement (supplement.yaml) — Curated-narrative content that every project’s built-with.html page picks up so external consumers (ike-lab-documents, doc-example, example-project, etc.) get the same Curated section without authoring their own supplement. |
ike-parent’s `maven-dependency-plugin unpacks at initialize into target/built-with-supplement.yaml. The ike:built-with mojo reads it as a third-priority fallback after the per-project and walk-up locations. See ike-issues#340. |
Versioning
Standards follow the unified ike-tooling reactor version. When standards evolve, consuming projects pick up the changes on their next mvn validate (the unpack step is wired to that phase). The standards-version field in the scaffold manifest’s lockfile records which version a workspace last upgraded to, so ws:scaffold-draft can detect "this workspace is on N, current is N+3".
Why a separate module
Pulling reference material out of the consuming projects' source trees avoids three problems:
- Drift — a hand-edited
MAVEN.mdin one repo silently diverges from another’s. Centralizing means there’s one canonical version. - Version stamping — knowing which set of standards a workspace is using requires a single artifact-version pin, not a guess based on file contents.
- AI assistant context — the
claudeclassifier is the contract: Claude reads.claude/standards/*.mdafter everymvn validate, so the instructions match the build version.
Key files in claude classifier
Each filename links to the Markdown source on GitHub. The build unpacks the same files into every consuming project’s .claude/standards/ at validate phase, so the source on GitHub and the copy Claude reads at build time are the same.
| File | Scope |
|---|---|
MAVEN.md[1] |
Maven 4 build standards: POM model 4.1.0 conventions, property naming, profile structure, lifecycle phases. |
IKE-MAVEN.md[2] |
IKE-specific Maven conventions: parent architecture, doc-pipeline profile, artifact distribution, property-driven builds. |
JAVA.md[3] |
Java 25 standards: preview features, pattern matching, records, sealed classes, virtual threads. |
IKE-JAVA.md[4] |
IKE-specific Java patterns: RocksDB usage, gRPC conventions, Koncept extension development. |
IKE-DOC.md[5] |
AsciiDoc documentation project standards. |
IKE-RELEASE.md[6] |
Release process — single-segment monotonic versioning, branch cadence, tag conventions. |
IKE-RELEASE-RECOVERY.md[7] |
Recovery playbook for interrupted releases. |
IKE-WORKSPACE.md[8] |
Workspace plugin conventions; complements ws:* runtime help. |
IKE-TOPIC-DECOMPOSITION.md[9], IKE-TOPIC-REGISTRY.md[10], IKE-ASCIIDOC-FRAGMENT.md[11], IKE-ASSEMBLY.md[12], IKE-INGEST.md[13], IKE-DIAGRAMS.md[14], IKE-CLASSIFIERS.md[15], IKE-INDEX.md[16], IKE-SITE-XML.md[17], IKE-KNOWLEDGE.md[18] |
Documentation-system standards used by ike-lab-documents and other doc-only projects. |
TESTING.md[19] |
Test conventions across all IKE modules. |
Source
- GitHub:
ike-tooling/ike-build-standards[20] - Issues:
IKE-Network/ike-issues[21]