50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
|
|
# canned-prompts reference CLI
|
||
|
|
|
||
|
|
This is intentionally a **small reference implementation**, not the intended final architecture.
|
||
|
|
|
||
|
|
It demonstrates six verbs:
|
||
|
|
|
||
|
|
```text
|
||
|
|
add PATH
|
||
|
|
search QUERY
|
||
|
|
show ID
|
||
|
|
render ID --set key=value
|
||
|
|
install ID [--version VERSION]
|
||
|
|
publish PATH
|
||
|
|
```
|
||
|
|
|
||
|
|
The implementation uses a local catalog plus a filesystem registry and performs no model calls.
|
||
|
|
|
||
|
|
## Stores
|
||
|
|
|
||
|
|
Default locations:
|
||
|
|
|
||
|
|
```text
|
||
|
|
~/.canned-prompts/catalog
|
||
|
|
~/.canned-prompts/registry
|
||
|
|
```
|
||
|
|
|
||
|
|
Catalog and registry both store packages as:
|
||
|
|
|
||
|
|
```text
|
||
|
|
<store>/<id path>/<version>/...
|
||
|
|
```
|
||
|
|
|
||
|
|
For example:
|
||
|
|
|
||
|
|
```text
|
||
|
|
~/.canned-prompts/catalog/practice/pqrst-estimate/0.1.0/
|
||
|
|
```
|
||
|
|
|
||
|
|
## Design choices
|
||
|
|
|
||
|
|
- YAML manifest via PyYAML.
|
||
|
|
- `{{ name }}` template substitution only.
|
||
|
|
- No arbitrary expression/code execution.
|
||
|
|
- Published versions are immutable by default.
|
||
|
|
- `install` copies from registry to catalog.
|
||
|
|
- `add` copies a package directly to catalog.
|
||
|
|
- `search`, `show`, and `render` operate on catalog packages.
|
||
|
|
|
||
|
|
Use this implementation to challenge the format. Replace it once real usage reveals the right architecture.
|