GitHub Copilot¶
Zweryfikowano 2026-10-10
Na macOS (arm64), ze skompilowanym plikiem binarnym na examples/broken-app: inwards init --agent agents-md oraz inwards mcp uruchomione tak, jak uruchamia go poniższy wpis w .mcp.json, który odpowiedział na tools/list i check_files. Workflow z krokami przygotowania parsuje się jako YAML. Nie uruchamiano żadnej sesji Copilota, ani w VS Code, ani na GitHubie, a workflow nie działał na GitHubie. Ustawienia Copilota, nazwy plików i ograniczenia na tej stronie pochodzą z dokumentacji VS Code i GitHuba z tego dnia; to, co sekcja Hooki mówi o plikach hooków Copilot CLI, pochodzi z opisu hooków GitHuba czytanego 2026-10-11.
Copilot nie ma hooka, do którego Inwards mógłby się podłączyć tak jak do hooków Claude Code. Zamiast tego spotyka Inwards w czterech miejscach:
| Gdzie | Co dostaje Copilot | VS Code | Agent w chmurze |
|---|---|---|---|
AGENTS.md |
polecenie, żeby przed zakończeniem uruchomić inwards check |
tak | tak |
| Rozszerzenie VS Code | każde naruszenie w panelu Problems, na bieżąco w trakcie pisania | tak | nie |
inwards mcp |
narzędzia, przez które pyta, gdzie należy kod, i sprawdza kod przed zapisaniem | tak | tak, konfigurowane per repozytorium |
| CI | nieprzechodzące sprawdzenie na pull requeście | tak | tak |
Polecenie albo narzędzie działa tylko wtedy, gdy agent z niego skorzysta, więc w obu przypadkach bramką pozostaje CI.
Copilot w VS Code¶
- Zainstaluj Inwards i dodaj
[tool.inwards]dopyproject.toml. - Zainstaluj rozszerzenie VS Code. Uruchamia ono
inwards serveri umieszcza każde naruszenie w panelu Problems. -
Dodaj polecenie do
AGENTS.mdi zrób commit:Copilot w VS Code czyta
AGENTS.mdz katalogu głównego obszaru roboczego (ustawieniechat.useAgentsMdFile, domyślnie włączone), zarówno w harnessie Copilota, jak i w sesjach Local. Poradnik AGENTS.md pokazuje sekcję, którą dodaje ta komenda; gdy Inwards jest zależnością deweloperską w uv, dodaj--launcher "uv run", a sekcja będzie mówićuv run inwards check. -
Zarejestruj serwer MCP w
.mcp.jsonw katalogu głównym projektu:.mcp.json{ "mcpServers": { "inwards": { "type": "stdio", "command": "inwards", "args": ["mcp"] } } }VS Code uruchamia serwer w folderze obszaru roboczego, więc jego narzędzia widzą projekt. To format przenośny: VS Code czyta go dla każdego rodzaju sesji, a Claude Code i Copilot CLI czytają ten sam plik. Z uv użyj
"command": "uv", "args": ["run", "inwards", "mcp"]. W zaufanym obszarze roboczym serwer startuje bez pytania; w trybie ograniczonym nie startuje. Poradnik MCP opisuje trzy narzędzia. -
Każ agentowi czytać panel Problems. Narzędzie VS Code
#read/problemsdaje mu znajdujące się tam diagnostyki, także te z Inwards, ale to agent decyduje, kiedy je wywołać. Wymień je w poleceniu ("fix #read/problems") albo dodaj linijkę do.github/copilot-instructions.md:
Sprawdź, czy działa:
- Uruchom MCP: List Servers z palety poleceń.
inwardsjest na liście jako działający, a Configure Tools w polu czatu wymieniacheck_files,explain_ruleiwhere_should_this_go. - Poproś agenta: "Add
import shop.infrastructure.dbat the top of shop/domain/order.py." Rozszerzenie oznacza import diagnostyką INW001, a agent, któremu kazano czytać panel Problems albo uruchamiać sprawdzenie, usuwa go albo wprowadza port.
Hooki¶
VS Code ma hooki agentów w wersji preview, ale Inwards jeszcze ich nie obsługuje. Jego hook (inwards hook claude-code) czyta dane wejściowe i nazwy narzędzi Claude Code. Harness Local w VS Code potrafi czytać hooki z plików ustawień Claude Code (chat.useClaudeHooks, domyślnie wyłączone), ale ignoruje ich matchery i inaczej nazywa narzędzia, a harness Copilota używa własnego formatu hooków. Nie podpinaj żadnego z nich pod inwards hook claude-code: config guard i Stop gate widziałyby wywołania narzędzi, których nie rozpoznają. Copilot CLI też czyta .claude/settings.json i .claude/settings.local.json, więc w projekcie podłączonym przez inwards init --agent claude-code już uruchamia ten hook, a ani config guard, ani Stop gate tam nie działają: Copilot traktuje kod wyjścia 2 hooka jako ostrzeżenie dla użytkownika, nie blokadę. ADR-044 opisuje, co oferuje każda powierzchnia Copilota, i planowany inwards hook copilot.
Agent Copilota w chmurze¶
Agent w chmurze (cloud agent, wcześniej nazywany coding agent) pracuje nad issue w środowisku GitHub Actions i otwiera pull request. Czyta z repozytorium AGENTS.md, .github/copilot-instructions.md i .github/instructions/*.instructions.md.
- Dodaj sekcję do
AGENTS.md, jak w kroku 3 wyżej. -
Zainstaluj Inwards w środowisku agenta przez
.github/workflows/copilot-setup-steps.yml. Copilot uruchamia tylko zadanie o nazwiecopilot-setup-stepsi dopiero wtedy, gdy plik jest na domyślnej gałęzi. Ten workflow zakłada, że Inwards jest zależnością deweloperską w uv, więcAGENTS.mdpowinien mówićuv run inwards check(inwards init --agent agents-md --launcher "uv run"):.github/workflows/copilot-setup-steps.ymlname: Copilot setup steps on: workflow_dispatch: push: paths: [.github/workflows/copilot-setup-steps.yml] pull_request: paths: [.github/workflows/copilot-setup-steps.yml] jobs: copilot-setup-steps: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@v7 - uses: astral-sh/setup-uv@v10 - name: Install the project, Inwards included run: uv sync --locked - run: uv run inwards --versionWyzwalacze
pushipull_requesturuchamiają zadanie jako zwykły workflow, gdy plik się zmienia, więc zepsuty krok widać już w pull requeście, który go dodaje. Jeśli krok zawiedzie w trakcie sesji agenta, Copilot pomija pozostałe i startuje mimo to, bez Inwards. Bez uv pobierz plik binarny z wydania jak w poradniku GitHub Actions i zainstaluj go w katalogu z domyślnegoPATH, na przykład w/usr/local/bin(przezsudo install). -
Opcjonalnie daj agentowi narzędzia MCP. W Settings repozytorium otwórz Copilot, potem MCP servers, i zapisz:
{ "mcpServers": { "inwards": { "type": "local", "command": "uv", "args": ["run", "inwards", "mcp"], "tools": ["check_files", "explain_rule", "where_should_this_go"] } } }toolsjest wymagane i wymienia to, co agent może wywołać bez pytania; wszystkie trzy narzędzia tylko czytają. Serwer używa Inwards zainstalowanego przez kroki przygotowania. Log następnej sesji pokazuje narzędzia w kroku Start MCP Servers. GitHub nie dokumentuje, w jakim katalogu agent uruchamia serwer; jeślicheck_filesnie znajduje plików projektu, poproś agenta o ścieżki bezwzględne. -
Dodaj workflow GitHub Actions, żeby naruszenie oblewało pull request. Domyślnie workflow nie uruchamiają się na pull requeście, do którego pushuje Copilot, dopóki ktoś z prawem zapisu nie kliknie Approve and run workflows; administrator repozytorium może wyłączyć to zatwierdzanie w ustawieniach agenta w chmurze. Gdy sprawdzenie nie przejdzie, wspomnij
@copilotw komentarzu do pull requesta i poproś o naprawienie naruszeń Inwards; log zadania i adnotacje podają regułę i kroki naprawy.
Agent w chmurze uruchamia też hooki z .github/hooks/*.json, we własnym formacie Copilota. Tak jak w VS Code, Inwards nie ma jeszcze dla nich adaptera; ADR-044 go planuje.
Ograniczenia¶
- Brak Stop gate. Nic nie zatrzymuje tury Copilota, gdy naruszenie jest otwarte. Agent uruchamia sprawdzenie, bo prosi o to
AGENTS.md, a jeśli tego nie zrobi, CI obleje pull request. - Brak config guarda. Copilot może edytować
[tool.inwards], żeby diagnostyka zniknęła. Sekcja wAGENTS.mdmu tego zabrania; wpis wCODEOWNERSdlapyproject.tomlsprawia, że taką zmianę przegląda człowiek. - Panel Problems jest czytany na żądanie. Rozszerzenie pokazuje naruszenie od razu, ale agent widzi je dopiero, gdy wywoła
#read/problemsalbo uruchomi sprawdzenie.
Rozwiązywanie problemów¶
| Objaw | Przyczyna i rozwiązanie |
|---|---|
| Agent nigdy nie uruchamia sprawdzenia | AGENTS.md to polecenie. Sprawdź, czy plik leży w katalogu głównym i czy chat.useAgentsMdFile jest włączone, wymień sprawdzenie w poleceniu, a resztę zostaw CI. |
inwards nie ma na liście MCP: List Servers |
Obszar roboczy nie jest zaufany albo .mcp.json nie leży w katalogu głównym folderu obszaru roboczego. Uruchom MCP: List Servers, wybierz inwards i otwórz jego wyjście, żeby zobaczyć błąd. |
Agent w chmurze zgłasza inwards: command not found |
Kroki przygotowania go nie zainstalowały albo AGENTS.md podaje inwards tam, gdzie projekt używa uv run inwards. Uruchom workflow przygotowania z karty Actions i sprawdź jego log. |
| Na pull requeście Copilota nie działa żadne sprawdzenie | Workflow czekają na Approve and run workflows w sekcji scalania pull requesta. |