
Security News
arXiv Is Rate Limiting Authors Following a Flood of AI Slop Submissions
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.
@init-computer/cli
Advanced tools
Init is a programmable backend platform. Use the official CLI to generate, deploy, and run backend endpoints from your terminal.
Init CLI Overview
Get started
Install Authenticate Quickstart
Guides
Generate an endpoint Run an endpoint Edit an endpoint Projects Use with AI agents Send files Manage resources
Reference
Commands Global options Environment variables Output Errors
Generate, deploy, and run backend endpoints from your terminal.
Init is a programmable backend platform. Describe the capability you need, and Init creates and operates the API, data, storage, and runtime behind it.
The init command brings that to terminal workflows, scripts, CI jobs, and local debugging. Use it to deploy endpoints, run them, edit versions, manage resources, and hand your backend to other AI agents.
Requires Node.js 18 or later. More at init.computer.
npm install -g @init-computer/cli
Create an account at init.computer to get an API key, then log in:
init login --api-key init_sk_...
Or run init login with no flag to paste the key interactively.
Check or clear your session:
init auth status
init logout
The CLI saves credentials to ~/.init/config.json. Treat that file like a secret.
Set INIT_API_KEY instead of logging in:
export INIT_API_KEY=init_sk_...
For local development, the CLI also reads INIT_API_KEY from a .env file in the current directory. It checks an explicit flag first, then the process environment, then .env. It reads that one key only and never uploads, lists, or syncs .env files.
From a prompt to a live, callable endpoint in three steps.
resourceId and route from the response.init run.init generate "Create a lead enrichment API. Input: companyName, website, targetPersona. Output: companySummary, buyingSignals, nextSteps. Return structured JSON only."
init run abc123 \
--data companyName=Snowflake \
--data website=https://www.snowflake.com \
--data targetPersona="VP Sales"
init generate creates a deployed backend endpoint from a prompt.
init generate "Create a lead enrichment API. Input fields: companyName, website, targetPersona. Output fields: companySummary, buyingSignals, recommendedPersonas, nextSteps. Research the company and return structured JSON only."
For long prompts, pass a JSON request body:
init generate --body request.json
{
"prompt": "Create a lead enrichment API for B2B sales teams. Input fields: companyName string required, website url required, targetPersona string optional. Output fields: companySummary string, buyingSignals array with title evidence urgency, recommendedPersonas array with role reason outreachAngle, nextSteps array of strings. Store each generated brief and return structured JSON only.",
"projects": ["Sales"]
}
| Field | Use it to |
|---|---|
url, route | Run the deployed endpoint |
resourceId | Inspect, edit, organize, or version the endpoint |
versionId | Identify this version of the endpoint |
| Input and output schema | See what the endpoint accepts and returns |
| Generated pipeline | See the steps the endpoint runs |
Save the resourceId if you plan to change the endpoint later.
init run calls a generated endpoint. Use the route or full url, not the resourceId.
init run abc123 --data companyName=Snowflake --data website=https://www.snowflake.com --data targetPersona="VP Sales"
init run https://api.init.computer/v1/abc123 --body input.json
cat input.json | init run abc123 --body -
Pass the endpoint's resourceId to init generate. Init keeps the same resource and creates a new version.
init generate "Keep the same behavior, but add csv and confidenceScore outputs." --resource-id resource_uuid
A project is a suite of related endpoints. You can create and edit the whole suite from a prompt, instead of building one endpoint at a time.
init project generate "Build ticket intake and status lookup" --name "Customer Support"
init project edit <project-id> "Add ticket assignment"
You can also add a single endpoint to a project when you generate it, with the projects field in the request body (see Generate an endpoint).
Init creates an init.json specification for what you build. It describes your backend's endpoints in a form other AI agents can read, so an agent can find your endpoints and call them without a hand-written integration.
To let an agent use your backend:
init.json.Agents call your deployed endpoints with an API key. Use a key you can revoke, and keep it out of prompts and shared files.
Endpoints that need uploads accept files with --file:
init run quarterly-report-reader \
--file file=report.pdf \
--data summaryStyle=executive
To send multipart input from a request file:
init run quarterly-report-reader --body multipart-request.json
A resource is an API you have generated.
init resources
init resources --q lead --status enabled
init resource resource_uuid
init resource resource_uuid versions
init resource resource_uuid activate version_uuid
init resource resource_uuid update --body patch.json
Example patch.json:
{
"name": "Lead Enrichment",
"status": "enabled"
}
| Command | What it does |
|---|---|
init login | Save an API key (--api-key or interactive) |
init logout | Clear saved credentials |
init auth status | Show current authentication |
init generate | Create an endpoint, or a new version with --resource-id |
init run | Call an endpoint by route or URL |
init resources | List endpoints; filter with --q and --status |
init resource | Inspect one endpoint; subcommands versions, activate, update |
init project generate | Generate a project suite |
init project edit | Extend an existing project |
| Flag | Purpose |
|---|---|
--data key=value | Set an input field. Repeat for more fields. |
--file field=path | Upload a file for an input field |
--body <path|-> | Send a JSON or multipart body from a file, or stdin with - |
| Option | Purpose |
|---|---|
--api-key <key> | Use an API key without saving it |
--base-url <url> | API origin. Defaults to https://api.init.computer |
--json | Print compact JSON |
--pretty | Print pretty JSON |
| Variable | Purpose |
|---|---|
INIT_API_KEY | API key for CI or server use |
INIT_API_BASE_URL | API origin override |
INIT_CONFIG_DIR | Where credentials are saved. Defaults to ~/.init |
The CLI prints pretty JSON by default. Use --json for compact output in scripts:
init resources --json
Failed requests print JSON with success: false, error, and status.
| Status | Meaning | What to do |
|---|---|---|
402 | Plan limit reached | Upgrade your plan or enable overages |
429 | Too many concurrent requests | Retry after current runs finish |
500 | Internal server error. The public response is intentionally broad. | Retry; contact support if it persists |
503 | Init is temporarily unavailable | Retry shortly |
Run this from a repository root to create a project and write its canonical contract into that repository:
init project apply . "Build customer ticket intake and a ticket status endpoint" --name "Customer support"
When init.json exists, Init reads project.id, applies the requested edit to that same project, then writes the updated contract back to the same file:
init project apply ./init.json "Add ticket assignment and include the assigned team in status results"
The CLI reads only INIT_API_KEY from the local process environment or local .env; it never uploads .env contents. An explicit --api-key takes precedence.
FAQs
Init is a programmable backend platform. Use the official CLI to generate, deploy, and run backend endpoints from your terminal.
The npm package @init-computer/cli receives a total of 760 weekly downloads. As such, @init-computer/cli popularity was classified as not popular.
We found that @init-computer/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.

Research
/Security News
A new GhostAction wave hits hundreds of GitHub repos, expanding CI/CD secret theft to cloud and AI credentials in source code and git history.

Research
/Security News
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.