$ man bunary

    A small backend framework. On purpose.

    Bunary brings Laravel's conventions to Bun — as plain functions with explicit exports. No DI container, no decorators, no magic. If you can read TypeScript, you can read your whole stack.

    Read the docs$ bun add -g @bunary/cli
    routes/users.ts
    import { createApp } from "@bunary/http";
    import { User } from "../models/user";
    
    const app = createApp();
    
    app.get("/users/:id", async (ctx) =>
      User.find(ctx.params.id)
    );
    
    // that's the whole file.

    ## what "on purpose" means

    No DI container

    Dependencies are function arguments. Grep finds them; your IDE follows them.

    No decorators

    Routes are plain function calls. Nothing runs before your code does.

    Bun-native, no shims

    Bun.serve(), Bun.file(), Bun.env — used directly. No Node compatibility tax.

    Explicit exports only

    Every public API is deliberate and documented with a usage example. Nothing leaks.

    ## the five-minute tour

    app.ts
    import { createApp } from "@bunary/http";
    
    const app = createApp();
    
    app.get("/", () => {
      return { message: "Hello, World!" };
    });
    
    app.listen({ port: 3000 });

    createApp() builds the router. app.get() registers a handler and app.listen() starts the server.

    ## six packages, strictly layered

    @bunary/core── config, env, app helpers
    @bunary/http── routing, middleware, requests
    @bunary/auth── guards, authentication
    @bunary/orm── models, query builder, migrations
    @bunary/cli── scaffolding, dev tools
    bunary── the meta-package; start here

    Dependency arrows point one way. Use one package or all six.

    ## where it's at

    Bunary is v0.x and under active development — APIs may still move. It's open source and built in public: the docs, this site, and every package live at github.com/bunary-dev. If something's wrong, open an issue; if something's missing, it might be a good first PR.