# simplicio-prompt — Google Gemini CLI plugin

> **No static payload here.** This directory is documentation only.
> The install for `gemini` is generated by
> [`plugins/targets.mjs`](../targets.mjs) when you run
> `npx simplicio-prompt --target gemini`. To change what gets
> written into the target file, edit the canonical templates in
> [`prompts/`](../../prompts/), not files here.


The Gemini CLI loads `GEMINI.md` from the repository root as always-on context
on every turn. That file is the invocation mechanism: there is no separate
prompt-submit hook in Gemini CLI, so the always-applied context file is how
simplicio-prompt stays on.

Install with:

```bash
npx simplicio-prompt --target gemini
```

That writes the canonical Tuple-Space + Yool runtime contract into `GEMINI.md`,
wrapped in `<!-- simplicio-prompt:start -->` / `<!-- simplicio-prompt:end -->`
markers so reinstalling updates the block in place.

Manual install:

```bash
npx simplicio-prompt --raw >> GEMINI.md
```

## Auto-invocation

`GEMINI.md` is read automatically on every prompt, so the runtime contract is
always present — equivalent to an always-on hook. The user can still stand down
in-message with phrases like "stop", "cancel", "exit runtime", or
"ignore simplicio".

For a true prompt-submit hook (inject-on-every-prompt with programmatic
stand-down), use the Claude Code plugin's `UserPromptSubmit` hook —
see `plugins/claude-code/hooks/`.
