# How-To

> Practical GNO recipes for keeping collections fresh, building personal knowledge bases, connecting AI tools, and recovering stale indexes.

Section: Guides  
Canonical: https://gno.sh/docs/how-to  
Markdown: https://gno.sh/docs/how-to.md

Index a personal knowledge base, research archive, meeting notes, PDFs, or a Karpathy-style memory bank; installed skills search that index before they answer.

For second-brain work, create typed pages with `gno capture --preset person`, `--preset company-project`, `--preset meeting`, or `--preset idea-original`. Keep the current synthesis above `## Timeline` and the evidence trail below it.

Installed skills also include recipes for brain-first lookup, capture/file, meeting ingestion, email context, source summaries, idea capture, and citation/provenance. Preview them with `gno skill show --file recipes/brain-first-lookup.md`. These recipes use local indexed context and user-supplied/exported external material; they do not add native Gmail, Calendar, Slack, webhook, cron, or background-agent automation.

## Keep a collection fresh automatically

Use `gno daemon` when you want local file changes to become searchable without keeping the Web UI open.

```
gno init ~/Documents/Knowledge --name knowledge
gno index --models-pull
gno daemon --detach
gno daemon --status
gno daemon --stop
```

The daemon watches configured collections, syncs changed files, and embeds new chunks. It also exposes the resident MCP endpoint at `http://127.0.0.1:3000/mcp` and safe redacted status routes, without the browser or full REST API. Use `--no-sync-on-start` if you only want future changes handled. For git-backed folders, run `gno update --git-pull` or `gno index --git-pull` when you want remote commits pulled in.

The daemon picks up atomic saves and folder deletions on local disks. It can miss changes on network or removable drives; run `gno update` after reconnecting or remounting them.

When a deleted file comes back at the same path, the next sync restores it and records one change event, even if its bytes are identical. Unchanged text keeps its existing vectors; a changed title, body, or embedding model needs new embeddings. Run `gno embed` after `gno update` when embeddings are pending. Interrupted work resumes where it stopped. Sync also updates links from other collections that point at changed files.

## Build a personal AI memory bank

1. Put notes, PDFs, docs, exports, and research into one folder or a few topic folders.
2. Add them as GNO collections with clear names.
3. Run `gno index`, then keep them fresh with `gno daemon --detach`.
4. Install MCP or skills so your AI assistant can retrieve from that memory before answering.

```
contentTypes:
  - id: person
    prefixes: [people/]
    preset: person
  - id: meeting
    prefixes: [meetings/]
    preset: meeting
```

```
gno collection add ~/Documents/Research --name research
gno collection add ~/Documents/Notes --name notes
gno collection add ~/Downloads/Papers --name papers
gno index
gno mcp install --target claude-desktop
gno skill install --target all --scope user --force
```

## Connect your AI tools

Pick the integration by how you want the assistant to behave.

- [MCP](https://gno.sh/docs/mcp): automatic tool calls from Claude Desktop, Claude Code, Cursor, Codex, Zed, Windsurf, OpenCode, Amp, LM Studio, LibreChat, and compatible clients.
- [Agent skills](https://gno.sh/docs/skills): explicit `/gno` lookups with low context overhead.
- [REST API](https://gno.sh/docs/api): scripts, launchers, dashboards, and custom local apps.

```
gno mcp install --target cursor --scope project
gno skill install --target codex --scope user
```

## Use GNO without living in a terminal

Start the local workspace, then add folders and manage indexing from the browser.

```
gno serve
open http://localhost:3000
```

Use Search for retrieval, Ask for cited answers, Browse for document navigation, Graph for relationships, and Collections for folder management.

## Fix stale or missing results

1. Confirm the files are indexed: `gno ls --collection notes`.
2. Rescan changed files: `gno update`.
3. Refresh embeddings: `gno embed notes`.
4. Run the full path: `gno index`.
5. Diagnose system issues: `gno doctor`.

If you changed the embedding model, clear stale collection embeddings before rebuilding them:

```
gno collection clear-embeddings notes
gno embed notes
```

## Research with filters and graph context

Combine filters when your archive grows beyond simple search.

```
gno query "learning loops" --collection research --tags-any ai,pkm
gno ask "what are my strongest notes on retrieval?" --since "last month" --answer
gno graph --neighbors gno://notes/llm-memory.md --include-similar
gno graph --from gno://notes/a.md --to gno://notes/b.md
```

## Export a note for gno.sh

Local GNO stays private. When you intentionally want to publish a note or collection, export an artifact and upload it through gno.sh Studio.

```
gno publish export atlas --out ~/Downloads/atlas.json
```

Then open [/studio](https://gno.sh/studio), import the artifact, and pick public, secret-link, invite-only, or encrypted sharing.
