Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 0 additions & 28 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

57 changes: 57 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Bug report
description: Report a reproducible rokit problem
labels:
- bug
body:
- type: textarea
id: what-happened
attributes:
label: What happened
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Reproduction
description: Exact commands that reproduce the problem.
render: bash
validations:
required: true
- type: input
id: rokit-version
attributes:
label: rokit version
placeholder: "2.4.3"
validations:
required: true
- type: input
id: node-version
attributes:
label: Node version
placeholder: "24.18.0"
validations:
required: true
- type: input
id: roku-model
attributes:
label: Roku model or emulator
placeholder: Roku Ultra 4802X
- type: input
id: os
attributes:
label: OS
placeholder: macOS 15.6
- type: textarea
id: evidence
attributes:
label: Evidence
description: >-
Add logs, command output, screenshots, or generated artifacts when
useful. Do not include device passwords, account tokens, signing keys,
private content IDs, or local device identifiers.
23 changes: 0 additions & 23 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Feature request
description: Suggest a generic Roku harness primitive
labels:
- enhancement
body:
- type: textarea
id: use-case
attributes:
label: Use case
validations:
required: true
- type: textarea
id: proposed-command-or-api
attributes:
label: Proposed command or API
render: bash
validations:
required: true
- type: textarea
id: proof-artifact
attributes:
label: Proof artifact
description: >-
What should the harness leave behind so a human or agent can verify
the behavior?
validations:
required: true
- type: textarea
id: boundaries
attributes:
label: Boundaries
description: What app-specific behavior should stay out of rokit?
12 changes: 10 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
`rokit` is a small Node CLI that wraps generic Roku device harness primitives.
Keep it platform-focused, typed, and useful for both humans and agents.

## Start Here

- [README.md](README.md) — install, command surface, env contract, quick start.
- [docs/DEBUGGING.md](docs/DEBUGGING.md) — Roku debug surfaces, console
capture, crash-proof workflow.
- [docs/DISTRIBUTION.md](docs/DISTRIBUTION.md) — release path, semantic-release
wiring, credentials.
- [skills/rokit/](skills/rokit/) — consumer skill and its command references.

## Generic Tool Boundary

- Keep `rokit` free of put.io product behavior. Do not add put.io app IDs,
Expand Down Expand Up @@ -80,8 +89,7 @@ guide doesn't cover, search through the source code in `node_modules/effect/src`
- Command, env, or output changes: update `README.md` and CLI tests.
- CI/release/publishing changes: update workflow docs or release config in the
same change.
- Keep `CLAUDE.md` as a symlink to this file if Claude-compatible discovery is
added.
- `CLAUDE.md` is a symlink to this file; keep it pointing here.

## Worktrees

Expand Down
2 changes: 1 addition & 1 deletion docs/DISTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The release path starts with the repo-local verification command:
pnpm verify
```

`verify` runs formatting/lint checks, TypeScript, package bundling, tests, and an npm pack dry run. GitHub Actions calls this same command before release.
`verify` runs formatting/lint checks, skill lint, TypeScript, package bundling, tests with a coverage floor, and an npm pack dry run. GitHub Actions calls this same command before release.

## Continuous Release

Expand Down
8 changes: 6 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,16 @@
"build": "vp pack src/index.ts src/rokit.ts --dts",
"check": "vp check .",
"clean": "rm -rf .turbo coverage dist",
"coverage": "vp test run --coverage",
"hooks:install": "git config core.hooksPath .git-hooks",
"live:smoke": "vp pack src/index.ts src/rokit.ts --dts && node dist/rokit.mjs check",
"live:probe": "scripts/live-probe.sh",
"prepack": "vp pack src/index.ts src/rokit.ts --dts",
"skills:lint": "skillcheck lint",
"smoke": "vp pack src/index.ts src/rokit.ts --dts && node dist/rokit.mjs --version && node dist/rokit.mjs --help >/dev/null",
"test": "vp pack src/index.ts src/rokit.ts --dts && vp test run --passWithNoTests",
"test": "vp pack src/index.ts src/rokit.ts --dts && vp test run",
"typecheck": "tsc --noEmit",
"verify": "vp check . && tsc --noEmit && vp pack src/index.ts src/rokit.ts --dts && node dist/rokit.mjs --version && node dist/rokit.mjs --help >/dev/null && vp test run --passWithNoTests && npm pack --dry-run"
"verify": "vp check . && skillcheck lint && tsc --noEmit && vp pack src/index.ts src/rokit.ts --dts && node dist/rokit.mjs --version && node dist/rokit.mjs --help >/dev/null && vp test run --coverage && npm pack --dry-run"
},
"dependencies": {
"@effect/platform-node": "4.0.0-beta.107",
Expand All @@ -65,6 +67,8 @@
"devDependencies": {
"@effect/vitest": "4.0.0-beta.107",
"@types/node": "^26.1.2",
"@uinaf/skillcheck": "0.4.0",
"@vitest/coverage-v8": "catalog:",
"typescript": "^7.0.2",
"vite": "catalog:",
"vite-plus": "0.2.6",
Expand Down
Loading