Your First App in 15 Minutes
In this guide, you'll install the revenexx CLI, authenticate, register a cloud function (App) from its manifest, and deploy it live. Let's go.
1. Install the CLI
Option A: npm (Node.js 18+)
npm install -g @revenexx/cli
revenexx -v
# Output: revenexx 1.x.x
You'll need npm configured with GitHub Packages access. See Prerequisites: GitHub Personal Access Token for details.
Option B: Homebrew (macOS / Linux)
brew install revenexx-sdks/cli/revenexx
revenexx -v
# Output: revenexx 1.x.x
Option C: Download a binary (any platform)
Grab the asset for your platform from the latest release — this is the route to use on Windows if you don't have npm:
curl -fsSL -o revenexx https://github.com/revenexx-sdks/cli/releases/latest/download/revenexx-darwin-arm64
chmod +x revenexx && sudo mv revenexx /usr/local/bin/revenexx
revenexx -v
# Output: revenexx 1.x.x
2. Authenticate
The CLI uses token-based authentication (no email/password). Create a Personal Access Token in Cockpit first, then authenticate.
Get your token
- Log in at app.revenexx.com
- Navigate to Account → Tokens
- Click Create Token and copy it
Authenticate via CLI
Sign in with your token and the tenant you're working in:
revenexx login --token <your-token> --tenant <your-tenant-slug>
The CLI validates the token against the gateway (https://api.revenexx.com) and saves your credentials in ~/.revenexx/prefs.json for future commands. In CI, set REVENEXX_API_KEY and REVENEXX_TENANT instead of running login.
There is no project file and no init step — context comes from your login session, environment variables, and the active tenant. Switch tenants any time with:
revenexx tenants use <your-tenant-slug>
See Authentication for the full credential-resolution order.
3. Define Your App
An App is a serverless cloud function described by a manifest.json. Create a project directory with your code and a manifest:
mkdir my-revenue-app
cd my-revenue-app
manifest.json
The manifest declares the App's identity, runtime, and what it can access. A minimal example:
{
"name": "hello-world",
"vendor": "acme",
"version": "1.0.0",
"title": "Hello World",
"runtime": "node-20"
}
See the Manifest Reference for every field.
index.js (Node.js example)
Write your first piece of business logic. Here's a starting point that does something slightly more revenexx-flavored than a hello-world — it returns a stub response shaped like an order-created event handler:
export default async (req, res) => {
const orderId = req.body?.order_id || 'demo-order'
return res.json({
received: true,
order_id: orderId,
processed_at: new Date().toISOString(),
note: 'In a real app this is where you would react to order.created — update inventory, notify a fulfillment system, send a confirmation email.',
})
}
You don't need to declare event subscriptions yet — that's part of the App Model. For now this function is just a callable HTTP endpoint. See App Model Concept when you're ready to wire it into the platform's event bus, give it its own database table, or surface it in Cockpit.
4. Register the App
Register the App with the platform from its manifest:
revenexx apps register --manifest manifest.json
Confirm it's registered and note its function id:
revenexx apps list
5. Deploy
Create a deployment from your code and activate it in one step. Use the function id from the previous step:
revenexx apps create-deployment --function-id hello-world --activate true --code .
To deploy from a connected Git repository instead, use apps create-vcs-deployment. Run revenexx apps <command> --help for the exact flags.
Your function is now live. Cockpit shows a public endpoint where you can invoke it.
6. Test Your Deployment
Copy the endpoint from Cockpit and test it:
curl https://api.revenexx.com/v1/functions/hello-world/executions
# {
# "message": "Hello from revenexx!",
# "timestamp": "2025-05-26T12:34:56.000Z"
# }
What's Next?
Troubleshooting
Token expired?
Re-authenticate: revenexx login --token <new-token> --tenant <your-tenant-slug>
Deployment failed?
Review the deployment and its build status: revenexx apps list-deployments --function-id hello-world (and view build logs in Cockpit).
Can't find the CLI?
Verify installation: which revenexx (Unix) or where.exe revenexx (Windows). If missing, reinstall.