{"id":19290635,"url":"https://github.com/jacob-ebey/remix-flags","last_synced_at":"2025-07-25T16:02:51.130Z","repository":{"id":82849259,"uuid":"498603187","full_name":"jacob-ebey/remix-flags","owner":"jacob-ebey","description":"Eventually* Everything you'll need for successful feature flagging","archived":false,"fork":false,"pushed_at":"2022-06-18T04:17:23.000Z","size":685,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T20:24:44.937Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://remix-flags.com","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/jacob-ebey.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":"2022-06-01T05:30:44.000Z","updated_at":"2024-02-26T14:18:36.000Z","dependencies_parsed_at":"2023-03-01T08:45:51.967Z","dependency_job_id":null,"html_url":"https://github.com/jacob-ebey/remix-flags","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacob-ebey%2Fremix-flags","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacob-ebey%2Fremix-flags/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacob-ebey%2Fremix-flags/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacob-ebey%2Fremix-flags/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacob-ebey","download_url":"https://codeload.github.com/jacob-ebey/remix-flags/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250175096,"owners_count":21387138,"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":[],"created_at":"2024-11-09T22:21:02.807Z","updated_at":"2025-04-22T05:32:33.112Z","avatar_url":"https://github.com/jacob-ebey.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# remix-flags\n\n_Eventually_ Everything you'll need for successful feature flagging\n\n## What's inside?\n\nThis repo uses [npm](https://www.npmjs.com/) as a package manager. It includes the following packages/apps:\n\n### Packages\n\n- `packages/db`: abstractions for DB interactions\n- `packages/db-fauna`: an implementation of the `db` abstraction using FaunaDB\n- `packages/remix-app`: a [Remix](https://remix.run/) application that makes up the public facing UX\n- `packages/worker`: a Cloudflare Worker that brings everything together for deployment\n- `config/cloudflare-env`: type definitions for bindings shared across the packages\n- `config/eslint-config-custom`: shared eslint config that includes `@remix-run/eslint-config` and `prettier`\n- `config/tsconfig`: base tsconfig that other packages inherit from\n\nEach `package/*` is 100% [TypeScript](https://www.typescriptlang.org/).\n\n### Utilities\n\nThis turborepo has some additional tools already setup for you:\n\n- [TypeScript](https://www.typescriptlang.org/) for static type checking\n- [ESLint](https://eslint.org/) for code linting\n- [Prettier](https://prettier.io) for code formatting\n- [Github Actions](https://github.com/features/actions)\n\n## Setup\n\nClone and install dependencies:\n\n```\nnpm i\n```\n\n### Build\n\nTo build all apps and packages, run the following command:\n\n```\nnpm run build\n```\n\n### Develop\n\nCopy `packages/worker/wrangler.example.toml` to `packages/worker/wrangler.dev.toml` and edit it to match your environment, or leave it as-is for a local dev environment using the `docker-compose.yml`.\n\nIf using docker for your local database, you can run the following command to start the database:\n\n```\ndocker-compose up -d\n```\n\nTo develop all apps and packages, run the following command:\n\n```\nnpm run dev\n```\n\n### Deployment\n\nDeployment is done through GitHub Actions. Deployments are triggered whenever you merge to the `main` branch.\n\nThe following GitHub action secrets are required:\n\n- `CF_API_TOKEN`: your Cloudflare API token used for deployment\n- `FAUNA_ADMIN_KEY`: your FaunaDB admin key used for migrations\n\nThe following GitHub action secrets are optional:\n\n- `TURBO_TEAM`: your Turbo team ID used for remote caching\n- `TURBO_TOKEN`: your Turbo token used for remote caching\n\n### Remote Caching\n\nTurborepo can use a technique known as [Remote Caching (Beta)](https://turborepo.org/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.\n\nBy default, Turborepo will cache locally. To enable Remote Caching (Beta) you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:\n\n```\nnpx turbo login\n```\n\nThis will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).\n\nNext, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:\n\n```\nnpx turbo link\n```\n\n## Useful Links\n\nLearn more about the power of Turborepo:\n\n- [Pipelines](https://turborepo.org/docs/core-concepts/pipelines)\n- [Caching](https://turborepo.org/docs/core-concepts/caching)\n- [Remote Caching (Beta)](https://turborepo.org/docs/core-concepts/remote-caching)\n- [Scoped Tasks](https://turborepo.org/docs/core-concepts/scopes)\n- [Configuration Options](https://turborepo.org/docs/reference/configuration)\n- [CLI Usage](https://turborepo.org/docs/reference/command-line-reference)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacob-ebey%2Fremix-flags","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacob-ebey%2Fremix-flags","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacob-ebey%2Fremix-flags/lists"}