JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q54455F
  • License ISC

A Rails-like CLI for building full-stack Next.js apps faster

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@alephmatic/kirimase) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Logo for Kirimase

    Kirimase

    npm_version

    Kirimase is a command-line tool for building full-stack Next.js apps faster. It supercharges your development workflow, allowing you to quickly integrate packages and scaffold resources for your application with best practices in mind.


    Kirimase Demo

    Watch the most recent demo here

    Longer demo here

    Features

    1. Initialization and Configuration: quickly add and set up essential packages to jump-start your Next.js project.
    2. Code Generation: scaffold models, views, and controllers directly from the CLI.

    Quick Start

    Install Kirimase CLI globally:

    npm install -g kirimase

    If you don't already have a Nextjs app, run create-next-app with your preferred package manager.

    Then run the following command within the directory of your project:

    kirimase init

    Note: Kirimase is not compatible with the the pages directory.

    Commands

    Run these commands within the directory of your Nextjs app:

    1. kirimase add

    Initializes and configures the following packages for your Next.js project, categorized into:

    ORM

    Drizzle-ORM

    • Based on your chosen database type (PostgreSQL, MySQL, SQLite), Kirimase sets up the required files for Drizzle-ORM, drizzle-zod for validations and and drizzle-kit to manage migrations.
    • Scripts are auto-added to package.json for immediate use of drizzle-kit.

    Prisma


    Authentication

    Auth.js

    • Generates files for Auth.js (Next-Auth), including the latest Drizzle adapter. (For PlanetScale, references are excluded as it doesn't support foreign keys).
    • Generates a generic sign-in component for immediate use within your Next.js project.
    • Wraps the root layout with the auth provider and generates utilities for auth checks and redirects in your Next.js routes.

    Clerk

    • Generates files for Clerk including all necessary config.
    • Wraps the root layout with the auth provider and generates utilities for auth checks and redirects in your Next.js routes.

    Lucia

    • Generates files for Lucia including all necessary config.
    • Generates UI and API routes for sign-in and sign-up

    Kinde

    • Generates files for Kinde including all necessary config.
    • Generates sign in component and route handler

    Other

    tRPC

    • Generates files to configure tRPC with the app router.
    • Provides client-side tRPC and scaffolds server-side configuration using the experimental server-invoker pattern.
    • Wraps the root layout in the tRPC provider.

    Shadcn-UI

    • Installs and configures Shadcn-UI including button and toast components.
    • Inserts the toast-provider (<Toaster />) to the root layout for instant toast notifications in your Next.js app.

    Stripe

    • Installs and configures Stripe within your Next.js project so you can start accepting subscription payments.

    Resend

    • Installs and configures Resend

    Kirimase also adds relevant keys to your .env which you'll need to provide values for.


    2. kirimase generate

    Akin to rails scaffold but for Next.js:

    Kirimase generates:

    a) Model:

    • Generates a drizzle schema with column types based on your SQL flavor and database provider.
    • Uses drizzle-zod to generate Zod schemas for frontend and backend validation.
    • Generates queries and mutations for CRUD operations, fully typed and optimized for consumption via a Next.js front-end.

    b) Controller:

    • Gives you an option to integrate tRPC and/or API routes.
    • Uses Zod schemas from models for request validation.
    • Includes built-in error handling for API routes and auto-adding of tRPC routes to the root router.

    c) Views:

    • Scaffolds views using Shadcn-UI to enable immediate CRUD operations (including select fields for adding relations and datepickers for dates).

    Run in non-interactive mode

    As of v0.0.23, you can run kirimase init and kirimase add entirely via the command line as follows:

    kirimase init -sf yes -pm bun --orm prisma -db pg -a next-auth -ap github discord -mp trpc stripe resend -cl shadcn-ui -ie yes
    Command Short Flag Long Option Description Argument
    init - - initialise and configure kirimase -
    - -sf --src-folder use a src folder yes or no
    - -pm --package-manager package manager <pm>
    - -cl --component-lib component library <component-lib>
    - -o --orm orm <orm>
    - -db --db database ("pg", "mysql", "sqlite") <db>
    - -dbp --db-provider database provider - important if using drizzle <dbp>
    - -a --auth auth <auth>
    - -ap --auth-providers auth providers (if using next-auth) <providers>
    - -mp --misc-packages packages ("trpc", "shadcn-ui", "resend") <packages>
    - -ie --include-example include example yes or no

    Contributing

    Keen on enhancing Kirimase? Contributions, bug reports, and feature requests are always welcome. Feel free to open an issue or submit a pull request.

    To run locally:

    pnpm i
    pnpm run dev
    
    npm install -g . (in a second terminal - this will then make kirimase available across your machine using "kirimase *command*")

    License

    MIT