Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bearstudio/start-repo
🪲 Easily create default issues for your next project on GitHub or GitLab
https://github.com/bearstudio/start-repo
github gitlab hacktoberfest issues project-management start-ui
Last synced: 3 days ago
JSON representation
🪲 Easily create default issues for your next project on GitHub or GitLab
- Host: GitHub
- URL: https://github.com/bearstudio/start-repo
- Owner: BearStudio
- License: mit
- Created: 2022-01-27T13:33:45.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-01T21:43:11.000Z (19 days ago)
- Last Synced: 2024-11-01T22:33:46.079Z (19 days ago)
- Topics: github, gitlab, hacktoberfest, issues, project-management, start-ui
- Language: TypeScript
- Homepage: https://start-repo.bearstudio.tools/
- Size: 1.9 MB
- Stars: 17
- Watchers: 3
- Forks: 2
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
🪲 Start REPO
The purpose of Start REPO is to easily create default issues on a new GitHub or
GitLab repository. It is a simple way to get started with your projects. We do
have a lot of clients at BearStudio and we need to create a bunch of default
issues when bootstrapping a new project. This is where Start REPO comes.Scopes are here to easily target the kind of project you are starting: `web`,
`mobile`, `desktop`, `server`, `game`, are some example of scopes you can
create.## Installation
```bash
yarn install
yarn build
```## Project Setup
- Duplicate and rename your `.env.example` into `.env`.
### GitHub
- Go to your github [developper settings](https://github.com/settings/developers). Create a new OAuth app and a new client secret.
- Fill your `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` env variable with your client id and client secret.> [!NOTE]
> **If you need to request access to your organization :**
> - You can approve it in the OAuth policies page when logged in as an administrator of your organization.### GitLab
- 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.
- Check the `read_user` scope as it is needed for authentication.
- Fill your `GITLAB_CLIENT_ID` and `GITLAB_CLIENT_SECRET` env variable with your application id and application secret.## Development
```bash
yarn dev
```### Storybook
```bash
yarn storybook
```## Show hint on development environments
Setup the `NEXT_PUBLIC_DEV_ENV_NAME` env variable with the name of the environment.
```
NEXT_PUBLIC_DEV_ENV_NAME=staging
NEXT_PUBLIC_DEV_ENV_COLOR_SCHEME=teal
```## Translations
### Setup the i18n Ally extension
We recommended using the [i18n Ally](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally) plugin for VS Code for translations management.
Create or edit the `.vscode/settings.json` file with the following settings:
```json
{
"i18n-ally.localesPaths": ["src/locales"],
"i18n-ally.keystyle": "nested",
"i18n-ally.enabledFrameworks": ["general", "react", "i18next"],
"i18n-ally.namespace": true,
"i18n-ally.defaultNamespace": "common",
"i18n-ally.extract.autoDetect": true,
"i18n-ally.keysInUse": ["common.languages.*"]
}
```### Guidelines for translations
- Use namespaces `t('namespace:translationKey')` and nesting `t('namespace:this.is.nested')`.
```js
// Example for translations available in account.json
t('account:data.firstname.label')
```- For fields and data translations use a `data` object.
```json
// account.json
{
"data": {
"firstname": {
"label": "First Name",
"required": "First Name is required",
},
}
}
```
```js
// React
t('account:data.firstname.label')
t('account:data.firstname.required')
```- For user feedbacks, use a `feedbacks` object with `actionSuccess` & `actionError` keys containing each `title` and `description` (optional).
```json
// account.json
{
"resetPassword": {
"feedbacks": {
"confirmSuccess": {
"title": "Your password has been reset",
"description": "You can now login"
},
"confirmError": {
"title": "Reset password failed"
}
}
}
}
```
```js
// React
t('account:resetPassword.feedbacks.updateSuccess.title')
t('account:resetPassword.feedbacks.updateSuccess.description')
t('account:resetPassword.feedbacks.updateError.title')
```- For user actions, use an `actions` object.
```json
// account.json
{
"resetPassword": {
"actions": {
"send": "Send Email",
"reset": "Reset Password"
}
}
}
```
```js
// React
t('account:resetPassword.actions.send')
t('account:resetPassword.actions.reset')
```- 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.
## Production
```bash
yarn storybook:build # Optional: Will expose the Storybook at `/storybook`
yarn build
yarn start
```