{"id":20859168,"url":"https://github.com/bearstudio/start-repo","last_synced_at":"2025-05-12T08:32:11.405Z","repository":{"id":37003204,"uuid":"452695243","full_name":"BearStudio/start-repo","owner":"BearStudio","description":"🪲 Easily create default issues for your next project on GitHub or GitLab","archived":false,"fork":false,"pushed_at":"2024-11-01T21:43:11.000Z","size":1993,"stargazers_count":17,"open_issues_count":13,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-01T22:33:46.079Z","etag":null,"topics":["github","gitlab","hacktoberfest","issues","project-management","start-ui"],"latest_commit_sha":null,"homepage":"https://start-repo.bearstudio.tools/","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/BearStudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-01-27T13:33:45.000Z","updated_at":"2024-11-01T21:43:14.000Z","dependencies_parsed_at":"2024-08-26T15:55:09.677Z","dependency_job_id":"e4e93393-b3bb-497c-84a6-32369b137387","html_url":"https://github.com/BearStudio/start-repo","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/BearStudio%2Fstart-repo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BearStudio%2Fstart-repo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BearStudio%2Fstart-repo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BearStudio%2Fstart-repo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BearStudio","download_url":"https://codeload.github.com/BearStudio/start-repo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225130736,"owners_count":17425506,"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":["github","gitlab","hacktoberfest","issues","project-management","start-ui"],"created_at":"2024-11-18T04:48:51.132Z","updated_at":"2024-11-18T04:48:51.207Z","avatar_url":"https://github.com/BearStudio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003cimg src=\"assets/start-repo.svg\" alt=\"Start REPO\" width=\"300\" /\u003e\u003c/h1\u003e\n\n🪲 Start REPO\n\nThe purpose of Start REPO is to easily create default issues on a new GitHub or\nGitLab repository. It is a simple way to get started with your projects. We do\nhave a lot of clients at BearStudio and we need to create a bunch of default\nissues when bootstrapping a new project. This is where Start REPO comes.\n\nScopes are here to easily target the kind of project you are starting: `web`,\n`mobile`, `desktop`, `server`, `game`, are some example of scopes you can\ncreate.\n\n## Installation\n\n```bash\nyarn install\nyarn build\n```\n\n## Project Setup\n\n- Duplicate and rename your `.env.example` into `.env`.\n\n### GitHub\n- Go to your github [developper settings](https://github.com/settings/developers). Create a new OAuth app and a new client secret.\n- Fill your `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` env variable with your client id and client secret.\n\n\n\u003e [!NOTE]\n\u003e **If you need to request access to your organization :**\n\u003e - You can approve it in the OAuth policies page when logged in as an administrator of your organization.\n\n### GitLab\n- Go to your gitlab [applications](https://gitlab.com/-/user_settings/applications). Create a new OAuth app with `http://localhost:3000/api/auth/callback/gitlab` as the callback url as you are in development mode.\n- Check the `read_user` scope as it is needed for authentication.\n- Fill your `GITLAB_CLIENT_ID` and `GITLAB_CLIENT_SECRET` env variable with your application id and application secret.\n\n\n## Development\n\n```bash\nyarn dev\n```\n\n### Storybook\n\n```bash\nyarn storybook\n```\n\n## Show hint on development environments\n\nSetup the `NEXT_PUBLIC_DEV_ENV_NAME` env variable with the name of the environment.\n\n```\nNEXT_PUBLIC_DEV_ENV_NAME=staging\nNEXT_PUBLIC_DEV_ENV_COLOR_SCHEME=teal\n```\n\n\n## Translations\n\n### Setup the i18n Ally extension\n\nWe recommended using the [i18n Ally](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) plugin for VS Code for translations management.\n\nCreate or edit the `.vscode/settings.json` file with the following settings:\n\n```json\n{\n  \"i18n-ally.localesPaths\": [\"src/locales\"],\n  \"i18n-ally.keystyle\": \"nested\",\n  \"i18n-ally.enabledFrameworks\": [\"general\", \"react\", \"i18next\"],\n  \"i18n-ally.namespace\": true,\n  \"i18n-ally.defaultNamespace\": \"common\",\n  \"i18n-ally.extract.autoDetect\": true,\n  \"i18n-ally.keysInUse\": [\"common.languages.*\"]\n}\n```\n\n### Guidelines for translations\n\n- Use namespaces `t('namespace:translationKey')` and nesting `t('namespace:this.is.nested')`.\n```js\n// Example for translations available in account.json\nt('account:data.firstname.label')\n```\n\n- For fields and data translations use a `data` object.\n```json\n// account.json\n{\n  \"data\": {\n    \"firstname\": {\n      \"label\": \"First Name\",\n      \"required\": \"First Name is required\",\n    },\n  }\n}\n```\n```js\n// React\nt('account:data.firstname.label')\nt('account:data.firstname.required')\n```\n\n- For user feedbacks, use a `feedbacks` object with `actionSuccess` \u0026 `actionError` keys containing each `title` and `description` (optional).\n```json\n// account.json\n{\n  \"resetPassword\": {\n    \"feedbacks\": {\n      \"confirmSuccess\": {\n        \"title\": \"Your password has been reset\",\n        \"description\": \"You can now login\"\n      },\n      \"confirmError\": {\n        \"title\": \"Reset password failed\"\n      }\n    }\n  }\n}\n```\n```js\n// React\nt('account:resetPassword.feedbacks.updateSuccess.title')\nt('account:resetPassword.feedbacks.updateSuccess.description')\nt('account:resetPassword.feedbacks.updateError.title')\n```\n\n- For user actions, use an `actions` object.\n```json\n// account.json\n{\n  \"resetPassword\": {\n    \"actions\": {\n      \"send\": \"Send Email\",\n      \"reset\": \"Reset Password\"\n    }\n  }\n}\n```\n```js\n// React\nt('account:resetPassword.actions.send')\nt('account:resetPassword.actions.reset')\n```\n\n- Use the common workspace only for VERY generic translations. By default, use specific namespaces to allow easy update on large code base without unwanted side-effects.\n\n## Production\n\n```bash\nyarn storybook:build # Optional: Will expose the Storybook at `/storybook`\nyarn build\nyarn start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearstudio%2Fstart-repo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbearstudio%2Fstart-repo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbearstudio%2Fstart-repo/lists"}