Template
feat: renamed Loki to Coyote
This commit is contained in:
@@ -1,39 +1,39 @@
|
|||||||
# loki-config-template
|
# coyote-config-template
|
||||||
|
|
||||||
A starter template for sharing [Loki](https://github.com/Dark-Alex-17/loki)
|
A starter template for sharing [Coyote](https://github.com/Dark-Alex-17/coyote)
|
||||||
configurations via any Git repository. Repositories structured like this enable
|
configurations via any Git repository. Repositories structured like this enable
|
||||||
users to share agents, roles, macros, tools, and MCP servers in Loki easily.
|
users to share agents, roles, macros, tools, and MCP servers in Coyote easily.
|
||||||
|
|
||||||
Fork this repo, customize the assets to your taste, then install your fork
|
Fork this repo, customize the assets to your taste, then install your fork
|
||||||
into Loki with a single command.
|
into Coyote with a single command.
|
||||||
|
|
||||||
## Quick start
|
## Quick start
|
||||||
|
|
||||||
Install everything in this template into your local Loki config:
|
Install everything in this template into your local Coyote config:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
loki --install-from https://github.com/<you>/loki-config-template
|
coyote --install-from https://github.com/<you>/coyote-config-template
|
||||||
```
|
```
|
||||||
|
|
||||||
or from within the Loki REPL:
|
or from within the Coyote REPL:
|
||||||
|
|
||||||
```
|
```
|
||||||
.install remote https://github.com/<you>/loki-config-template
|
.install remote https://github.com/<you>/coyote-config-template
|
||||||
```
|
```
|
||||||
|
|
||||||
Pin to a specific branch, tag, or commit by suffixing `#<ref>`:
|
Pin to a specific branch, tag, or commit by suffixing `#<ref>`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
loki --install-from https://github.com/<you>/loki-config-template#v1.0.0
|
coyote --install-from https://github.com/<you>/coyote-config-template#v1.0.0
|
||||||
loki --install-from https://github.com/<you>/loki-config-template#main
|
coyote --install-from https://github.com/<you>/coyote-config-template#main
|
||||||
loki --install-from https://github.com/<you>/loki-config-template#abc1234
|
coyote --install-from https://github.com/<you>/coyote-config-template#abc1234
|
||||||
```
|
```
|
||||||
|
|
||||||
Restrict the install to a single asset category with `--filter`:
|
Restrict the install to a single asset category with `--filter`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
loki --install-from https://github.com/<you>/loki-config-template --filter agents
|
coyote --install-from https://github.com/<you>/coyote-config-template --filter agents
|
||||||
loki --install-from https://github.com/<you>/loki-config-template --filter mcp_config
|
coyote --install-from https://github.com/<you>/coyote-config-template --filter mcp_config
|
||||||
```
|
```
|
||||||
|
|
||||||
Valid filter values: `agents`, `roles`, `macros`, `functions`, `mcp_config`.
|
Valid filter values: `agents`, `roles`, `macros`, `functions`, `mcp_config`.
|
||||||
@@ -41,16 +41,16 @@ Valid filter values: `agents`, `roles`, `macros`, `functions`, `mcp_config`.
|
|||||||
Skip per-file conflict prompts with `--install-force`:
|
Skip per-file conflict prompts with `--install-force`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
loki --install-from https://github.com/<you>/loki-config-template --install-force
|
coyote --install-from https://github.com/<you>/coyote-config-template --install-force
|
||||||
```
|
```
|
||||||
|
|
||||||
## Layout
|
## Layout
|
||||||
|
|
||||||
Loki only reads these top-level directories. Anything else in the repo is
|
Coyote only reads these top-level directories. Anything else in the repo is
|
||||||
ignored.
|
ignored.
|
||||||
|
|
||||||
```
|
```
|
||||||
loki-config-template/
|
coyote-config-template/
|
||||||
├── agents/
|
├── agents/
|
||||||
│ └── <agent-name>/
|
│ └── <agent-name>/
|
||||||
│ ├── config.yaml # LLM-loop agent
|
│ ├── config.yaml # LLM-loop agent
|
||||||
@@ -79,7 +79,7 @@ prompted to keep yours, take the remote's, or rename the remote entry.
|
|||||||
| Agent | `agents/hello-agent/config.yaml` | Tiny LLM-loop agent that greets the user. |
|
| Agent | `agents/hello-agent/config.yaml` | Tiny LLM-loop agent that greets the user. |
|
||||||
| Role | `roles/explainer.md` | Role that explains technical concepts simply. |
|
| Role | `roles/explainer.md` | Role that explains technical concepts simply. |
|
||||||
| Macro | `macros/greet.yaml` | Macro showing positional and rest-arg variables. |
|
| Macro | `macros/greet.yaml` | Macro showing positional and rest-arg variables. |
|
||||||
| Tool | `functions/tools/greet.sh` | Bash tool using Loki's argc-style annotations. |
|
| Tool | `functions/tools/greet.sh` | Bash tool using Coyote's argc-style annotations. |
|
||||||
| MCP | `functions/mcp.json` | One vanilla server + one with a vault secret reference. |
|
| MCP | `functions/mcp.json` | One vanilla server + one with a vault secret reference. |
|
||||||
|
|
||||||
Each sample is intentionally minimal. Replace it with your own work, or
|
Each sample is intentionally minimal. Replace it with your own work, or
|
||||||
@@ -90,45 +90,45 @@ delete what you don't need.
|
|||||||
### Agents
|
### Agents
|
||||||
Each agent lives in its own subdirectory under `agents/`. For LLM-loop
|
Each agent lives in its own subdirectory under `agents/`. For LLM-loop
|
||||||
agents, put a `config.yaml` (full schema:
|
agents, put a `config.yaml` (full schema:
|
||||||
[Agents wiki](https://github.com/Dark-Alex-17/loki/wiki/Agents)). For
|
[Agents wiki](https://github.com/Dark-Alex-17/coyote/wiki/Agents)). For
|
||||||
declarative graph agents, put a `graph.yaml` instead
|
declarative graph agents, put a `graph.yaml` instead
|
||||||
([Graph Agents wiki](https://github.com/Dark-Alex-17/loki/wiki/Graph-Agents)).
|
([Graph Agents wiki](https://github.com/Dark-Alex-17/coyote/wiki/Graph-Agents)).
|
||||||
|
|
||||||
### Roles
|
### Roles
|
||||||
Each `roles/<name>.md` is a YAML frontmatter block followed by the role
|
Each `roles/<name>.md` is a YAML frontmatter block followed by the role
|
||||||
instructions ([Roles wiki](https://github.com/Dark-Alex-17/loki/wiki/Roles)).
|
instructions ([Roles wiki](https://github.com/Dark-Alex-17/coyote/wiki/Roles)).
|
||||||
|
|
||||||
### Macros
|
### Macros
|
||||||
Each `macros/<name>.yaml` is a list of REPL commands to execute, with
|
Each `macros/<name>.yaml` is a list of REPL commands to execute, with
|
||||||
optional positional/rest variables
|
optional positional/rest variables
|
||||||
([Macros wiki](https://github.com/Dark-Alex-17/loki/wiki/Macros)).
|
([Macros wiki](https://github.com/Dark-Alex-17/coyote/wiki/Macros)).
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
Tools in `functions/tools/` follow Loki's argc-style schema
|
Tools in `functions/tools/` follow Coyote's argc-style schema
|
||||||
([Custom Tools wiki](https://github.com/Dark-Alex-17/loki/wiki/Custom-Tools)).
|
([Custom Tools wiki](https://github.com/Dark-Alex-17/coyote/wiki/Custom-Tools)).
|
||||||
Bash, Python, and TypeScript scripts are auto-detected and given the
|
Bash, Python, and TypeScript scripts are auto-detected and given the
|
||||||
executable bit on install.
|
executable bit on install.
|
||||||
|
|
||||||
### MCP servers
|
### MCP servers
|
||||||
Add or modify entries in `functions/mcp.json`
|
Add or modify entries in `functions/mcp.json`
|
||||||
([MCP Servers wiki](https://github.com/Dark-Alex-17/loki/wiki/MCP-Servers)).
|
([MCP Servers wiki](https://github.com/Dark-Alex-17/coyote/wiki/MCP-Servers)).
|
||||||
Use `{{SECRET_NAME}}` placeholders for values you don't want to commit;
|
Use `{{SECRET_NAME}}` placeholders for values you don't want to commit;
|
||||||
Loki will detect missing secrets after the merge and prompt you to add
|
Coyote will detect missing secrets after the merge and prompt you to add
|
||||||
them to the vault (or list them for you to add via `loki --add-secret`).
|
them to the vault (or list them for you to add via `coyote --add-secret`).
|
||||||
|
|
||||||
## Secrets workflow
|
## Secrets workflow
|
||||||
|
|
||||||
Anywhere you reference a secret in `mcp.json` (or in any installed file),
|
Anywhere you reference a secret in `mcp.json` (or in any installed file),
|
||||||
use the `{{NAME}}` placeholder syntax. After `--install-from` completes:
|
use the `{{NAME}}` placeholder syntax. After `--install-from` completes:
|
||||||
|
|
||||||
- **Interactive mode**: Loki prompts you per-secret to add the value to
|
- **Interactive mode**: Coyote prompts you per-secret to add the value to
|
||||||
the vault. On the first "Yes," it creates the vault password file if
|
the vault. On the first "Yes," it creates the vault password file if
|
||||||
needed.
|
needed.
|
||||||
- **Non-interactive mode** (CI, piped): Loki prints a final reminder
|
- **Non-interactive mode** (CI, piped): Coyote prints a final reminder
|
||||||
listing every missing secret with the `loki --add-secret <NAME>` /
|
listing every missing secret with the `coyote --add-secret <NAME>` /
|
||||||
`.vault add <NAME>` commands you can run to fill them in.
|
`.vault add <NAME>` commands you can run to fill them in.
|
||||||
|
|
||||||
See the [Vault wiki](https://github.com/Dark-Alex-17/loki/wiki/Vault) for
|
See the [Vault wiki](https://github.com/Dark-Alex-17/coyote/wiki/Vault) for
|
||||||
the full secrets workflow.
|
the full secrets workflow.
|
||||||
|
|
||||||
## Tips for forks
|
## Tips for forks
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# hello-agent
|
# hello-agent
|
||||||
|
|
||||||
A minimal sample agent shipped with `loki-config-template`. Use it as a
|
A minimal sample agent shipped with `coyote-config-template`. Use it as a
|
||||||
starting point or delete this directory.
|
starting point or delete this directory.
|
||||||
|
|
||||||
Activate it in the Loki REPL:
|
Activate it in the Coyote REPL:
|
||||||
|
|
||||||
```
|
```
|
||||||
.agent hello-agent
|
.agent hello-agent
|
||||||
@@ -11,5 +11,5 @@ Activate it in the Loki REPL:
|
|||||||
|
|
||||||
Customize `config.yaml` for the model, temperature, system prompt, and
|
Customize `config.yaml` for the model, temperature, system prompt, and
|
||||||
optional features (tool access, sub-agent spawning, todo system, etc.).
|
optional features (tool access, sub-agent spawning, todo system, etc.).
|
||||||
See the [Loki Agents wiki](https://github.com/Dark-Alex-17/loki/wiki/Agents)
|
See the [Coyote Agents wiki](https://github.com/Dark-Alex-17/coyote/wiki/Agents)
|
||||||
for the full configuration reference.
|
for the full configuration reference.
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ temperature: 0.2
|
|||||||
|
|
||||||
instructions: |
|
instructions: |
|
||||||
You are hello-agent, a friendly assistant included as a sample in the
|
You are hello-agent, a friendly assistant included as a sample in the
|
||||||
loki-config-template repository.
|
coyote-config-template repository.
|
||||||
|
|
||||||
When the user greets you, greet them warmly by name if they provide one.
|
When the user greets you, greet them warmly by name if they provide one.
|
||||||
Keep responses brief (one or two sentences) and offer to help with
|
Keep responses brief (one or two sentences) and offer to help with
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# @describe Greet a person by name. Example bash tool shipped with loki-config-template.
|
# @describe Greet a person by name. Example bash tool shipped with coyote-config-template.
|
||||||
# @option --name! Name of the person to greet.
|
# @option --name! Name of the person to greet.
|
||||||
|
|
||||||
# @env LLM_OUTPUT=/dev/stdout The output path
|
# @env LLM_OUTPUT=/dev/stdout The output path
|
||||||
|
|||||||
Reference in New Issue
Block a user