# Quickstart (/cli)



`geni` is the General Input CLI. It lets an AI coding agent on your machine (Claude Code, Cursor, Codex, anything that can run shell commands) reach into the integrations you've connected (Slack, Gmail, GitHub, Stripe, your CRM, your calendar) and **do things with them on your behalf**, without ever seeing the actual passwords or tokens.

You don't need to write code. Tell the agent what you want; `geni` figures out which credential to use and how to call the right API.

## 1. Install [#1-install]

```sh
curl -fsSL https://generalinput.com/install.sh | sh
```

Then log in:

```sh
geni login
```

This opens your browser for a one-time approval. Approve, and you're authenticated.

## 2. Connect an integration [#2-connect-an-integration]

Connect a service like Slack, Gmail, or GitHub from the CLI:

```sh
geni credential connect slack
```

That opens the integration's page in your General Input dashboard, where you finish authorizing. You can also skip this step and ask the agent ("I want to use Slack"). It knows to run `geni credential connect` for you.

## 3. Teach your AI agent about geni [#3-teach-your-ai-agent-about-geni]

```sh
geni skills install
```

Detects your AI coding agent (currently Claude Code, more coming) and drops a skill file the agent loads automatically. From now on, every conversation in that agent already knows how to use `geni` correctly.

## 4. Verify [#4-verify]

```sh
geni doctor
```

Confirms everything's wired up. If anything's wrong, it tells you how to fix it.

## 5. Ask your agent to do things [#5-ask-your-agent-to-do-things]

Talk to your agent like you'd talk to a colleague. Some examples:

> Send a message to my `#engineering` Slack channel saying "shipping the new feature today."

> Look at my last 10 Gmail messages and summarize what I missed.

> Open a GitHub issue on `acme-corp/website` titled "Hero image is blurry on mobile."

> What's my MRR this month? Pull from Stripe.

> Add a calendar event tomorrow at 3pm called "design review" and invite [jack@example.com](mailto:jack@example.com).

You describe the outcome; the agent picks the right integration and runs it through `geni`. Secrets never appear in the agent's transcript, and every credential access is audit-logged.

## Workflows [#workflows]

A one-off question is something you ask the agent right now. A **workflow** is something you ask the agent to set up once and have us run forever: every weekday at 9am, every time a Stripe payment fails, every time a new row lands in your spreadsheet.

The agent builds workflows on your machine and runs them in the cloud. You edit the files with your normal tools; the cloud validates, configures, publishes, and runs test executions. Four resource types: **code** (deterministic, fixed steps), **agent** (LLM-driven, variable-length tasks), **app** (an interactive React mini-app with server-side handlers), and **skill** (a `SKILL.md` instruction bundle the platform's agents load as context).

```sh
geni resource create --type code --name "Daily Digest"   # scaffold the files
geni resource validate                                    # spec + types, no publish
geni resource publish --summary "..."                     # promote to live
geni workflow test --payload '{}'                         # run it in the cloud
```

See [`geni resource`](/cli/resource) for the full build loop and command reference, and [Building resources](/cli/resource/code) for the code / agent / app / skill contracts.

## Where to go next [#where-to-go-next]

<Cards>
  <Card title="Browse what's connected" href="/cli/credential">
    `geni credential` — list, get, connect new credentials.
  </Card>

  <Card title="Find operations to call" href="/cli/integration">
    `geni integration` — browse the integration catalog.
  </Card>

  <Card title="Run things" href="/cli/exec/bash">
    `geni exec bash` — the execution primitive.
  </Card>
</Cards>
