JBCT

Generate Java backend use cases with monadic Result, Option, and Promise types.

16|4|Updated Oct 3, 2025
One-click install
npx skills add https://github.com/siy/coding-technology --skill jbct
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: JBCT
Source: https://github.com/siy/coding-technology/tree/main/ai-tools/skills/jbct
Command: npx skills add https://github.com/siy/coding-technology --skill jbct

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

JBCT provides a structured methodology for writing predictable, testable Java backend code using monadic patterns, value objects, and use-case driven design.

Core Features & Use Cases

  • Four Return Kinds: T, Option<T>, Result<T>, Promise<T> with typed failures.
  • Parse, Don't Validate: Construct valid states at creation time to avoid invalid instances.
  • Six Structural Patterns: Leaf, Sequencer, Fork-Join, Condition, Iteration, Aspects.
  • Use Case Architecture: Validated inputs, nested steps, growing-context data, and clear data flow.
  • Project Organization: Vertical slices, domain/shared value objects, and adapter boundaries.

Quick Start

Install and use the JBCT tooling to explore fundamentals, patterns, and complete use-case templates:

  • Read the fundamentals and patterns sections in this skill.
  • Use the jbct-coder subagent to generate complete use cases.
  • Use the jbct-reviewer subagent for compliance checks and refactoring.

Frequently Asked Questions about JBCT

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Java backend code using monadic patterns and typed failures?

Structure Java backend code using monadic patterns by adopting four return kinds—T, Option<T>, Result<T>, and Promise<T>—with typed failures. This ensures predictable, testable data flow by composing logic through six structural patterns like Leaf, Sequencer, and Fork-Join.

What is the parse-don't-validate pattern for Java value objects?

The parse-don't-validate pattern for Java value objects constructs valid states at creation time, preventing invalid instances from existing. This approach replaces runtime validation checks with guaranteed valid domain models within structured use cases.

How do I organize a Java project into use cases and vertical slices?

Organize a Java project into vertical slices with domain and shared value objects, defining clear adapter boundaries. Use case architecture requires validated inputs, nested steps, and growing-context data to ensure clear, predictable data flow.

Can I automate Java use case generation and compliance checks?

Automate Java use case generation and compliance checks using the jbct-coder and jbct-reviewer subagents. The jbct-coder generates complete use cases, while jbct-reviewer performs quality checks and refactoring against deterministic backend patterns.

What are the six structural patterns for composing Java backend logic?

The six structural patterns for composing Java backend logic are Leaf, Sequencer, Fork-Join, Condition, Iteration, and Aspects. These patterns define how nested steps interact within use cases to maintain predictable data flow and typed failures.

When should I use Result and Option types instead of exceptions in Java?

Use Result and Option types instead of exceptions when writing predictable Java backend code that requires typed failures. This monadic approach makes invalid states unrepresentable and ensures testable use case logic without exception-driven control flow.