Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
TRMNL 전자잉크 화면에서 자동 진행되는 게임, Desk Crawler는 15분마다 새로운 모험을 제공하는 무료 오피스 RPG
Games that play themselves on your TRMNL e-ink display. Desk Crawler is a free office RPG where your hero takes on a new adventure every 15 minutes, on the screen on your desk.
플러그인TypeScript · JavaScriptGitHub @barrymichaeldoyle온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Desk Crawler: an office RPG that plays itself on your TRMNL e-ink display. Companion at trmnlgames.com; join the waiting list for the marketplace launch.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Install Desk Crawler on TRMNL · Play at trmnlgames.com
Also by the same author: Formula 1 Race Weekend, a TRMNL plugin that follows the current F1 weekend with sessions, weather, grid and results, powered by GrandPrixPicks.com.
A passive multiplayer office RPG for your desk. A hero explores every 15 minutes, finds equipment, survives mishaps, and climbs a global leaderboard. Built exclusively for TRMNL: install the plugin to start your hero, watch the story on e-ink, and use the companion website for occasional decisions.README 전문 보기 ↗Install Desk Crawler on TRMNL · Play at trmnlgames.com
Also by the same author: Formula 1 Race Weekend, a TRMNL plugin that follows the current F1 weekend with sessions, weather, grid and results, powered by GrandPrixPicks.com.
A passive multiplayer office RPG for your desk. A hero explores every 15 minutes, finds equipment, survives mishaps, and climbs a global leaderboard. Built exclusively for TRMNL: install the plugin to start your hero, watch the story on e-ink, and use the companion website for occasional decisions.
Phase: live on the TRMNL marketplace. Plugin 564 was submitted to TRMNL on 2026-10-07 and is listed at https://trmnl.com/integrations/desk-crawler. The companion, Convex backend and TRMNL integration are live, with production on content v12 (stances, potion pouch, merchant, decisions, effects, affixes, epic gear, desk raids, the to-do list, gold-only bag and pouch ladders, and from v12 the career ladder with level-gated unlocks) and device template v52. See the roadmap for what comes next. See implementation status and release checks for verified behavior and remaining gates. Run pnpm install then pnpm check and pnpm balance.
Confirmed on 2026-10-03:
Start with the documentation index, MVP definition, decisions and open questions, and agent work packages.
Desk Crawler now runs on the shared TRMNL Games platform at trmnlgames.com. The monorepo/domain migration is complete; the migration plan records the rollout and remaining review preparation.
The first release includes all four TRMNL layouts because Third Party marketplace publication requires them. The canonical flat player JSON remains a separate API contract; the marketplace endpoint returns markup plus merge variables.
Game constants, targets, and estimates are planning proposals, not measured outcomes. Platform facts have references in research notes. Future releases are direction, not instructions to build every feature now.
pnpm install
cp .env.example .env.local # then fill in values (see comments)
npx convex dev # Convex backend, schema and functions
pnpm dev # web app on http://localhost:3000
pnpm check # typecheck + all tests
pnpm lint:trmnl:setup # install the pinned official linter (once)
pnpm lint:trmnl # lint all four TRMNL layouts
pnpm crosscheck:trmnl # compare preview Liquid (liquidjs) with Ruby Liquid via trmnlp
pnpm balance # balance harness (see docs/evidence/balance.md)
pnpm tsx tools/trmnl/preview.ts # local TRMNL layout previews in .previews/
# Interactive preview gallery (dev server only): http://localhost:3000/dev/desk-crawler
# every scenario × OG/X/BWRY × full/half/side/quarter × landscape/portrait
TRMNL lint uses the official trmnlp lint command from trmnl_preview 0.27.0. It requires Ruby 4+ and Bundler; if your default Ruby is older, the wrapper uses mise exec [email protected] (install it with mise install [email protected]). Dependencies stay in ignored .trmnl-lint/, and setup uses the committed Gemfile lock. The wrapper extracts the current TypeScript templates into a temporary directory, uses the preview's pinned framework version, and runs every official rule. It then checks that every static class in the templates exists in that framework version's CSS (downloaded once into .trmnl-lint/framework/), because the official rules accept classes that do nothing, such as mt--[1px]. For JSON output, run pnpm exec tsx tools/trmnl/lint.ts --json. Listing name/description are mirrored in tools/trmnl/lint/settings.yml; update them when the listing changes.
The previews and the companion's live preview render Liquid with liquidjs, while TRMNL renders with Ruby Liquid. pnpm crosscheck:trmnl uses the same pinned bundle to render every preview fixture set (each state and layout, with and without a keepsake code) through the Liquid environment trmnlp builds: Ruby Liquid plus TRMNL's filters, in UTC, with strict filters. It fails on any difference from liquidjs, including a filter that liquidjs supports but TRMNL lacks, and writes both outputs to .previews/crosscheck/. It compares markup only and does not inject trmnlp's simulated trmnl object, since third-party markup only receives merge variables. Run it after template changes alongside lint.
The separate TRMNL lint workflow runs for relevant pull requests and pushes to main. pnpm check remains the Node-only typecheck/test gate used by Cloudflare builds. Lint complements the required layout previews and live render checks.
What is built and what remains: implementation status.
Cloudflare Workers Builds deploys production on every push to main:
pnpm build:deploy (typecheck, tests, then convex deploy to exciting-cormorant-948, which runs pnpm build once the backend is live). Deploy command: pnpm deploy:web (companion on trmnlgames.com).CONVEX_DEPLOY_KEY. Non-production branch builds are off, because any build deploys production Convex..env.production. Server secrets live on the platforms: Convex env (npx convex env set --prod ...) and Worker secrets (npx wrangler secret put ...: CLERK_SECRET_KEY, INSTALL_FLOW_KEY).| Path | Purpose |
|---|---|
LICENSE | MIT for code; artwork, authored narrative content and the name/logo reserved |
docs/ | Product, gameplay, backend, API, UI, operations, QA, roadmap, and handoff plans |
docs/fixtures/ | Illustrative contract examples, not a live backend |
.agents/skills/trmnl/ | Official TRMNL agent skill and its upstream references |
memory/ | Project decisions recorded for continuity |
Read AGENTS.md before taking a work package.
Also useful: TRMNL player experience, ranking, inventory and the implementation evidence checklist. Earlier planning reviews are in docs/history. Tuning and technical evidence remain open.