Skip to content
@arandu-io

Arandu

Go framework for services, APIs and high-performance structured monoliths. The architecture is not a convention you follow — the compiler enforces it.

Arandu

Arandu

A Go framework for services, APIs and high-performance structured monoliths.

About Arandu

The architecture is not a convention you are asked to follow — the compiler enforces it, and when something does go wrong the error names the likely cause.

A security.Grant has only unexported fields, and every repository signature takes one before the id. Reaching the database without it is not a review comment; it is a build that does not complete.

Everything a real application needs is in the box:

  • Authorization no repository call can skip, and a tenant read from the grant rather than the request
  • Views that compile, with the error at the line you wrote and not in generated output
  • Database, cache, queue, filesystem, sessions and validation
  • Background jobs, an outbox written in the same transaction as the row that caused it, and a scheduler that holds a lock per replica
  • WebSockets over the Pusher protocol, every channel behind a policy
  • A request console, a timeline and an N+1 detector in the core, allocating nothing when off
  • A component library in the shadcn/ui idiom, on Basecoat's CSS, with HTMX and Alpine where behaviour is needed
  • A CLI that scaffolds a project, a module, the views and the deploy

One binary goes to the server. No runtime to install, no node_modules, and no build step that lives on somebody's machine.

Arandu serves the three shapes an application takes — a service, a REST API a mobile or React client consumes, and a monolith with its own screens — without asking you to choose a different framework for each.

Getting started

brew install arandu-io/tap/aru
aru new my-app
cd my-app && aru serve

It runs on SQLite in a file, with the cache in the process. Nothing else has to be installed to see the first page. Moving to Postgres and Redis is DATABASE_URL, CACHE_STORE and REDIS_URL, and nothing else.

The ecosystem

framework the boot sequence and typed configuration, and the authorization every repository call goes through
hesape the components it is built from: database, cache, queue, filesystem, auth, validation, sessions and the rest
aru the CLI: scaffold a project, generate a module, build the views, migrate, serve, and diagnose
arandu the project skeleton, which aru new clones
kyse the component library: import it and draw a screen
ui the starter kit: the authentication screens, published into your project
joaju the WebSocket server, speaking the Pusher protocol
mcp expose an application to an AI client, through the policies it already has
examples a complete application to read, with the security and observability demonstrations
homebrew-tap the Homebrew formula for aru

Learning Arandu

The API reference is generated from the doc comments and lives on pkg.go.dev. Every exported symbol carries one, and that is deliberate: it is the documentation that cannot drift from the code, because it sits in the same file.

The CLI documents itself. aru help lists every command, and each one explains what it writes and what to do with it. aru doctor explains what it found and what breaks, not which rule was violated.

A guide and a website do not exist yet, and that is a decision rather than a gap: a guide written against an API that still moves is work done twice, and the second time is worse — there is wrong documentation published.

If you would rather read code than prose, examples is a complete application.

Contributing

Contribution guides live in each repository, and issues and pull requests belong to the one they concern.

Security vulnerabilities

Please review the security policy of the repository concerned on how to report a vulnerability. Never open a public issue for one.

License

Open-sourced software licensed under the MIT license.

Popular repositories Loading

  1. arandu arandu Public

    The Arandu project skeleton, which aru new clones.

    Go 58 31

  2. framework framework Public

    Build web applications, services and REST APIs in Go. Authorization no repository can slip past, and errors that name the likely cause.

    Go 3 1

  3. aru aru Public

    The Arandu CLI: scaffold a project, generate a module, build views, migrate, serve, and diagnose.

    Go 1

  4. ui ui Public

    The Arandu starter kit: nine authentication screens, published into your project.

    Go 1

  5. package-skeleton package-skeleton Public template

    The repository you clone to write an Arandu package. A module with its policy, its repository and its manifest already correct, and a configure step that runs once.

    Go 1

  6. examples examples Public

    Example Arandu application: the canonical module, and the security and observability demonstrations.

    Go

Repositories

Showing 10 of 13 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…