vratix
v1.1.1
Published
Easy-to-use, open-source modules that implement common API logic for seamless integration into Node.js APIs.
Downloads
252
Maintainers
Readme
Vratix CLI
Overview
Easy-to-use, open-source modules that implement common API logic to simplify backend development.
We created this library of reusable Node.js API Modules to simplify API development because we were wasting too much time setting up basic functionality and researching the latest backend best practices. We wanted a repository of high-quality API modules we can reuse, copy and paste into our projects and have a working backend in seconds.
This led us to build a high-quality repository of reusable API modules that address common functionality used in every backend service.
These modules have been reliably built by us, following best practices with minimal assumptions so you can integrate them into any API project and have full ownership and control of your codebase.
Currently, the modules work for Express.js, however, we’re actively working to extend compatibility with other backend languages and popular Node.js frameworks. We would be more than happy for you to contribute and help us achieve this faster.
Installation
You’re free to copy and use any code from the API Module Library — it's designed to be a foundation you can build on.
To simplify setup and integration, we created a CLI tool that helps you start new projects or integrate our API Modules into existing ones. The CLI handles imports, configurations, and dependencies automatically, so you can get up and running in minutes.
Start a New Project
Use the init
command to create a new Node.js project or configure an existing one.
Add the -c
flag to specify a custom folder, or the CLI will set up the project in the current directory:
npx vratix-cli init
Configure Your Project
The CLI will prompt you with a few questions to configure your project and create ./config/modules.json
:
Select your package manager: › pnpm
What database are you going to use: › PostgreSQL
Select your schema validator: › zod
Should we set up Docker containers for this service (docker-compose.yaml): › no / yes
Should we configure a web proxy for this project (NGINX): › no / yes
Choose API Modules
During setup, select any initial API Modules you’d like to install as part of the project template:
☐ Auth (Basic)
☐ Stripe Subscriptions
☐ S3 File Upload
☐ None
If you choose "None" you can add modules individually after setup.
Set Folder Overrides
Customize the paths for main module folders if needed:
@components -> /src/components
@routes -> /src/routes
@middleware -> /src/middleware
@utils -> /src/utils
Note: Any folder overrides will still be located within
/src
.
Ready To Go
Once setup is complete, run:
npm run dev
to start your service.
To add additional modules later, simply use:
npx vratix-cli add auth-basic
Usage
init
Use the init
command to create a new project using our Node.js template or to add a .config/modules.json
file to an existing project.
npx vratix init
This command installs the template, sets up package.json
, and configures the project based on your choices.
Options
Usage: vratix init|i [options]
Initialize project
Options:
-c, --cwd <cwd> The working directory. Defaults to the current directory.
-h, --help Display help for the command
add
The add
command allows you to add new API modules to your project. It checks if both package.json
and .config/modules.json
exist in the project directory.
If these files are missing, use the init command first.
npx vratix add <module>
This command installs all relevant files for the specified module, manages dependencies, and adjusts import
statements as needed.
Options
Usage: vratix add [options] [module...]
Add an API module to your project
Arguments:
module The name of the module you want to add
Options:
-c, --cwd <cwd> The working directory. Defaults to the current directory.
-h, --help Display help for the command
module [command]
You can use the module
commands to create and publish new API modules to your private registry.
npx vratix module [command]
NOTE: To publish API modules you need to authenticate your CLI session using the
login
command
Options
Usage: vratix module|m [options] [command]
Private module commands. Use them to create, validate and publish Private API Modules.
Options:
-h, --help display help for command
Commands:
new Create a new API Module, this will create the necessary files and directories for your new module.
publish [options] Publish your API Module to your Vratix registry.
help [command] display help for command
login
To publish or install Private API Modules you need to authenticate your CLI session. To do this use the login
command:
npx vratix login
This will open a browser window and ask you to verify an 8 character code shown in your terminal. The code will look something like this 6AF2-4CPI
.
You need to have a Vratix account to be able to authenticate your CLI session. Create a new account.
Options
Usage: vratix login [options]
Authenticate your CLI session with your Vratix account.
Options:
-h, --help display help for command