Start Crafting Your Next Great Idea

Full-stack Typescript meta-framework.

Combining the best of Javascript

Features

In addition to everything AdonisJS has to offer, AAXT adds:

  • AlpineJS, HTMX and Tailwind — Installed, configured and ready to go.

  • HTMX Fragments — Automatically receive what's needed; from entire pages, fragments or nothing!

  • Caching — Out of the box on server (using BentoCache) and client (using ETag).

  • Structured views — Using Adonis's Edge templating system.

  • Transitions — Animate between HTMX requests using HTMX, AdonisJS or CSS transitions.

  • Preload — Super responsive navigation thanks to the HTMX preload extension.

Get started

Just an npm install away.

Replace my-axxt-project with the name of your project.

Frequently asked questions

Here are some of the most common frequently asked questions.

Why another framework/boilerplate?

Quite simply; I wanted something that was end to end Typescript that didn't feel like a frontend framework trying to be full-stack. AdonisJS gives you the powerful Rails/Laravel-like framework in Typescript with baked in routing, database ORM, etc. while AAXT supplies a standard, best practice way to serve your frontend code.

Why not InertiaJS?

Inertia is great, but it requires a whole heap of configuration in Adonis and your front end to get it working. AAXT replaces this with HTMX and a small middleware that automatically handles the HTML to serve based on the request. It also allows prefetching, html fragments and whole page refreshes. Sending HTML fragments can save a lot of network traffic as you are not sending the whole page every time a user requests it.

Can you add x to AAXT?

I feel like AAXT is pretty feature complete and I don't want it to become too large, but if you really think there is something I've missed create an issue on Github and we can discuss. Otherwise, the framework is open source so feel free to fork it and add it yourself.

Why are my fragments and pages out of sync?

This can occur in development when HTML fragment caches are not re-generated during a hot-reload. By default, AAXT uses an in memory cache which can be cleared simply by restarting your application. If you are using a different caching technology you will need to handle the clearing in your code as you would any other cache.

You could also selectively turn off caching in development.

What is AAXT best used for?

It can be used for any website or web application, however it really shines for projects that require a backend server. This way you have all the benefits of a staticly generated site (with "islands") but with the backing of a full MVC serverside framework.

Where's the database?

I don't want to assume what database you want to use so AAXT doesn't include Lucid ORM by default. Just follow the Lucid installation steps and configure your DB of choice.