---
slug: "pi-assisted-by"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/lack/pi-assisted-by@main/README.md"
repo: "https://github.com/lack/pi-assisted-by"
source_file: "README.md"
branch: "main"
---
# pi-assisted-by

![Screenshot of git commit log showing an Assisted-by trailer](https://raw.githubusercontent.com/lack/pi-assisted-by/main/pi-assisted-by.png)

A [Pi](https://github.com/badlogic/pi) extension that automatically appends a git trailer to commit messages when the agent runs `git commit`. Adds an `Assisted-by` trailer with the model name.

This is a fork of <https://github.com/bruno-garcia/pi-co-authored-by> who I thank for all the initial work; but I needed a different syntax in my commit messages.

## Features

**Assisted-by trailer** — Credits the model that helped write the code:

```
Assisted-by: Claude Sonnet 4 and pi.dev
```

**Example commit:**

```
fix: resolve null pointer

Assisted-by: Claude Sonnet 4 and pi.dev
```

## Configuration

The extension automatically manages duplicates, so if you tell the LLM to add the tag itself, the extension will replace it to ensure consistent formatting.

You can configure the format of the trailer globally (or per-project) using `git config`. This keeps the instructions out of your prompt context window. `git config` allows multiple values if you want to include multiple trailers automatically.

You can use the following variables in your configuration:

| Variable     | Description                              | Example           |
| ------------ | ---------------------------------------- | ----------------- |
| `$modelname` | The name of the LLM used for the session | `Claude Sonnet 4` |
| `$piversion` | The running version of the pi CLI        | `0.77.0`          |

_(Note: `$model_name` is also supported as an alias for `$modelname`)_

For example:

```bash
git config --global pi.assisted-by "Assisted-by: $modelname with pi.dev v$piversion"
```

To configure multiple trailers, use `git config --add`:

```bash
git config --global --add pi.assisted-by "Assisted-by: $modelname"
git config --global --add pi.assisted-by "Co-authored-by: pi.dev <pi@pi.dev>"
```

If no configuration is found, it defaults to `Assisted-by: $modelname and pi.dev`.

## Requirements

- [Pi](https://github.com/badlogic/pi) coding agent

## Install

```bash
pi install path:~/src/ai/pi-assisted-by
```

Or try it without installing:

```bash
pi -e path:~/src/ai/pi-assisted-by
```

## How it works

The extension hooks into Pi's `tool_call` event. When it detects a `git commit -m` command, it appends extra `-m` flags to create [git trailers](https://git-scm.com/docs/git-interpret-trailers) based on your configuration.

| What          | Default Value                        |
| ------------- | ------------------------------------ |
| `Assisted-by` | `Assisted-by: $modelname and pi.dev` |

## Development

```bash
npm install
npm test
```

## License

MIT
