{"id":13719099,"url":"https://github.com/edmundhung/remix-cloudflare-template","last_synced_at":"2025-04-09T06:11:11.849Z","repository":{"id":37673178,"uuid":"398878693","full_name":"edmundhung/remix-cloudflare-template","owner":"edmundhung","description":"📜 [DO NOT USE / WORK IN PROGRESS] All-in-one remix starter template for Cloudflare Workers","archived":false,"fork":false,"pushed_at":"2024-09-27T21:33:22.000Z","size":694,"stargazers_count":322,"open_issues_count":3,"forks_count":62,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-01T19:21:21.151Z","etag":null,"topics":["cloudflare-workers","remix","remix-stack"],"latest_commit_sha":null,"homepage":"https://template.remix-run.workers.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/edmundhung.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-08-22T19:07:37.000Z","updated_at":"2025-03-09T03:05:49.000Z","dependencies_parsed_at":"2024-02-10T22:31:40.627Z","dependency_job_id":"642432a2-bf51-4664-9994-43d877447a67","html_url":"https://github.com/edmundhung/remix-cloudflare-template","commit_stats":null,"previous_names":["edmundhung/remix-worker-template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fremix-cloudflare-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fremix-cloudflare-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fremix-cloudflare-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edmundhung%2Fremix-cloudflare-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edmundhung","download_url":"https://codeload.github.com/edmundhung/remix-cloudflare-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247987285,"owners_count":21028895,"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","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":["cloudflare-workers","remix","remix-stack"],"created_at":"2024-08-03T01:00:42.441Z","updated_at":"2025-04-09T06:11:11.829Z","avatar_url":"https://github.com/edmundhung.png","language":"TypeScript","funding_links":[],"categories":["Starter","TypeScript"],"sub_categories":[],"readme":"# remix-cloudflare-template\n\nLearn more about [Remix Stacks](https://remix.run/stacks).\n\n```\nnpx create-remix@latest --template edmundhung/remix-cloudflare-template\n```\n\nWhat's included?\n\n- Development with [Vite](https://vitejs.dev)\n- Hosting on [Cloudflare Workers](https://developers.cloudflare.com/workers/)\n  with [Static Assets](https://developers.cloudflare.com/workers/static-assets/)\n- [Github Actions](https://github.com/features/actions) for continuous\n  integration\n- Automatic builds and deployments with\n  [Workers Build](https://developers.cloudflare.com/workers/ci-cd/builds/)\n- [Markdoc](https://markdoc.dev) for rendering markdown\n- Styling with [Tailwind](https://tailwindcss.com/)\n- End-to-end testing with [Playwright](https://playwright.dev/)\n- Local third party request mocking with [MSW](https://mswjs.io/)\n- Code formatting with [Prettier](https://prettier.io)\n- Linting with [ESLint](https://eslint.org)\n- Static Types with [TypeScript](https://typescriptlang.org)\n\n## Development\n\nBefore start, copy [.dev.vars.example](./.dev.vars.example) and name it\n`.dev.vars` with the required secrets.\n\n```sh\ncp .dev.vars.example .dev.vars\n```\n\nTo starts the vite dev server:\n\n```sh\nnpm run dev\n```\n\nYou can also start the Playwright UI mode to test your application. You will\nfind all the tests defined in the [/tests/e2e](./tests/e2e) directory.\n\n```sh\nnpm run test\n```\n\nTo test your application on the workerd runtime, you can start the wrangler dev\nserver with:\n\n```sh\nnpm run build \u0026\u0026 npm run start\n```\n\n### New environment variable \u0026 secret\n\nTo add a new secret, please\n[update the value](https://developers.cloudflare.com/workers/configuration/secrets/#secrets-in-development)\non the `.dev.vars` file.\n\nFor the rest of the environment variable, you can update the **var** section on\nthe [wrangler.toml](./wrangler.toml) file with the new variable:\n\n```toml\n[vars]\nNEW_VARIABLE = \"...\"\n```\n\nThe variables will be available from the `env` object in the context.\n\n### Setup a KV Namespace\n\nTo setup a new KV namespace on the **development environment**, update\n[wrangler.toml](./wrangler.toml) with another object similar to the cache\nnamespace as shown below:\n\n```toml\nkv_namespaces = [\n  { binding = \"cache\", id = \"cache\" },\n  { binding = \"new_namespace\", id = \"new_namespace\" }\n]\n```\n\nNote that the `id` has no effect on the dev environment. You can use the same\nname for both `id` and `binding`. The namespace will be available form the `env`\nobject in the context.\n\n### Generate env types\n\nYou can generate the types of the `env` object based on `wrangler.toml` and\n`.dev.vars` with:\n\n```sh\nnpm run typegen\n```\n\n## Deployment\n\nBefore your first deployment, make sure all the environment variables and\nbindings are set properly on the\n[Cloudlfare Dashboard](https://dash.cloudflare.com/login).\n\n### Creating a new application\n\nTo create a new application on the Cloudflare Dashboard, select **Workers and\nPages** from the menu and click on **Create Application**. You can then follow\nthe instructions based on your needs.\n\n### Setting up environment variables\n\nTo set up environment variables, select **Workers and Pages** from the menu and\nlook for the application details. You will find the **environment variables**\nsection under the **Settings** tab.\n\n### Setting up KV namespaces\n\nTo set up a new KV namespaces, you need to create a new namespace first through\nthe **KV** menu under **Workers and Pages** and click **Create a namespace**.\n\nAfter creating the namespace, you can bind the namespace to the application from\nthe application details page. You can find the setting from the **Functions**\nsection under the **Settings** tab.\n\n### Debugging\n\nIf your application is not working properly, you can find the real-time logs in\nthe **Functions** tab from the deployment details page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedmundhung%2Fremix-cloudflare-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedmundhung%2Fremix-cloudflare-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedmundhung%2Fremix-cloudflare-template/lists"}