fort-knox-component-architecture

Structure code into modular Fort Knox components with Clean Architecture.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/jordanfbrown/dotfiles --skill fort-knox-component-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fort-knox-component-architecture
Source: https://github.com/jordanfbrown/dotfiles/tree/main/claude/dot-claude/skills/fort-knox-component-architecture
Command: npx skills add https://github.com/jordanfbrown/dotfiles --skill fort-knox-component-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Fort Knox component architecture helps teams structure codebases into clear, bounded contexts using Clean Architecture patterns to improve maintainability and scalability.

Core Features & Use Cases

  • Defines clear component boundaries (public, domain, adapters, services) to separate concerns.
  • Guides where to place use cases, strategies, repositories, and adapters.
  • Use cases: orchestration of business flows; Strategies: interchangeable logic; Services: tech plumbing.

Quick Start

Use this guide to structure a new Fort Knox component by placing business logic in domain/use_cases, interchangeable logic in domain/strategies, data access in domain/repositories, adapters, and external calls in services.

Frequently Asked Questions about fort-knox-component-architecture

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

FAQPage Schema
How do I structure a modular monolith with clean architecture and bounded contexts?

Domain-driven design separates business logic into bounded contexts, while clean architecture layers enforce dependency rules between domain use cases, repositories, and external adapters. This separation prevents domain logic leakage and keeps business rules isolated from technical plumbing.

Where should I place use cases, repositories, and adapters in a clean architecture component?

Place use cases in domain/use_cases for business flow orchestration, strategies in domain/strategies for interchangeable logic, and repositories in domain/repositories for data access. Adapters and external calls go in the adapters layer, while services handle technical plumbing.

When should I separate concerns into different component boundaries in a modular monolith?

Separate concerns when creating new components or adding use cases, repositories, adapters, or services. Defining clear public, domain, adapters, and services boundaries prevents logic mixing and enforces consistent architectural rules across the codebase.

What is the difference between a use case and a strategy in domain-driven design?

A use case orchestrates business flows, whereas a strategy provides interchangeable logic. Both belong in the domain layer but serve distinct purposes within the component architecture.

Can I use this component architecture guidance for adding new services to an existing codebase?

Yes, this architecture guidance applies when adding new use cases, repositories, adapters, or services to an existing codebase. It enforces a consistent folder layout and boundary rules across both new and existing modular components.