{"id":30754294,"url":"https://github.com/reddit/devvit-paint-tv","last_synced_at":"2025-09-04T09:09:16.044Z","repository":{"id":274658503,"uuid":"923636867","full_name":"reddit/devvit-paint-tv","owner":"reddit","description":"QVC for Bob Ross (Devvit game).","archived":false,"fork":false,"pushed_at":"2025-01-28T15:56:09.000Z","size":0,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-28T16:37:42.260Z","etag":null,"topics":["devvit","devvit-app"],"latest_commit_sha":null,"homepage":"https://sh.reddit.com/r/PaintTV","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reddit.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.text","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-28T15:51:40.000Z","updated_at":"2025-01-28T16:00:55.000Z","dependencies_parsed_at":"2025-01-28T16:37:53.568Z","dependency_job_id":"b163ac6a-dfa9-40cb-aa54-70817eaca7e0","html_url":"https://github.com/reddit/devvit-paint-tv","commit_stats":null,"previous_names":["reddit/devvit-paint-tv"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/reddit/devvit-paint-tv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddit%2Fdevvit-paint-tv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddit%2Fdevvit-paint-tv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddit%2Fdevvit-paint-tv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddit%2Fdevvit-paint-tv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reddit","download_url":"https://codeload.github.com/reddit/devvit-paint-tv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddit%2Fdevvit-paint-tv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273581250,"owners_count":25131393,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["devvit","devvit-app"],"created_at":"2025-09-04T09:08:03.933Z","updated_at":"2025-09-04T09:09:16.035Z","avatar_url":"https://github.com/reddit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎨📺 Paint TV\n\nQVC for Bob Ross\n\n## [How to Play](docs/how-to-play.md)\n\n## Development\n\nInstall all dependencies once after cloning (and whenever they change).\n\n```sh\nnpm install\n```\n\nRun `npm test` to execute tests. See\n[supplemental development notes](docs/dev.md).\n\n### Local Iframe Development\n\nDevelop locally for iframe (web view code under src/iframe and src/shared).\n\n```sh\nnpm start\n```\n\nVisit **[http://localhost:1234](http://localhost:1234)** in your web browser. No\ncode or data is uploaded.\n\n### Playtest Production and Devvit Blocks\n\nDevelop in prod with playtest for Devvit Blocks (src/main.ts, src/devvit, and\nsrc/shared).\n\nFirst, copy the template and upload an initial version. This only needs to be\ndone once.\n\n```sh\ncp tools/devvit.template.yaml devvit.dev.yaml\n# edit the name field to be uniquely associated to you such as painttvfoo; it\n# must be 16 characters or less.\n\nnpm run devvit:dev:upload\n```\n\n⚠️ Execute `npm run devvit:dev:upload` verbatim; it references the dev config.\n\nNow playtest whenever wanted.\n\n```\nnpm run playtest -- r/\u003cdevelopment subreddit uniquely associated to you\u003e\n```\n\nVisit **`https://reddit.com/r/\u003csub\u003e?playtest\u0026devvitdebug=app`**. Also,\nlaunches [local iframe development](#local-iframe-development).\n\n⚠️ `devvit` logs do not include iframe output.\n\n### NPM Scripts\n\n- `install`: install app dependencies.\n- `start`: run development server on\n  [http://localhost:1234](http://localhost:1234).\n- `playtest r/\u003csub\u003e`: live-reload on reddit.com. Don't forget to append the\n  `?playtest\u0026devvitdebug=app` query parameters to the URL. Also starts the local\n  development server.\n- `test`: execute all tests. Anything that can be validated automatically before\n  publishing runs through this command.\n- `run test:unit`: run the unit tests. Pass `--update` to update all test\n  snapshots.\n- `run format`: apply lint fixes automatically where available.\n- `run build`: compile source inputs to artifacts under `dist/` and `webroot/`.\n- `run devvit:install`: build, upload, and install a new version to r/PaintTV.\n- `run devvit:dev:upload`: upload a new development version for new dev setup.\n\n💡 Add `--` to pass arguments to the script command. For example,\n`npm run test:unit -- --update` to update snapshots.\n\n### Project Structure\n\n- **assets**/: Devvit Blocks data uploads.\n- **docs**/: supplemental documentation.\n- **src**/: source inputs.\n  - **devvit**/, **src/main.ts**: Devvit Blocks code.\n  - **iframe**/: web view code.\n  - **shared**/: code that may run in iframe and / or Devvit.\n  - **test**/, **\\*.test.ts**: tests and test utils.\n- **tools**/: development scripts and configs.\n- **webroot**/: iframe uploads.\n  - **assets**/: iframe data uploads.\n  - **index.\\***: iframe web page code uploads.\n\n## [License (BSD-3-Clause)](license.text)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddit%2Fdevvit-paint-tv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freddit%2Fdevvit-paint-tv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddit%2Fdevvit-paint-tv/lists"}