{"id":49921080,"url":"https://github.com/putdotio/taizn","last_synced_at":"2026-05-16T20:01:03.879Z","repository":{"id":356989061,"uuid":"1234734160","full_name":"putdotio/taizn","owner":"putdotio","description":"A tiny CLI companion for interacting with Tizen ecosystem.","archived":false,"fork":false,"pushed_at":"2026-05-10T19:50:33.000Z","size":79,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-10T21:06:31.403Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/putdotio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-10T15:17:15.000Z","updated_at":"2026-05-10T19:50:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/putdotio/taizn","commit_stats":null,"previous_names":["putdotio/taizn"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/putdotio/taizn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/putdotio%2Ftaizn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/putdotio%2Ftaizn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/putdotio%2Ftaizn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/putdotio%2Ftaizn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/putdotio","download_url":"https://codeload.github.com/putdotio/taizn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/putdotio%2Ftaizn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33113508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-16T20:01:03.094Z","updated_at":"2026-05-16T20:01:03.873Z","avatar_url":"https://github.com/putdotio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003cimg src=\"https://static.put.io/images/putio-boncuk.png\" width=\"72\"\u003e\n  \u003c/p\u003e\n\n  \u003ch1\u003etaizn\u003c/h1\u003e\n\n  \u003cp\u003eA tiny CLI companion for interacting with Tizen ecosystem.\u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/putdotio/taizn/actions/workflows/ci.yml?query=branch%3Amain\" style=\"text-decoration:none;\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/putdotio/taizn/ci.yml?branch=main\u0026style=flat\u0026label=ci\u0026colorA=000000\u0026colorB=000000\" alt=\"CI\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.npmjs.com/package/@putdotio/taizn\" style=\"text-decoration:none;\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/%40putdotio%2Ftaizn?style=flat\u0026label=npm\u0026logo=npm\u0026colorA=000000\u0026colorB=000000\" alt=\"npm version\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/putdotio/taizn/blob/main/LICENSE\" style=\"text-decoration:none;\"\u003e\u003cimg src=\"https://img.shields.io/github/license/putdotio/taizn?style=flat\u0026label=license\u0026colorA=000000\u0026colorB=000000\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## Install\n\n```bash\npnpm add -D @putdotio/taizn\n```\n\nInstall the Tizen command-line tools and make sure `tizen` and `sdb` work\nlocally.\n\n## Usage\n\nCreate `taizn.json` in the app directory, keep `.taizn/` ignored, then run:\n\n```bash\npnpm exec taizn check\npnpm exec taizn package\npnpm exec taizn install\npnpm exec taizn run\n```\n\nProject files:\n\n- `taizn.json`: app build, widget, signing, and variant config\n- `.taizn/.env`: optional local secrets read by Node\n- `.taizn/certificates/`: optional local author/distributor certs for `taizn profile`\n- `.taizn/remote.json`: optional paired Samsung TV remote token\n- `.taizn/build/`: generated package staging and output\n\n## Commands\n\n```bash\ntaizn check\ntaizn check --json\ntaizn apps\ntaizn apps put\ntaizn apps --json put\ntaizn launch GinifYRGmZ.putio\ntaizn prove GinifYRGmZ.putio\ntaizn prove --json GinifYRGmZ.putio\ntaizn profile\ntaizn package\ntaizn install\ntaizn run\ntaizn tv doctor\ntaizn tv doctor --json\ntaizn tv doctor --connect --json\ntaizn tv info\ntaizn tv info --json\ntaizn tv pair\ntaizn tv press KEY_ENTER\ntaizn tv press --json KEY_ENTER\ntaizn tv press --delay-ms 250 KEY_HOME KEY_DOWN KEY_ENTER\ntaizn --version\n```\n\n`check` verifies the configured Tizen CLI and `sdb`, then prints connected\ntargets without requiring `taizn.json`. Add `--json` to emit the configured\ntool paths and connected targets for agents and scripts. `apps` lists installed\napplications on the target, with an optional query filter. Add `--json` to emit\na structured inventory for agents and scripts. `launch` starts an already-installed\napplication by exact application ID, exact name, or a unique query. `prove`\nchecks the installed app inventory, launches the matched app, and prints a\ncompact proof transcript. Add `--json` when an agent or script needs structured\nproof output. `profile` imports\n`.taizn/certificates/author.p12` and\n`.taizn/certificates/distributor.p12` into a Tizen security profile.\n`package` builds and signs a `.wgt`. `install` packages and sideloads it.\n`run` launches the configured variant application on the target. `tv` commands use\nSamsung's websocket remote-control API to inspect a TV,\ndiagnose remote-control readiness, pair for a remote token, and send remote-control\nkey presses. Add `--json` to `tv doctor` for structured host/token/connection\ndiagnostics, to `tv info` for a structured TV capability snapshot, or to\n`tv press` for a structured key-sequence receipt. See\n[Samsung TV Remote](./docs/TV_REMOTE.md) for pairing, environment, and limits.\n`tv press` accepts one key or a sequence of keys.\n\n## Environment\n\nCopy [.env.example](./.env.example) into `.taizn/.env` or export values in the\nshell:\n\n```bash\nTAIZN_CERT_PASSWORD=...\nTAIZN_DIST_PASSWORD=...\nTAIZN_VARIANT=development\nTAIZN_TARGET=\u003ctv-ip\u003e:26101\nTAIZN_TIZEN_CLI=~/tizen-studio/tools/ide/bin/tizen\nTAIZN_SDB=~/tizen-studio/tools/sdb\nTAIZN_TV_HOST=\u003ctv-ip\u003e\nTAIZN_TV_INFO_PORT=8001\nTAIZN_TV_NAME=taizn\nTAIZN_TV_PORT=8002\nTAIZN_TV_PROTOCOL=wss\nTAIZN_TV_TIMEOUT_MS=30000\nTAIZN_TV_TOKEN=\u003cpaired-remote-token\u003e\n```\n\n`taizn tv` uses `TAIZN_TV_HOST`, or the host part of `TAIZN_TARGET` when no TV\nhost is set. `TAIZN_TV_INFO_PORT` controls the HTTP metadata endpoint; the\nremote-control websocket still uses `TAIZN_TV_PORT`. `taizn tv pair` writes the\npaired remote token to `.taizn/remote.json`; keep `.taizn/` ignored.\n\n## Config\n\n```json\n{\n  \"build\": {\n    \"command\": [\"pnpm\", \"build\"],\n    \"output\": \"dist\",\n    \"requiredFiles\": [\"main.css\", \"main.js\"]\n  },\n  \"signing\": {\n    \"certificateDir\": \".taizn/certificates\",\n    \"profile\": \"my-tizen-profile\"\n  },\n  \"widget\": {\n    \"configXml\": \"platforms/tizen/config.xml\",\n    \"excludeFiles\": [\"js/main.js.map\", \"css/main.css.map\"],\n    \"indexHtml\": \"platforms/tizen/index.html\",\n    \"injectWebapis\": true,\n    \"rewriteAssetUrls\": false,\n    \"variants\": {\n      \"development\": {\n        \"applicationId\": \"ExampleDev.app\",\n        \"bundleName\": \"example-dev\",\n        \"icon\": \"platforms/tizen/icons/dev.png\",\n        \"name\": \"Example Dev\",\n        \"packageId\": \"ExampleDev\"\n      },\n      \"production\": {\n        \"applicationId\": \"Example.app\",\n        \"bundleName\": \"example\",\n        \"excludeFiles\": [\"js/main.js.LICENSE.txt\"],\n        \"icon\": \"platforms/tizen/icon.png\",\n        \"indexHtml\": \"platforms/tizen/hosted.html\",\n        \"injectWebapis\": true,\n        \"name\": \"Example\",\n        \"packageId\": \"Example\",\n        \"rewriteAssetUrls\": false\n      }\n    }\n  }\n}\n```\n\nVariant `indexHtml`, `injectWebapis`, and `rewriteAssetUrls` values override\nthe top-level `widget` values. Variant `excludeFiles` values are added to\ntop-level `widget.excludeFiles`. Use them when development packages should\nbundle local app assets but production packages should load hosted asset URLs.\n\n## Docs\n\n- [Contributing](./CONTRIBUTING.md)\n- [Distribution](./docs/DISTRIBUTION.md)\n- [Samsung TV Remote](./docs/TV_REMOTE.md)\n- [Security](./SECURITY.md)\n\n## Repo Internals\n\n- [Agent guide](./AGENTS.md)\n- Effect source for local API research lives in ignored `.repos/effect`; dependency installs bootstrap it outside CI.\n\n## Contributing\n\nSee [Contributing](./CONTRIBUTING.md) for setup, checks, and pull request flow.\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fputdotio%2Ftaizn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fputdotio%2Ftaizn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fputdotio%2Ftaizn/lists"}