Komande
Kreirajte prilagođene komande za zadatke koji se ponavljaju.
Prilagođene komande vam omogućavaju da odredite prompt koji želite da pokrenete kada se ta naredba izvrši u TUI-ju.
/my-commandPrilagođene komande su dodatak ugrađenim komandama kao što su /init, /undo, /redo, /share, /help. Saznajte više.
Kreirajte komandne fajlove
Kreirajte markdown fajlove u direktorijumu commands/ da definišete prilagođene komande.
Kreiraj .opencode/commands/test.md:
---description: Run tests with coverageagent: buildmodel: anthropic/claude-3-5-sonnet-20241022---
Run the full test suite with coverage report and show any failures.Focus on the failing tests and suggest fixes.Frontmatter definira svojstva komande. Sadržaj postaje predložak.
Koristite komandu tako što ćete upisati / nakon čega slijedi naziv komande.
"/test"Konfiguriši
Možete dodati prilagođene komande kroz OpenCode konfiguraciju ili kreiranjem markdown datoteka u direktoriju commands/.
JSON
Koristite opciju command u svom OpenCode config:
{ "$schema": "https://opencode.ai/config.json", "command": { // This becomes the name of the command "test": { // This is the prompt that will be sent to the LLM "template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes.", // This is shown as the description in the TUI "description": "Run tests with coverage", "agent": "build", "model": "anthropic/claude-3-5-sonnet-20241022" } }}Sada možete pokrenuti ovu naredbu u TUI:
/testMarkdown
Također možete definirati komande koristeći markdown datoteke. Stavite ih u:
- Globalno:
~/.config/opencode/commands/ - Po projektu:
.opencode/commands/
---description: Run tests with coverageagent: buildmodel: anthropic/claude-3-5-sonnet-20241022---
Run the full test suite with coverage report and show any failures.Focus on the failing tests and suggest fixes.Ime markdown datoteke postaje ime naredbe. Na primjer, test.md vam omogućava da pokrenete:
/testPrompt config
Promptovi za prilagođene komande podržavaju nekoliko posebnih čuvara mjesta i sintakse.
Argumenti
Proslijedite argumente naredbama koristeći čuvar mjesta $ARGUMENTS.
---description: Create a new component---
Create a new React component named $ARGUMENTS with TypeScript support.Include proper typing and basic structure.Pokrenite naredbu s argumentima:
/component ButtonI $ARGUMENTS će biti zamijenjen sa Button.
Također možete pristupiti pojedinačnim argumentima koristeći pozicione parametre:
$1- Prvi argument$2- Drugi argument$3- Treći argument- I tako dalje…
Na primjer:
---description: Create a new file with content---
Create a file named $1 in the directory $2with the following content: $3Pokrenite naredbu:
/create-file config.json src "{ \"key\": \"value\" }"Ovo zamjenjuje:
$1doconfig.json$2dosrc$3do{ "key": "value" }
Shell izlaz
Koristite !command da ubacite izlaz bash command u svoj prompt.
Na primjer, da kreirate prilagođenu naredbu koja analizira pokrivenost testom:
---description: Analyze test coverage---
Here are the current test results:!`npm test`
Based on these results, suggest improvements to increase coverage.Ili da vidite nedavne promjene:
---description: Review recent changes---
Recent git commits:!`git log --oneline -10`
Review these changes and suggest any improvements.Naredbe se pokreću u korijenskom direktoriju vašeg projekta i njihov izlaz postaje dio prompta.
Reference fajlova
Uključite datoteke u svoju naredbu koristeći @ nakon čega slijedi naziv datoteke.
---description: Review component---
Review the component in @src/components/Button.tsx.Check for performance issues and suggest improvements.Sadržaj datoteke se automatski uključuje u prompt.
Opcije
Pogledajmo detaljno opcije konfiguracije.
Template
Opcija template definira prompt koji će biti poslan LLM-u kada se naredba izvrši.
{ "command": { "test": { "template": "Run the full test suite with coverage report and show any failures.\nFocus on the failing tests and suggest fixes." } }}Ovo je obavezna opcija konfiguracije.
Opis
Koristite opciju description da pružite kratak opis onoga što naredba radi.
{ "command": { "test": { "description": "Run tests with coverage" } }}Ovo se prikazuje kao opis u TUI-u kada unesete naredbu.
Agent
Koristite agent konfiguraciju da opciono odredite koji agent treba da izvrši ovu naredbu.
Ako je ovo subagent naredba će po defaultu pokrenuti pozivanje subagenta.
Da onemogućite ovo ponašanje, postavite subtask na false.
{ "command": { "review": { "agent": "plan" } }}Ovo je opciona opcija konfiguracije. Ako nije navedeno, podrazumevano je vaš trenutni agent.
Subtask
Koristite subtask boolean da prisilite naredbu da pokrene subagent pozivanje.
Ovo je korisno ako želite da naredba ne zagađuje vaš primarni kontekst i da će primorati agenta da djeluje kao subagent,
čak i ako je mode postavljeno na primary u konfiguraciji agent.
{ "command": { "analyze": { "subtask": true } }}Ovo je opciona opcija konfiguracije.
Model
Koristite model konfiguraciju da nadjačate zadani model za ovu naredbu.
{ "command": { "analyze": { "model": "anthropic/claude-3-5-sonnet-20241022" } }}Ovo je opciona opcija konfiguracije.
Ugrađene
opencode uključuje nekoliko ugrađenih naredbi kao što su /init, /undo, /redo, /share, /help; saznaj više.
Ako definirate prilagođenu naredbu s istim imenom, ona će nadjačati ugrađenu naredbu.