> ## Documentation Index
> Fetch the complete documentation index at: https://gleanfeed.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI quickstart

> Connect a repository and complete the first feedback-to-roadmap-to-changelog loop in five minutes.

This path starts with browser sign-in and ends with a reviewable changelog draft.
Nothing publishes automatically.

## Prerequisites

You need:

* Node.js 20 or later and an existing Git repository.
* A browser. You can sign in to an existing Glean Feed account or create an
  account and workspace during CLI login.
* A feedback board that accepts submissions. Sending a request to Linear also
  requires a configured Linear connection.
* A profile name. The examples use `indie`; choose a stable local name.

Review [authentication](/api/authentication) and the [scope table](/api/scopes)
instead of granting broader access than this path needs.

## 1. Install and authenticate

```bash theme={null}
npm install --global @gleanfeed/cli
gleanfeed auth login --profile indie
```

The CLI opens Glean Feed in your browser. Sign in or create an account, choose a
workspace, review the requested scopes, and approve access. If the browser does
not open, copy the printed URL into a browser.

```bash theme={null}
gleanfeed auth status --profile indie
```

<Check>
  Authentication succeeded when the status output names profile `indie`, the expected workspace ID,
  your role, and the granted scopes.
</Check>

## 2. Connect the repository

Run from anywhere inside the Git repository:

```bash theme={null}
gleanfeed init --profile indie
gleanfeed config validate
gleanfeed whoami
```

`init` writes `.gleanfeed.json` at the Git root. It contains only a schema
version, profile selector, workspace ID, and optional non-secret defaults. Review
it before deciding whether to commit it.

<Check>
  `config validate` reports a valid version 1 file, and `whoami` reports the same workspace as the
  authenticated profile. The file must not contain an API key, token, API endpoint, or machine path.
</Check>

## 3. Capture and find feedback

Use a board slug from the dashboard. If the repository config already has
`defaultBoard`, omit `--board`.

```bash theme={null}
gleanfeed feedback create \
  --board product-ideas \
  --title "Let exports filter by board" \
  --description "A customer needs a board-specific CSV for weekly review."
```

Copy the returned request ID, then verify the stored request:

```bash theme={null}
gleanfeed feedback get REQUEST_ID
gleanfeed feedback list --search "exports filter" --limit 10
```

<Check>
  Both reads show the same request ID, title, board, and current stage. The request also appears in
  the workspace dashboard.
</Check>

## 4. Connect a coding agent

Preview the owned MCP configuration before changing it:

```bash theme={null}
gleanfeed agent install --dry-run
gleanfeed agent install
gleanfeed agent status
```

Complete OAuth in each client reported by the command. For example, run
`codex mcp login glean-feed` for Codex; other client-specific steps are listed in
[Agents and CI](/api/cli-agents-ci).

Verify with a read-only prompt:

```text theme={null}
Summarize this Glean Feed workspace, then list the five most recent feedback requests. Do not change anything.
```

<Check>
  The agent names the expected workspace and includes the request created in the previous step.
</Check>

## 5. Move the accepted request

Choose one reviewed destination.

<CodeGroup>
  ```bash Promote to roadmap theme={null}
  gleanfeed feedback promote REQUEST_ID planned --yes
  ```

  ```bash Send to Linear theme={null}
  gleanfeed feedback send-to-linear REQUEST_ID --yes
  ```
</CodeGroup>

Promotion preserves the original request, votes, and comments. Linear delivery
uses the workspace's configured destination unless you pass documented
overrides. Safe retries return the existing linked item or issue.

<Check>
  `feedback get REQUEST_ID` includes the linked roadmap item or active Linear issue, and the target
  appears in the dashboard.
</Check>

## 6. Draft the customer update

```bash theme={null}
gleanfeed changelog draft \
  --title "Board-specific exports" \
  --body "Exports can now be limited to one feedback board." \
  --feedback REQUEST_ID \
  --idempotency-key quickstart-board-exports
```

Copy the entry ID and inspect the server copy:

```bash theme={null}
gleanfeed changelog get ENTRY_ID
```

<Check>
  The entry has `state: "draft"`, contains the reviewed customer-facing text, and links the original
  feedback. It is not visible on the public Updates page until separately published.
</Check>

## Cleanup and revocation

If this was a disposable test, delete the draft and remove only the MCP entries
owned by Glean Feed:

```bash theme={null}
gleanfeed changelog delete ENTRY_ID
gleanfeed agent uninstall
gleanfeed auth logout --profile indie
```

Delete `.gleanfeed.json` if the repository should no longer select this
workspace. Logout attempts to revoke the browser grant, then always removes the
local credential.

<Warning>
  `changelog publish`, roadmap moves, feedback stage/status changes, and Linear delivery can affect
  customers or external systems. Review the preview and use `--yes` only after the intended write is
  clear.
</Warning>
