bollydog-framework

star 0

Design and build async microservice systems using the bollydog framework. Use when creating a new bollydog project, adding features, or auditing an existing system design.

3sy11 By 3sy11 schedule Updated 6/10/2026

name: bollydog-framework description: >- Design and build async microservice systems using the bollydog framework. Use when creating a new bollydog project, adding features, or auditing an existing system design.

Bollydog Framework

Async microservice framework built on mode. Commands as executable units, Hub as central dispatcher, Protocols as pluggable data layers.

How to Use This Skill

Two reference documents drive development. Do NOT read them in full — use the indexes below and read by line range (offset/limit).

Document Lines Role
sop.md 857 8-Phase workflow — what to do, in what order
spec.md 619 Architecture, API, constraints — how things work

Rule: Every SOP step must comply with spec.md. Conflicts -> spec.md wins.

sop.md Index

Section Lines Read When
Overview + Deliverable Map 11-43 Starting a project, understanding the flow
P0 Scenario Narrative 44-70 Writing user stories
P1 Domain Boundary 71-109 Partitioning bounded contexts
P2 Behavior Design 110-154 Designing Command/Event/Subscriber
P3 Service Responsibility 155-220 Protocol composition, lifecycle hooks
P4 End-to-End Tracing 221-268 Drawing sequence diagrams
P5 Interface Contract 269-337 Signatures, data models, serialization
P6 Behavior Verification (TDD) 338-451 Writing tests, test pyramid
P7 Walking Skeleton 452-605 Building skeleton, TOML config, stubs, run_execute
P8 Iterative Delivery 606-803 Issue protocol, registry, commit convention
Design Audit 804-820 Quality gate checklist
Test Pyramid 821-844 Layer 1-4 test structure
Quick Reference 845-857 Phase summary table

spec.md Index

Section Lines Read When
Architecture Overview 10-36 Understanding system structure (Bootstrap, Hub, ExecuteService)
Quick Start 37-68 First-time setup
Dispatch Pipeline 69-103 Two modes, CommandRunnerMixin, Hub vs ExecuteService
Command Patterns (4 types) 105-174 Designing commands
Globals (request-scoped) 176-192 Using hub/session/apps context vars
Destination & Topic 193-200 Naming conventions, _derive
Exchange (pub/sub) 201-232 Subscriber/fan-out design
Hooks (before/after) 233-246 Middleware hooks
Session 247-261 Session management (get/set/delete/history)
AppService Design 262-286 Service class design, apps registry
Protocol System 287-374 Base, ABC, implementations, composites
TOML Configuration 375-471 Config file structure, parse_config, build_services, Bootstrap
CLI 472-490 Command-line interface, fuzzy resolve, service vs execute
Environment Variables 491-542 Env var naming, all variables
Design Rules 543-552 Hard constraints
Testing Strategy 553-611 Four-layer model, fixtures, run_hub/run_execute
Troubleshooting 612-619 Common issues

Workflow Summary

All development — including the initial build — is issue-driven.

1. Create docs/issues/YYYYMMDD-name/
2. Write stories + design (P0-P5) in issue directory
3. Read REGISTRY -> intersection analysis
4. Maintain Registry Delta in notes.md
5. Write tests (P6) + build skeleton (P7)
6. Update REGISTRY.md, commit with delta trailers

Commit Convention

Merge commits use Conventional Commits header + Git Trailers. REGISTRY.md is a pure current-state snapshot; traceability lives in git history only.

<type>(<scope>): <summary>

Issue: YYYYMMDD-name
Delta: + service FooService domain=x protocol=BarProtocol
Delta: ~ command DoThing dest=x.Foo.DoThing
  • + add / ~ modify / - remove
  • Entity types: service / command / event / protocol / depends / config
  • Only on merge commit; search via git log --grep="Delta.*EntityName"

Hard Constraints

  1. Command names: imperative verbs; Event names: past tense
  2. destination: three-segment domain.ServiceAlias.CommandAlias
  3. Command __call__ params/return: primitive types only
  4. AppService must not dispatch — only Commands dispatch
  5. Protocol must be replaceable with MemoryProtocol for testing
  6. module is a framework-reserved TOML key
  7. Layer 1-3 tests: no Hub; Layer 4: run_hub or run_execute fixture
  8. CLI command is service (not serve); entrypoints toggled by env vars

Deliverables

docs/
├── REGISTRY.md           <- Pure current-state snapshot (no history columns)
└── issues/
    └── YYYYMMDD-name/
        ├── stories.md    <- P0-P3
        ├── sequence.md   <- P4
        ├── interfaces.md <- P5
        └── notes.md      <- intersection + decisions + registry delta
tests/
└── test_*.py             <- P6: four-layer tests

Additional Resources

  • sop.md — complete development workflow
  • spec.md — framework architecture and API
  • issue.md — design issue tracking
Install via CLI
npx skills add https://github.com/3sy11/bollydog --skill bollydog-framework
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator