{
  "publisher": "Perch",
  "label": "Ktor",
  "source": "https://frameworkrecipes.dev/ktor/",
  "archive": "rule-pack.zip",
  "sha256": "7f7f3a9f6883a952d29a7eaa298be4de0fd0d9fb8e1673a6641757a3e6bb9d76",
  "installed_rule": ".perch/rules/perch-guide-ktor.yaml",
  "rules": [
    {
      "name": "receipt-queue-bounded",
      "where": "src/main/kotlin/example/ReceiptQueue.kt",
      "check": "perch check src/main/kotlin/example/ReceiptQueue.kt --rules receipt-queue-bounded --json"
    },
    {
      "name": "coroutine-cancellation-rethrown",
      "where": "src/main/kotlin/example/OrderLookup.kt",
      "check": "perch check src/main/kotlin/example/OrderLookup.kt --rules coroutine-cancellation-rethrown --json"
    }
  ],
  "agent_setup": [
    "perch setup claude-code",
    "perch setup codex",
    "perch setup cursor",
    "perch setup pi"
  ]
}
