filipebraida

17 mods across 1 repository, 94 stars between them.

actions-events

03

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Action + event pattern for AdonisJS. Actions are single-purpose classes with .handle(input); they never touch HttpContext and never call side-effect code (mail, notifications, transmit) directly — they emit a domain event and a listener wired in /start/events.ts runs the effect. Use when adding a new action, wiring a…

94 22d ago A 111 tokens original MIT

attachment

04

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

File uploads with derived variants in an AdonisJS app via @jrmc/adonis-attachment. @attachment() decorator on a Lucid model + converters config drives image resize/reformat (e.g. webp thumbnails). URLs are pre-computed on read via a model helper. Use when adding an upload field, changing a converter, testing…

94 22d ago A 107 tokens original MIT

authorization

05

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

RBAC + Bouncer pattern in an AdonisJS + Inertia app. Capabilities live in a PERMISSIONS const, role slugs in ROLES; a WithRoles mixin composes into User to expose hasPermission / hasRole / syncRoles; BasePolicy subclasses gate routes; the frontend consumes a typed useCan() prop. Escalation is protected in depth. Use…

94 22d ago A 145 tokens original MIT

crud

06

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Build an end-to-end CRUD stack in AdonisJS + Inertia: resource route → thin controller → VineJS validator → Bouncer policy → single-purpose action → transformer variant → Inertia page. Trigger on: "add CRUD for X", "create resource", "list/create/edit/delete X", "resource endpoint".

94 22d ago A 66 tokens original MIT

git-commit

07

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Execute a git commit that follows semantic conventional-commits — type, optional scope, imperative subject in English under 70 chars, body explaining WHY. User-invoked via /git-commit or "/commit".

94 22d ago A 47 tokens original MIT

i18n

08

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Locales are declared in config/i18n.ts (supportedLocales, defaultLocale, loaders). Translation JSON lives per module at app/ /resources/lang/ / .json. Keys are namespaced by module (common.layout.navMain.dashboard), so the file at app/common/resources/lang/en/common.json doesn't repeat common. inside — the loader adds…

94 22d ago A 105 tokens original MIT

inertia

09

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Inertia + React 19 patterns in an AdonisJS app. Pages resolve from module dirs (app/ /ui/pages/), shared props flow from a middleware, forms use useForm + Tuyau urlFor for type-safe URLs, and modals go through a controller helper. Use when adding an Inertia page, writing a form, reading shared props, or wiring a route…

94 22d ago A 122 tokens original MIT

layout-shells

10

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Layout shells in an AdonisJS + Inertia app. Instead of a runtime layout chooser, each context has its own purpose-built shell that coexists as a distinct React component. Every page picks its shell explicitly by import. Use when adding a new page (which shell to import), when adding a new area of the app (which shell…

94 22d ago A 103 tokens original MIT

mail

11

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Transactional email in an AdonisJS app — @adonisjs/mail classes extending BaseMail, MJML templates via a shared @email.layout component, and mailContext() for appName/appUrl. Never author raw HTML+CSS blocks. Use when adding a new email, editing an existing template, testing mail with mail.fake(), or wiring the SMTP…

94 22d ago A 107 tokens original MIT

migrations

12

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Lucid migrations in this starter kit. Convention here is edit the existing create table.ts migration + run migration:fresh, not layering altertable migrations on top — this is a starter kit, no production data. Migration paths are declared per module in config/database.ts. app/core/database/schema.ts is auto-generated…

94 22d ago A 141 tokens original MIT

module-scaffolding

13

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

How to add a new module to this AdonisJS monorepo — prefer node ace make:module, which scaffolds and wires every touchpoint. User-invoked via /module-scaffolding when wiring a module by hand or adding a piece later.

94 22d ago A 59 tokens original MIT

notifications

14

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

In-app notifications + realtime SSE in an AdonisJS + Inertia app. Stack: @facteurjs/adonisjs for the notification classes and delivery channels + @adonisjs/transmit for the SSE transport. Notifications persist to Postgres and push to a per-user SSE channel. Bell + unread badge in the logged-in shell. Emission goes…

94 22d ago A 130 tokens original MIT

queries

15

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Read-only query patterns in an AdonisJS + Inertia app — two flavors. List queries for CRUD tables (Lucid paginator with search + filter + sort). Read models for aggregate screens (dashboards, reports) with one query per business concept composed by the controller. Types live in the query file and cross to the frontend…

94 22d ago A 106 tokens original MIT

routes

16

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Route definitions in an AdonisJS module. Prefer router.resource(...) for CRUD verbs; put verb-only actions (activate, publish, finalize) as separate router.post/get/delete(...). Always pin numeric params with router.matchers.number() — otherwise a non-numeric URL falls through to the controller and blows up on the…

94 22d ago A 98 tokens original MIT

testing

17

filipebraida/adonisjs-starter-kit

Skill Claude CodeCodex

Japa test patterns for an AdonisJS app. Functional specs hit real Postgres wrapped in per-test transactions; unit specs stub deps with sinon. Fakes are mandatory for anything that reaches out (mail, drive, emitter, transmit). Trigger on: "write test", "add spec", "cover with tests", "how do we test X", "mock", "fake"…

94 22d ago A 82 tokens original MIT