---
title: "alis ideate"
url: "https://docs.alisx.com/reference/projects/cli/"
---
# alis ideate

The `alis ideate` command group reads the context an Ideate project holds and adds notes and files to it. It is made for scripts and coding agents as much as for people: every command prints plain text by default and the underlying resource with `--json`. Voice memos, screen recordings and links stay in the console.

```bash
alis ideate <command> [arguments] [flags]
```

`alis docs ideate` prints the operating manual for this group. The global flags `--json`, `--verbose`, `--cwd` and `--approve` apply to every command; see the [CLI command reference](https://docs.alisx.com/reference/cli/index.md#global-flags).

## Naming

- A project is `ideas/<id>`; the bare `<id>` works everywhere the full name does. The CLI says *project* where the API says *idea*.
- An artifact is `artifacts/<id>`; older ones are `specs/<id>`.
- A contribution is `ideas/<id>/streams/<id>`; the CLI says *contribution* where the API says *stream*. Each completed interview session contributes one `INTERVIEW` stream.
- Bare contribution ids need `--project`. A bare artifact id stands alone; `--project` is checked when given.
- `list`, `find` and `--new-project` work in your active account: the one `alis accounts list` shows as selected and `alis accounts select accounts/<id>` switches.

## Commands

| Command | Purpose |
|---|---|
| [`context`](#alis-ideate-context) | Map what a project holds. The entry point. |
| [`list`](#alis-ideate-list) | List the projects you can see. |
| [`find`](#alis-ideate-find) | Find projects by meaning. |
| [`artifacts read`](#alis-ideate-artifacts-read) | Print one artifact. |
| [`contributions`](#alis-ideate-contributions) | List a project's contributions. |
| [`contribution`](#alis-ideate-contribution) | Print one contribution and the text of its files. |
| [`graph`](#alis-ideate-graph) | Show who contributed what. |
| [`add note`](#alis-ideate-add-note) | Add a markdown note. |
| [`add files`](#alis-ideate-add-files) | Upload files as one contribution. |
| [`add research`](#alis-ideate-add-research) | Start web research on a project. |
| [`research`](#alis-ideate-research) | Read a research's progress, report and sources. |

---

## alis ideate context

```bash
alis ideate context <project> [flags]
```

Prints the map of one project: everyone involved, every artifact and every contribution, including completed interview evidence, each by its id with a line on what it covers, and none of them in full. Run it first when you hold a project reference, then read only the parts that matter.

The map has these parts: a header (title, id, state, account, `last activity`); a **Still settling** note when new material may still land; **People**, each marked as having contributed or not; **Artifacts**; **Contributions**, each with contributor, date and summary; and the commands that read one part in full.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `-h`, `--help` | bool | | Help. |

`--json` emits the same map as the underlying response.

```bash title="Example"
alis ideate context my-project
alis ideate context ideas/my-project --json
```

## alis ideate list

```bash
alis ideate list [flags]
```

Lists the projects you have access to in the active account, most recently updated first. Archived projects are hidden unless `--archived` is passed.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--archived` | bool | false | Include archived projects. |
| `--filter` | string | | A CEL expression over the API's Idea resource, for example `Idea.state = 2` for active projects only. Overrides the default archived filter. |
| `--limit` | int | 25 | Maximum projects to return. |

```bash title="Example"
alis ideate list --limit 5
```

```text title="Output"
ideas/<id>  —  <title>  [ACTIVE]
```

With `--json`: `{"projects": [{"name", "title", "state", "account", "updateTime"}], "nextPageToken"}`.

## alis ideate find

```bash
alis ideate find <description> [flags]
```

Searches projects semantically in the active account. Describe the topic in a sentence rather than keywords. Matching works on one facet of each project's synthesised outputs, so a project created minutes ago may not be findable yet, and an empty result means nothing matched, not that no such project exists.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--dimension` | string | `brief` | Facet to match against: `brief`, `pain-points`, `stakeholders`, `technology`, `current-process` or `intent`. |
| `--limit` | int | 20 | Maximum results. |

```bash title="Example"
alis ideate find "reducing onboarding time for new advisers" --dimension pain-points --json
```

## alis ideate artifacts read

```bash
alis ideate artifacts read <output-artifact> [flags]
```

Prints an artifact's markdown. The bare id from `context` works on its own, as do full `artifacts/*` and legacy `specs/*` names.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--project` | string | | The project the id came from. Checked, not used to find the artifact: an id belonging to another project fails instead of printing that project's document. Pass it whenever the id came off a project's map. |

```bash title="Example"
alis ideate artifacts read <output-artifact> --project my-project
```

## alis ideate contributions

```bash
alis ideate contributions <project> [flags]
```

Lists a project's contributions (typed notes, voice memos, screen recordings and uploaded documents), oldest first, with who contributed each and what it is about. This is the contributions section of `context`.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `-h`, `--help` | bool | | Help. |

## alis ideate contribution

```bash
alis ideate contribution <contribution> --project <project> [flags]
```

Prints one contribution as markdown (a note's text, a memo's or recording's transcript, the note an upload came with), followed by a map of its files: what each holds, how long it runs, and the parts it divides into with the lines that read them. With `--file`, prints that file's extracted text instead. Download links in the output are signed and expire after about twenty minutes.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--project` | string | | The project a bare contribution id belongs to. Not needed with a full `ideas/*/streams/*` name. |
| `--file` | int32 | | Print this file's text instead of the map: its number in the file list. |
| `--lines` | string | | With `--file`, the lines to print: `120-240`, `120-` or `-240`, numbered as the section list numbers them. |

```bash title="Example"
alis ideate contribution <contribution> --project my-project
alis ideate contribution <contribution> --project my-project --file 1 --lines 120-240
```

## alis ideate graph

```bash
alis ideate graph <project> [flags]
```

Prints the project's contribution graph: the people involved, the contributions they made, and how they relate. Useful for seeing whose perspective is represented and whose is missing.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `-h`, `--help` | bool | | Help. |

---

## alis ideate add

```bash
alis ideate add <note|files|research> [flags]
```

Adds to a project as your own contribution. Everyone on the project sees what you add. Each `add` command asks for confirmation; `--yes` skips it and has the same effect as the global `--approve`. A note or files print the new contribution.

## alis ideate add note

```bash
alis ideate add note (--project <project> | --new-project <title>) (--text <markdown> | --file <file>) [flags]
```

Adds a markdown note, stored as written and treated like a note typed in the console. Write it for someone who was not there: what was found or decided, the numbers and names that matter, what is still open, and which document it came from.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--project` | string | | The project to add the note to (`ideas/*` or the bare id). |
| `--new-project` | string | | Start a project with this title in the active account and make the note its first contribution. Replaces `--project`. |
| `--text` | string | | The note, as markdown. |
| `--file` | string | | A markdown file holding the note. `-` reads stdin. |
| `--yes` | bool | false | Skip the confirmation prompt. |

```bash title="Example"
alis ideate add note --project my-project --file note.md --yes
cat findings.md | alis ideate add note --new-project "Adviser onboarding" --file -
```

## alis ideate add files

```bash
alis ideate add files (--project <project> | --new-project <title>) <file>... [--note <markdown>] [flags]
```

Uploads one or more files as a single contribution. The project reads each file and writes an overview of it; the files stay downloadable from the project. Each file's type comes from its extension: documents (pdf, docx, pptx, xlsx, csv, md, txt), images (png, jpg, webp), audio, video, code and zip. A type a project cannot read is rejected before anything is created.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--project` | string | | The project to add the files to (`ideas/*` or the bare id). |
| `--new-project` | string | | Start a project with this title and make the files its first contribution. Replaces `--project`. |
| `--note` | string | | Markdown saying what the files are and why they matter. |
| `--yes` | bool | false | Skip the confirmation prompt. |

```bash title="Example"
alis ideate add files --project my-project board-pack.pdf figures.xlsx --note "June board pack; the figures sheet has the churn numbers"
```

## alis ideate add research

```bash
alis ideate add research (--project <project> | --new-project <title>) (--prompt <markdown> | --file <file>) [--reference <ref>]... [--continue <research>] [flags]
```

Starts web research on a project, contributed by you. Google Deep Research reads the web and writes a cited report; most runs take five to twenty minutes. The command returns as soon as the research has started. Write the prompt as a brief: the question, the context it needs and how the report should read. The research gets nothing from the project but the prompt and what you reference.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--project` | string | | The project to research for (`ideas/*` or the bare id). |
| `--new-project` | string | | Start a project with this title and make the research its first contribution. Replaces `--project`. |
| `--prompt` | string | | What to research, as markdown. |
| `--file` | string | | A markdown file holding the prompt. `-` reads stdin. |
| `--reference` | string, repeatable | | Context from the same project, up to 20: an artifact, or a contribution, optionally narrowed to some of its files as `<contribution>#1,3`. |
| `--continue` | string | | A finished research on the same project to follow up; its question and report open the new one. |
| `--yes` | bool | false | Skip the confirmation prompt. |

```bash title="Example"
alis ideate add research --project my-project --file brief.md --yes
```

## alis ideate research

```bash
alis ideate research <research> [--project <project>] [flags]
```

Prints a research's question and how the run stands, then its summary, report and numbered sources once it is ready, or why it failed. Ideate checks a run every two minutes, so reading it more often shows nothing new. `alis ideate context` lists a research among the contributions; pass its bare id with `--project`, or the full `ideas/*/streams/*` name on its own.

| Flag | Type | Default | Meaning |
|---|---|---|---|
| `--project` | string | | The project a bare research id belongs to. |

## Exit codes

The group uses the CLI's standard codes: `0` success, `1` failure, `4` unauthenticated. See [Exit codes](https://docs.alisx.com/reference/cli/exit-codes.md).

## Related

- [`alis ask`](https://docs.alisx.com/reference/cli/index.md) answers questions about your own platform activity (sessions, specialist conversations, skills), not about Ideate projects.
- [Read project context from the CLI](https://docs.alisx.com/how-to/ideate/read-project-context-from-the-cli.md)
