tarwin/tinyjsapp/skill
Claude Code and agent skill by tarwin/tinyjsapp
- community
Checking that the SKILL.md file is still in the repository.
Build and modify tinyjs desktop apps — tiny macOS, Windows and Linux apps with a txiki.js JavaScript backend and a native webview window. Use when working in a project with a tinyjs.json, when the user mentions tinyjs, tiny.api, or tinyjs dev/build, or when porting an Electron app to tinyjs.
Install
npx vskill@latest install tarwin/tinyjsapp/skillSKILL.md
Building tinyjs apps
tinyjs (https://tinyjs.app, repo tarwin/tinyjsapp) makes ~6 MB desktop apps: a txiki.js backend (full system access: files, sockets, processes, FFI)
- a native webview window — WKWebView on macOS, WebView2 on Windows,
WebKitGTK 4.1 on Linux. They talk over a private socket — no HTTP server, no ports. The page has no direct system access: everything privileged crosses tiny.api (which the tinyjs.json "api" gate can narrow), which is why anything interpolated into innerHTML must be escaped. Two launcher-side paths skip that crossing, both limited to the app's own pages and the origins "api" trusts: tiny.proxyURL's tiny-media:// proxy (cross-origin http(s) reads, macOS + Linux; media.proxy) and mic/camera (media.microphone / media.camera).
Current release: 0.68.0. App floors: macOS 15+ — a default build opens only on the build Mac's CPU (build --arch arm64|x86_64 or --universal for the other); Windows 10/11 (WebView2), x64 or arm64 per the tinyjs install; Linux glibc 2.35+ (Ubuntu 22.04 / Debian 12 / Mint 21 and up).
Read the reference for the job at hand
| doing | read | |
|---|---|---|
| any API beyond the basics below (windows, menus, tray, clipboard, audio, permissions, system…) | references/api.md | |
| per-OS support, Windows/Linux quirks, capability gating | references/platforms.md | |
| starting a tray app, desktop pet/overlay, media app, document app, site wrapper, agent app | references/recipes.md | |
| shipping: build/sign/notarize, per-OS packaging, auto-update manifests | references/release.md | |
| porting from Electron (API map, what won't work) | references/electron-migration.md | |
| deciding where code runs, wire/binary payloads, throttling, memory | references/performance.md |
Exact signatures are in the project's types/tiny.d.ts (page and app) and types/tjs.d.ts (txiki.js). For detail the references leave out, the docs are online as markdown: https://tinyjs.app/llms.txt indexes every page (https://tinyjs.app/docs/<page>.md), and https://tinyjs.app/llms-full.txt is all of them in one file.
Commands
Project layout
Backend (src/backend/main.js)
Runtime is txiki.js (tjs global): tjs.readFile/writeFile/readDir/stat, tjs.spawn, tjs.watch, fetch, WebSocket, tjs:sqlite, FFI. It is NOT Node (no require, no Node builtins, no native npm modules) and it has no JIT — compute-heavy work belongs in the page (references/performance.md). Streams need getReader() (no for await); tjs.cwd is a property; no Intl (format in the page). Every tjs.* fs call is async — await it — while tjs:sqlite is fully sync (never await; statements have run/all/finalize only, no get(), run() returns void).
Frontend essentials
Everything else — windows/chrome/state events, menus (in every window), dialogs, tray, notifications, clipboard, hotkeys, audio (sampler / filters / audioTap / proxyURL), store/secrets, cookies, permissions, deep links, auto-update, tiny.macos.* — is in references/api.md with signatures and gotchas.
Cross-platform rules
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskill/SKILL.md
Popularity
- Repository stars
- 642
- Repository forks
- 19
- 7-day trend score
- 37
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/tarwin/tinyjsapp/skill)