Skip to content

bunito-dev/bunito

Repository files navigation

bunito

NPM Version License MIT

bunito is a small Bun-first TypeScript framework for building applications with modules, dependency injection, lifecycle hooks, configuration, logging, HTTP controllers, and broker-based messaging.

The project is intentionally split into focused packages. You can start with @bunito/bunito for the core application APIs, then add feature packages such as @bunito/http or @bunito/broker when you need them.

Source files use role postfixes such as .module.ts, .service.ts, .controller.ts, .config.ts, and .exception.ts. The CLI-generated project shape follows the same convention.

Examples 🚀

The best way to understand the current API is to read and run the examples. Start with the examples guide: examples/.

Packages 📦

  • @bunito/cli: initialize, generate, run, and build bunito projects
  • @bunito/bunito: convenience entrypoint for core application APIs
    • @bunito/app: application bootstrap, lifecycle coordination, and app hooks
    • @bunito/container: dependency injection, modules, providers, scopes, and lifecycle hooks
    • @bunito/config: typed config factories, environment parsing, and secrets
    • @bunito/logger: injectable loggers, trace helpers, and output transports
    • @bunito/common: shared exceptions, predicates, type helpers, and utilities
  • @bunito/broker: broker decorators, request/reply APIs, and local or NATS adapters
  • @bunito/bun: Bun server and secrets integrations
  • @bunito/http: HTTP controllers, routing, middleware, CORS, validation, and exceptions
  • @bunito/testing: test context factories and mock helpers for bunito packages

Development 🛠️

bun run typecheck
bun run lint
bun run test
bun run coverage

Tests live next to the implementation files they cover. CLI behavior is covered through mocked filesystem, build, and process-runner tests so command behavior can be validated without spawning real apps.

For contribution notes, see CONTRIBUTING.md.

License

MIT

About

bunito core repository

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Contributors