Buckets:
| title: Zasady | |
| description: Ustaw niestandardowe instrukcje dla opencode. | |
| Możesz dostarczyć niestandardowe instrukcje do opencode, tworząc plik `AGENTS.md`. Jest to podobne do zasad Cursora. Zawiera instrukcje, które zostaną uwzględnione w kontekście LLM, aby dostosować jego zachowanie do konkretnego projektu. | |
| ## Inicjalizacja | |
| Aby utworzyć nowy plik `AGENTS.md`, możesz uruchomić komendę `/init` w otwartym kodzie. | |
| :::tip | |
| Powinieneś zatwierdzić plik `AGENTS.md` swojego projektu w Git. | |
| ::: | |
| Spowoduje to przeskanowanie projektu i całej jego zawartości, aby zrozumieć, czego dotyczy projekt i wygenerować z nim plik `AGENTS.md`. Pomaga to otwartemu kodowi lepiej poruszać się po projekcie. | |
| Jeśli masz istniejący plik `AGENTS.md`, spróbujemy go dodać. | |
| ## Przykład | |
| Możesz także po prostu utworzyć ten plik ręcznie. Oto przykład niektórych rzeczy, które można umieścić w pliku `AGENTS.md`. | |
| ```markdown title="AGENTS.md" | |
| # SST v3 Monorepo Project | |
| This is an SST v3 monorepo with TypeScript. The project uses bun workspaces for package management. | |
| ## Project Structure | |
| - `packages/` - Contains all workspace packages (functions, core, web, etc.) | |
| - `infra/` - Infrastructure definitions split by service (storage.ts, api.ts, web.ts) | |
| - `sst.config.ts` - Main SST configuration with dynamic imports | |
| ## Code Standards | |
| - Use TypeScript with strict mode enabled | |
| - Shared code goes in `packages/core/` with proper exports configuration | |
| - Functions go in `packages/functions/` | |
| - Infrastructure should be split into logical files in `infra/` | |
| ## Monorepo Conventions | |
| - Import shared modules using workspace names: `@my-app/core/example` | |
| ``` | |
| Dodajemy tutaj instrukcje dotyczące konkretnego projektu, które zostaną udostępnione całemu zespołowi. | |
| ## Typy | |
| opencode obsługuje także odczytywanie pliku `AGENTS.md` z wielu lokalizacji. A to służy różnym celom. | |
| ### Projekt | |
| Umieść `AGENTS.md` w katalogu głównym projektu, aby uzyskać reguły specyficzne dla projektu. Mają one zastosowanie tylko wtedy, gdy pracujesz w tym katalogu lub jego podkatalogach. | |
| ### Globalne | |
| Możesz także mieć reguły globalne w pliku `~/.config/opencode/AGENTS.md`. Jest to stosowane we wszystkich sesjach opencode. | |
| Ponieważ nie jest to wymagane dla Git ani udostępniane Twojemu zespołowi, zalecamy użycie tego do określenia wszelkich osobistych zasad, których powinien przestrzegać LLM. | |
| ### Kompatybilność z Claude Code | |
| W przypadku użytkowników migrujących z Claude Code opencode obsługuje konwencje plików Claude Code jako rozwiązania awaryjne: | |
| - **Zasady projektu**: `CLAUDE.md` w katalogu projektu (używane, jeśli nie istnieje `AGENTS.md`) | |
| - **Zasady globalne**: `~/.claude/CLAUDE.md` (używane, jeśli nie istnieje `~/.config/opencode/AGENTS.md`) | |
| - **Umiejętności**: `~/.claude/skills/` — szczegóły znajdziesz w [Umiejętnościach agenta](/docs/skills/) | |
| Aby wyłączyć kompatybilność z Claude Code, ustaw jedną z tych zmiennych środowiskowych: | |
| ```bash | |
| export OPENCODE_DISABLE_CLAUDE_CODE=1 # Disable all .claude support | |
| export OPENCODE_DISABLE_CLAUDE_CODE_PROMPT=1 # Disable only ~/.claude/CLAUDE.md | |
| export OPENCODE_DISABLE_CLAUDE_CODE_SKILLS=1 # Disable only .claude/skills | |
| ``` | |
| ## Priorytet | |
| Po uruchomieniu opencode szuka plików reguł w następującej kolejności: | |
| 1. **Pliki lokalne** poprzez przejście z bieżącego katalogu (`AGENTS.md`, `CLAUDE.md`) | |
| 2. **Plik globalny** w `~/.config/opencode/AGENTS.md` | |
| 3. **Plik Claude Code** w `~/.claude/CLAUDE.md` (chyba że wyłączony) | |
| Pierwszy pasujący plik wygrywa w każdej kategorii. Na przykład, jeśli masz zarówno `AGENTS.md`, jak i `CLAUDE.md`, używany jest tylko `AGENTS.md`. Podobnie `~/.config/opencode/AGENTS.md` ma pierwszeństwo przed `~/.claude/CLAUDE.md`. | |
| ## Instrukcje niestandardowe | |
| Możesz określić niestandardowe pliki instrukcji w swoim `opencode.json` lub globalnym `~/.config/opencode/opencode.json`. Dzięki temu Ty i Twój zespół możecie ponownie wykorzystać istniejące reguły, zamiast duplikować je w pliku AGENTS.md. | |
| Przykład: | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "instructions": ["CONTRIBUTING.md", "docs/guidelines.md", ".cursor/rules/*.md"] | |
| } | |
| ``` | |
| Możesz także użyć zdalnych adresów URL, aby załadować instrukcje z Internetu. | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "instructions": ["https://raw.githubusercontent.com/my-org/shared-rules/main/style.md"] | |
| } | |
| ``` | |
| Instrukcje zdalne są pobierane z 5-sekundowym limitem czasu. | |
| Wszystkie pliki instrukcji są łączone z plikami `AGENTS.md`. | |
| ## Odwoływanie się do plików zewnętrznych | |
| Chociaż opencode nie analizuje automatycznie odniesień do plików w `AGENTS.md`, możesz osiągnąć podobną funkcjonalność na dwa sposoby: | |
| ### Używanie opencode.json | |
| Zalecanym podejściem jest użycie pola `instructions` w `opencode.json`: | |
| ```json title="opencode.json" | |
| { | |
| "$schema": "https://opencode.ai/config.json", | |
| "instructions": ["docs/development-standards.md", "test/testing-guidelines.md", "packages/*/AGENTS.md"] | |
| } | |
| ``` | |
| ### Ręczne instrukcje w AGENTS.md | |
| Możesz nauczyć opencode czytać pliki zewnętrzne, podając wyraźne instrukcje w swoim `AGENTS.md`. Oto praktyczny przykład: | |
| ```markdown title="AGENTS.md" | |
| # TypeScript Project Rules | |
| ## External File Loading | |
| CRITICAL: When you encounter a file reference (e.g., @rules/general.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand. | |
| Instructions: | |
| - Do NOT preemptively load all references - use lazy loading based on actual need | |
| - When loaded, treat content as mandatory instructions that override defaults | |
| - Follow references recursively when needed | |
| ## Development Guidelines | |
| For TypeScript code style and best practices: @docs/typescript-guidelines.md | |
| For React component architecture and hooks patterns: @docs/react-patterns.md | |
| For REST API design and error handling: @docs/api-standards.md | |
| For testing strategies and coverage requirements: @test/testing-guidelines.md | |
| ## General Guidelines | |
| Read the following file immediately as it's relevant to all workflows: @rules/general-guidelines.md. | |
| ``` | |
| Takie podejście pozwala: | |
| - Twórz modułowe pliki reguł wielokrotnego użytku | |
| - Share rules across projects via symlinks or git submodules | |
| - Keep AGENTS.md concise while referencing detailed guidelines | |
| - Upewnij się, że opencode ładuje pliki tylko wtedy, gdy są potrzebne do konkretnego zadania | |
| :::tip | |
| W przypadku monorepo lub projektów ze wspólnymi standardami użycie `opencode.json` ze wzorami globalnymi (takimi jak `packages/*/AGENTS.md`) jest łatwiejsze w utrzymaniu niż instrukcje ręczne. | |
| ::: | |
Xet Storage Details
- Size:
- 6.8 kB
- Xet hash:
- 6cd11baa32a87bcb95879d16ad3ef4238b4c215add432aa2060215603ffbe5a9
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.