Przejdź do treści
Biblioteka skilli
Programowanie · Analiza

cmux-debugging

/cmux-debugging

Pomaga diagnozować cmux: dodawać logi, szukać zawieszeń, profilować działanie i odtwarzać problemy z wersją systemu.

Repozytorium
CMUX ↗
Licencja
GPL-3.0
Ostatnia zmiana repozytorium
03.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
3
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 03.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

GPL-3.0, otwarta.

Co robi i kiedy

Pomaga diagnozować cmux: dodawać logi, szukać zawieszeń, profilować działanie i odtwarzać problemy z wersją systemu.

Oryginalny opis (EN)

Debug logging, hang diagnostics, profiling, runtime pitfalls, typing-latency-sensitive paths and OS-version repros for cmux. Use when adding debug probes, diagnosing UI/runtime issues or touching terminal rendering.

Jak działa

  1. Logs
  2. Hangs
  3. Profiling
  4. Runtime pitfalls
  5. Detailed references
Sekcje z nagłówków SKILL.md, w oryginale · 39 linii, 264 słów
Podgląd SKILL.md
---
name: cmux-debugging
description: "Debug logging, hang diagnostics, profiling, runtime pitfalls, typing-latency-sensitive paths and OS-version repros for cmux. Use when adding debug probes, diagnosing UI/runtime issues or touching terminal rendering."
---

# cmux Debugging

## Logs

App modules in `Packages/macOS/CmuxNext` log through
`Logger(subsystem: "com.cmuxterm.app.next", category: "<area>")`. Reuse an existing
category (`daemon`, `daemon.attach`, `terminal`, `hangs`, `cloud.link`, ...) and
put dynamic details after a stable message prefix so filtering stays practical.

```bash
log stream --level debug --predicate 'subsystem == "com.cmuxterm.app.next"'
```

Most probes belong to a dogfood debug loop and are removed before merge. Never log
secrets or terminal content.

## Hangs

`MainThreadWatchdog` (`CmuxNextControl/Diagnostics`) records every main-thread
stall over 50 ms with a stack sample and logs it under the `hangs` category. The
control socket exposes the ring buffer as `debug.hangs` and the main-actor work
queue as `debug.queue`; `scripts/cmux-next/bench_cli_storm.py` is a client.

## Profiling

Profile a tagged build by attaching to its pid (`xctrace record --attach <pid>`, `sample <pid>`). Never use `xctrace --launch` or Instruments' launch mode on any cmux bundle, and never quit, kill or relaunch the user's running cmux (`com.cmuxterm.app`): it holds their live agent sessions, and on 2026-09-26 a suspected profiler relaunch took five of them down.

## Runtime pitfalls

- The main thread never waits. `scripts/cmux-next/check-concurrency.sh` enforces the banned calls; see [architecture 5a](../../plans/cmux-next/architecture.md).
- Do not add a manual `ghostty_surface_draw` loop; rely on Ghostty wakeups and its renderer to avoid typing lag. Display links run only while an animation or scroll is active and stop themselves.
- Custom drag-and-drop UTTypes must be declared in `Resources/Info.plist` under `UTExportedTypeDeclarations`.
- Foundation, AppKit, SwiftUI, and WebKit semantics change between macOS majors. Test on the reporter's macOS before declaring a user repro disproven.

## Detailed references

- [references/runtime-pitfalls.md](references/runtime-pitfalls.md): read before touching terminal rendering, drag/drop, or OS-version-sensitive code.
Pliki w paczce (3)
  • SKILL.md 2 KB
  • agents/openai.yaml 1 KB
  • references/runtime-pitfalls.md 1 KB

Wersje

RepozytoriumWynikLicencja
Ta strona · legotec73/CMUX100GPL-3.0
manaflow-ai/cmux100GPL-3.0

Migawka bazy z 13.11.2026 · wersja paczki eac852ad9a63 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 90cmux-testing
    Dobiera zakres testów cmux, dodaje testy zachowania i sprawdza cele testowe Swift w konfiguracji.
  • 100cmux-diagnostics
    Uruchamia diagnostykę cmux, gdy nie działają hooki, powiadomienia, przywracanie sesji, ustawienia lub sterowanie z CLI.
  • 90cmux-testing
    Dobiera zakresową weryfikację cmux, pisze testy zachowania i sprawdza cele testów Swift oraz ich podpięcie w projekcie.
  • 90cmux-testing
    Dobiera zakresową weryfikację cmux, pisze testy zachowania i sprawdza cele testów Swift oraz ich podpięcie w projekcie.
  • 100worktree-cmux-workspace
    Otwiera worktree gita w nowym workspace cmux, gdy trzeba oddzielnego okna zamiast podziału bieżącego ekranu.
  • 100cmux-release
    Prowadzi wydanie cmux: podbijanie wersji, aktualizacja changelogu, pretag guard, tagi wydania i oczekiwane pliki release.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.