filipebraida

17 mods across 1 repository, 96 stars between them.

actions-events

01

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: warn 111 tokens original MIT

attachment

02

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 107 tokens original MIT

authorization

03

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 145 tokens original MIT

crud

04

filipebraida/adonisjs-starter-kit

Skill Claude Code

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".

not rated 96 2mo ago A SkillSpector: pass 66 tokens original MIT

git-commit

05

filipebraida/adonisjs-starter-kit

Skill Claude Code

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".

not rated 96 2mo ago A SkillSpector: pass 47 tokens original MIT

i18n

06

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 105 tokens original MIT

inertia

07

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 122 tokens original MIT

layout-shells

08

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 103 tokens original MIT

mail

09

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 107 tokens original MIT

migrations

10

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 141 tokens original MIT

module-scaffolding

11

filipebraida/adonisjs-starter-kit

Skill Claude Code needs its repo

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.

not rated 96 2mo ago A SkillSpector: pass 59 tokens original MIT

notifications

12

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 130 tokens original MIT

queries

13

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 106 tokens original MIT

routes

14

filipebraida/adonisjs-starter-kit

Skill Claude Code

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…

not rated 96 2mo ago A SkillSpector: pass 98 tokens original MIT

testing

15

filipebraida/adonisjs-starter-kit

Skill Claude Code

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"…

not rated 96 2mo ago A SkillSpector: pass 82 tokens original MIT

At most 3 mods per repository are shown here, and a mod shipped inside a plugin is left to that plugin's page — the rest are on their repository pages: