Skip to content

AdamBien/airails

Repository files navigation

airails.dev

Home of Spec-Driven BCE (sbce.space) — development conventions, SKILLS.md, and AGENTS.md for building modern Java and web applications, and for migrating legacy enterprise systems onto that stack.

Installation

Download the repository without git, then run the installer:

curl -fsSL https://raw.githubusercontent.com/AdamBien/airails/main/downloadSkills | java --source 25 /dev/stdin
cd airails
./installSkills

Or clone it with git instead of the first step:

git clone https://github.com/AdamBien/airails
cd airails
./installSkills

The installer finds all skills and prompts before copying to each supported agent directory (~/.claude/skills, ~/.vibe/skills, ~/.kiro/skills, ~/.copilot/skills, ~/.agents/skills, ~/.config/goose/skills).

Without a JDK or git, download the prepacked zip for your agent from the rolling skills release and unzip it into the home directory:

curl -fsSLO https://github.com/AdamBien/airails/releases/download/skills/airails-claude.zip
unzip -o airails-claude.zip -d ~

Each zip contains all skills with the agent's skills directory baked into the entry paths: airails-claude.zip, airails-vibe.zip, airails-kiro.zip, airails-copilot.zip, airails-codex.zip, airails-goose.zip.

AI agents installing the skills themselves should follow AGENTS.mdinstallSkills requires an interactive terminal.

Manage installed skills:

./installSkills -l           # list available and installed skills
./installSkills -d <name>    # delete a skill by name
./installSkills -h           # show help

What's Inside

Spec-Driven BCE (SBCE)

One capability spec equals one business component, and the spec is the boundary contract (sbce.space). Declare the capability, then converge the code against the stack's own test loop.

  • sbce — The workflow: new decomposes a feature into capability specs, apply converges code to spec; composes with bce and a stack skill (java-cli-app, microprofile-server, web-components)
  • ears-tests — Parameterized (table-driven) tests generated from the EARS requirement statements in a capability spec, one labeled row per requirement id

Java

  • java-conventions — Composable Java 25 code conventions: modern syntax, naming, visibility, streams, and exceptions across all Java contexts
  • java-cli-script — Zero-dependency, single-file executable Java scripts for system-wide use via PATH
  • java-distiller — Simplifies, modernizes, and refactors existing code into idiomatic Java 25
  • python-to-java — Converts Python scripts to zero-dependency Java 25 CLI programs
  • enterprisifier — Deliberately overengineers code with maximum patterns, indirections, and abstractions, for comedic or educational purposes
  • zb — Zero Dependencies Builder for compiling, building, and packaging Java 21+ projects
  • zb-release-pipeline — GitHub Actions pipeline that builds a zb project and publishes the JAR as a GitHub Release
  • zargs — Zero-dependency, enum-based argument parsing for Java CLI applications
  • zcfg — Zero Dependency Configuration Utility for loading properties and application configuration
  • zcl — Zero-dependency Colour Logger for colored terminal output in Java applications
  • zjson — JSON parsing and generation by copying the org.json source into the project, no Maven/Gradle dependency
  • zunit — Generates and runs zunit tests for java-cli-app projects

Web

  • web-conventions — Composable baseline for all web frontends: semantic HTML, accessibility, design tokens, and Baseline browser-support policy
  • web-static — Modern static websites using semantic HTML and CSS without external dependencies or build systems; composes web-conventions
  • web-components — Single-page applications using web components, BCE layering, lit-html, Redux Toolkit, and client-side routing; composes web-conventions
  • web-latest — Modifier for experiments and PoCs that lifts the Baseline browser-support policy: newest web platform features without fallbacks, with a declared support floor; composes on top of web-static or web-components
  • web-performance-reviewer — Opt-in performance review of the rendered site through Chrome DevTools MCP: throttled traces, Core Web Vitals thresholds, network waterfall, heap-snapshot leak checks for SPAs; never part of the verification loop; composes on top of web-static or web-components

BCE

  • bce — Composable, technology-neutral architecture rules for the Boundary-Control-Entity pattern: business components, layer responsibilities, and package structure
  • java-cli-app — Multi-file Java 25 CLI applications packaged as executable JARs with zb
  • microprofile-server — Architecture and coding conventions for long-running MicroProfile/Jakarta EE server applications using BCE pattern
  • continuous-testing — Test-driven loop on top of microprofile-server: builds, starts the server, and runs Unit, Integration, and System Tests after every change
  • showtime — Live coding mode on top of any project skill: generates code without running tests or builds, for demos and workshops

Migrations

Migrate legacy, overengineered enterprise systems — Java or web — onto a modern stack (migrations/). Three entry paths: rehost unchanged, replatform by simplifying in place, or rearchitect toward BCE by recovering the domain vocabulary and carving business components. Every code-changing step is bracketed by recorded behavior; analysis steps produce documentation for human review before any code changes.

  • migration-advisor — Front door: assesses the system from shallow read-only signals plus a short interview, recommends an entry path and an ordered skill sequence in migration/PLAN.md; routes, never executes
  • concept-extractor — Mines candidate domain concepts from every naming source (schema, UI labels, contracts, code); writes migration/CONCEPTS.md, seeds migration/GLOSSARY.md
  • concept-clarifier — Resolves open questions and glossary hypotheses with a domain expert, live or via migration/INTERVIEW.md; records answers with provenance
  • bc-carver — Clusters confirmed concepts into candidate business components; documents the as-is → to-be diff in migration/CARVING.md
  • concept-annotator — Projects concepts, target BC, and refactoring hints into per-package package-info.java migration notes
  • characterization-tests — Pins observed behavior of the running legacy system as replayable golden masters; records before, replays after the lift and each carving step; composes with system-tests and the stack skill
  • simplifier — Replatform mode: modernizes code and removes external dependencies on the lifted system, one pass at a time under the characterization green bar; structure preserved

Documentation

  • bce-diagrams — High-level overview diagrams showing interactions between business components, subsystems, and services
  • drawio — Draw.io overview diagrams with BCE shape mapping and consistent visual style
  • mermaid — Mermaid overview diagrams for architecture and component visualization
  • readme — Conventions for writing README.md files targeting advanced developers

Quickstarters

  • quarkus-microprofile — Quarkus MicroProfile template with BCE architecture, REST endpoints, CDI, and System Tests
  • bce.design — Web Components starter with lit-html, Redux Toolkit, and standards-based routing (Navigation API + URLPattern)
  • ebank — CRUD with Quarkus, JPA, and PostgreSQL
  • java-cli-app — Template for building zero-dependency Java CLI applications with zb
  • zeeds — Zero-dependency Java 25+ source files as starting points, run directly with java filename.java

powered by airhacks.industries

About

AI and LLM conventions for modern Java 25 CLI apps, MicroProfile servers, serverless applications, Java AWS CDK IaC, and dependency-free static web development.

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors