<!-- Canonical: https://jonashertner.com/interface/ | Language: en-CH | Revised: 2026-10-21 -->

Site interface / English

# Search & CLI

Find a note, go to a section, or read the published source.

<a id="cli"></a>

Open Search from the header or the mobile menu, or use the buttons above. With a keyboard, press `Ctrl K` (`⌘ K` on a Mac) at any screen size. Type ordinary words to search. On larger screens, choose CLI for a full-screen command line. Press `Escape` to close.

<a id="cli-title"></a>

## Using the command line

The CLI gives you a prompt and a running transcript. List the notes, read their full text, follow a source or change the light. Commands use the same published catalogue as the rest of the site.

```
help
ls
cat ai-in-legal-work
formats ai-in-legal-work
theme system
```

`Enter` runs a command. `Up` and `Down` recall commands and restore your unfinished input. `Tab` completes an unambiguous command or argument; otherwise it moves focus normally. `clear` clears the transcript and history. `exit` or `Escape` closes the interface.

An open CLI session keeps your draft and history when you resize the window. Closing discards them. On phones, use the menu for [Practice](/#expertise), [Profile](/#profile), [Writing](/notes/) and [Contact](/contact/). All published texts and formats remain available through ordinary links.

<a id="commands-title"></a>

## A few useful commands

Search covers the full published catalogue in the active language, including the framework and working note. Commands navigate or read this site’s public content.

| Command | What it does |
| --- | --- |
| `help` | Show the available commands. |
| `search <words>` | Search titles and full text. In Search mode, ordinary words without `search` work too. |
| `notes` | List the published notes. `ls` is an alias in CLI mode. |
| `open <page or section>` | Go directly to a page or a section, such as `open contact`. |
| `read <note slug>` | Read a plain-text edition of a note. Try `read ai-in-legal-work`, or `cat ai-in-legal-work` in CLI mode. |
| `whoami` | Show the practice introduction and its source (CLI). |
| `formats [note slug]` | Find the catalogue, schema, feed, or a note’s canonical page and Markdown edition (CLI). |
| `theme system|day|night` | `system` follows your device’s light or dark preference. `day` and `night` hold the chosen light. `auto` is an alias for `system`. |
| `lang en|de|fr` | Open the available translation, or its language’s homepage. |

Search and CLI run in your browser against this site’s published catalogue. Queries and commands are not sent to a server or saved in browser storage. The links below remain available when JavaScript is disabled.

<a id="browse-title"></a>

## Browse the published work

- Practice: [English](/), [Deutsch](/de/), [Français](/fr/).
- Notes archive: [English](/notes/), [Deutsch](/de/notes/), [Français](/fr/notes/).
- [Legal agents inside the organisation](/agents/), available in English, German and French.
- [Legal work that stays useful](/pivot/), available in English, German and French.

<a id="machines"></a>

<a id="formats-title"></a>

## The same content, in open formats

Use the canonical HTML page or a stable section link when citing a document. The catalogue identifies its source, language, dates, translations and available Markdown edition.

| Resource | Contents |
| --- | --- |
| [Content catalogue](/content/index.json) | Structured JSON containing the full published document text, metadata and section links. |
| [Catalogue schema](/content/schema.json) | JSON Schema 2020-12 describing the catalogue’s fields. |
| [Practice profile](/practice.json) | Structured professional information, services and contact details. |
| [Markdown](/index.md) | The English practice page. The catalogue’s `markdown_url` field points to each document’s edition. |
| [Full plain text](/llms-full.txt) | Collected English content, with [German](/de/llms-full.txt) and [French](/fr/llms-full.txt) editions. |
| [llms.txt index](/llms.txt) | A concise index for tools that recognise this emerging convention. It is an additional discovery route, not a universal protocol. |
| [Notes feed](/notes/feed.xml) | Published notes in Atom format. [Site changes](/feed.xml) are available as a separate feed. |
| [Sitemap](/sitemap.xml) | Public page URLs and available language editions. |

<a id="fetch-title"></a>

## Read from your own tools

These examples use `curl` to read public files. The catalogue examples use `jq` to select fields from the response.

### Fetch the catalogue

```
curl -fsS https://jonashertner.com/content/index.json
```

### List document languages, titles and URLs

```
curl -fsS https://jonashertner.com/content/index.json |
  jq -r '.documents[] | [.language, .title, .url] | @tsv'
```

### Search full text

```
curl -fsS https://jonashertner.com/content/index.json |
  jq -r '.documents[] | select((.title + " " + .text) | test("artificial intelligence"; "i")) | .url'
```

### Read a specific note

```
curl -fsS https://jonashertner.com/content/index.json |
  jq -r '.documents[] | select(.url == "https://jonashertner.com/notes/ai-in-legal-work/") | .text'
```

Or fetch its [Markdown edition](/notes/ai-in-legal-work/index.md) directly:

```
curl -fsS https://jonashertner.com/notes/ai-in-legal-work/index.md
```