diff --git a/.editorconfig b/.editorconfig index f8c0554..71bd905 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,5 +12,6 @@ max_line_length=80 [*.{md,mdx}] indent_style = space indent_size = 2 +max_line_length = 80 trim_trailing_whitespace = false insert_final_newline = true diff --git a/.github/ISSUE_TEMPLATE/01-bug.yml b/.github/ISSUE_TEMPLATE/01-bug.yml new file mode 100644 index 0000000..88a6eec --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-bug.yml @@ -0,0 +1,82 @@ +name: '🐛 Bug Report' +description: Create a new ticket for a bug. +labels: ['bug'] +assignees: ['anguspiv'] +title: '🐛 [BUG] - ' +body: + - type: textarea + id: description + attributes: + label: 'Description' + description: Please enter an explicit description of your issue + placeholder: Short and explicit description of your incident... + validations: + required: true + - type: input + id: reprod-url + attributes: + label: 'Reproduction URL' + description: Please enter your GitHub URL to provide a reproduction of the issue + placeholder: ex. https://www.angusp.com + validations: + required: true + - type: textarea + id: reprod + attributes: + label: 'Reproduction steps' + description: Please enter an explicit description of your issue + value: | + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error + render: bash + validations: + required: true + - type: textarea + id: screenshot + attributes: + label: 'Screenshots' + description: If applicable, add screenshots to help explain your problem. + value: | + ![DESCRIPTION](LINK.png) + render: bash + validations: + required: false + - type: textarea + id: logs + attributes: + label: 'Logs' + description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + render: bash + validations: + required: false + - type: dropdown + id: browsers + attributes: + label: 'Browsers' + description: What browsers are you seeing the problem on ? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge + - Opera + validations: + required: false + - type: dropdown + id: os + attributes: + label: 'OS' + description: What is the impacted environment ? + multiple: true + options: + - iPhone iOS + - iPad iOS + - Android + - Windows + - Linux + - Mac + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/02-feature.yml b/.github/ISSUE_TEMPLATE/02-feature.yml new file mode 100644 index 0000000..af829d8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-feature.yml @@ -0,0 +1,47 @@ +name: '💡 Feature Request' +description: Create a new ticket for a new feature request +title: '💡 [REQUEST] - <title>' +labels: ['question'] +body: + - type: textarea + id: summary + attributes: + label: 'Summary' + description: Provide a brief explanation of the feature + placeholder: Describe in a few lines your feature request + validations: + required: true + - type: textarea + id: basic_example + attributes: + label: 'Basic Example' + description: Indicate here some basic examples of your feature. + placeholder: A few specific words about your feature request. + validations: + required: false + - type: textarea + id: drawbacks + attributes: + label: 'Drawbacks' + description: What are the drawbacks/impacts of your feature request ? + placeholder: Identify the drawbacks and impacts while being neutral on your feature request + validations: + required: false + - type: textarea + id: unresolved_question + attributes: + label: 'Unresolved questions' + description: What questions still remain unresolved ? + placeholder: Identify any unresolved issues. + validations: + required: false + - type: textarea + id: screenshot + attributes: + label: 'Screenshots' + description: If applicable, add screenshots or images to help explain your feature. + value: | + ![DESCRIPTION](LINK.png) + render: bash + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..df1d971 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: true +contact_links: + - name: { % data variables.product.prodname_gcf % } + url: https://github.com/orgs/community/discussions + about: Please ask and answer questions here. + - name: '✉️ Contact' + url: mailto:angusp@angusp.com + about: Please contact me directly. diff --git a/.github/PULL_REQUEST_TEMPLATE.yml b/.github/PULL_REQUEST_TEMPLATE.yml new file mode 100644 index 0000000..f84dd36 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.yml @@ -0,0 +1,51 @@ +name: '🍻 Pull Request' +description: Create a new pull request. +assignees: ['anguspiv'] +title: '🍻 [PR] - <title>' +body: + - type: select + id: type + attributes: + label: 'Type' + description: What type of change does this PR introduce ? + options: + - '🐛 Bug fix' + - '💡 Feature' + - '🔨 Refactor' + - '📚 Documentation' + - '🔧 Configuration' + - '🚀 Performance' + - '🔖 Release' + - '🚧 WIP' + validations: + required: true + - type: textarea + id: description + attributes: + label: 'Description' + description: Please enter an explicit description of your issue + placeholder: Short and explicit description of your incident... + validations: + required: true + - type: textarea + id: screenshots + attributes: + label: 'Screenshots' + description: If applicable, add screenshots or recordings to help explain your changes. + value: | + ![DESCRIPTION](LINK.png) + render: bash + validations: + required: false + - type: checkboxes + id: checklist + attributes: + label: 'Checklist' + description: Have you completed all of the following ? + options: + - 'Written appropriate tests' + - 'Updated the documentation' + - 'Followed the coding style' + - 'Followed the commit message guidelines' + validations: + required: true diff --git a/.prettierrc b/.prettierrc index c15d580..750b164 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,5 @@ { - "printWidth": 100, + "printWidth": 80, "singleQuote": true, "trailingComma": "all", "arrowParens": "always" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..89afbe7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,115 @@ +# Code of Conduct - [www.angusp.com](https://www.angusp.com) + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behaviour that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologising to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behaviour include: + +- The use of sexualised language or imagery, and sexual attention or advances +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email + address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying and enforcing our standards of +acceptable behaviour and will take appropriate and fair corrective action in +response to any behaviour that they deem inappropriate, +threatening, offensive, or harmful. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will +communicate reasons for moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behaviour may be +reported to the community leaders responsible for enforcement at <angusp@angusp.com>. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behaviour deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behaviour was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behaviour. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behaviour. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behaviour, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://contributor-covenant.org/), version +[1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct/code_of_conduct.md) and +[2.0](https://www.contributor-covenant.org/version/2/0/code_of_conduct/code_of_conduct.md), +and was generated by [contributing.md](https://contributing.md/generator). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..5035fcb --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,508 @@ +<!-- omit in toc --> + +# Contributing to www.angusp.com + +First off, thanks for taking the time to contribute! ❤️ Second, this is mostly a +generated template, which I guess is not neccesary for a personal website. But +hey, it's here now. 🤷‍♂️ Also I like to share how I work and what I value, so +others can learn from it, so here we go. 🚀 + +All types of contributions are encouraged and valued. See the +[Table of Contents](#table-of-contents) for different ways to help and details +about how this project handles them. Please make sure to read the relevant +section before making your contribution. It will make it a lot easier for us +maintainers and smooth out the experience for all involved. The community looks +forward to your contributions. 🎉 + +Honestly, considering this repo is just my personal website, I'm not sure why or +how you'd want to contribute. But if you do, I'm grateful for your interest and +support. 🙏 +Heck, if you just wanna chat about the project or anything else, feel free to +start up a [Discussion](https://github.com/anguspiv/www.angusp.com/discussions). + +> And if you like the project, but just don't have time to contribute, that's +> fine. There are other easy ways to support the project and show your +> appreciation, which we would also be very happy about: + +> - Star the project +> - Tweet about it +> - Refer this project in your project's readme +> - Mention the project at local meetups and tell your friends/colleagues + +Totally not using this as an oppurtunity to self-promote. :sweat_smile: + +<!-- omit in toc --> + +## Table of Contents + +- [Code of Conduct](#code-of-conduct) +- [I Have a Question](#i-have-a-question) + - [I Want To Contribute](#i-want-to-contribute) + - [Reporting Bugs](#reporting-bugs) + - [Suggesting Enhancements](#suggesting-enhancements) + - [Your First Code Contribution](#your-first-code-contribution) + - [Improving The Documentation](#improving-the-documentation) +- [Styleguides](#styleguides) + - [Commit Messages](#commit-messages) +- [Join The Project Team](#join-the-project-team) + +## Code of Conduct + +This project and everyone participating in it is governed by the +[www.angusp.com Code of Conduct](https://github.com/anguspiv/www.angusp.com/blob//CODE_OF_CONDUCT.md). +By participating, you are expected to uphold this code. Please report +unacceptable behavior to <angusp@angusp.com>. + +## I Have a Question + +> If you want to ask a question, we assume that you have read the available +> [Documentation](https://anguspiv.github.io/www.angusp.com/). + +Before you ask a question, it is best to search for existing +[Issues](https://github.com/anguspiv/www.angusp.com/issues) or +[Discussions](https://github.com/anguspiv/www.angusp.com/discussions) that might +help you. In case you have found a suitable issue and still need clarification, +you can write your question in this issue. It is also advisable to search the +internet for answers first. + +If you then still feel the need to ask a question and need clarification, we +recommend the following: + +- Open an [Discussion](https://github.com/anguspiv/www.angusp.com/discussions/new?category=q-a) + in the [Q&A](https://github.com/anguspiv/www.angusp.com/discussions/categories/q-a) + topic. +- Provide as much context as you can about what you're running into. +- Provide project and platform versions (nodejs, npm, etc), depending on what + seems relevant. + +We will then take care of the issue as soon as possible. + +## I Want To Contribute + +> ### Legal Notice <!-- omit in toc --> +> +> When contributing to this project, you must agree that you have authored 100% +> of the content, that you have the necessary rights to the content and that the +> content you contribute may be provided under the project licence. + +### Reporting Bugs + +<!-- omit in toc --> + +#### Before Submitting a Bug Report + +A good bug report shouldn't leave others needing to chase you up for more +information. Therefore, we ask you to investigate carefully, collect information +and describe the issue in detail in your report. Please complete the following +steps in advance to help us fix any potential bug as fast as possible. + +- Make sure that you are using the latest version. +- Determine if your bug is really a bug and not an error on your side e.g. using + incompatible environment components/versions (Make sure that you have read the + [documentation](https://anguspiv.github.io/www.angusp.com/). If you are + looking for support, you might want to check + [this section](#i-have-a-question)). +- To see if other users have experienced (and potentially already solved) the + same issue you are having, check if there is not already a bug report existing + for your bug or error in the + [bug tracker](https://github.com/anguspiv/www.angusp.com/issues?q=label%3Abug). +- Also make sure to search the internet (including Stack Overflow) to see if + users outside of the GitHub community have discussed the issue. +- Collect information about the bug: + - Stack trace (Traceback) + - OS, Platform and Version (Windows, Linux, macOS, x86, ARM) + - Version of the interpreter, compiler, SDK, runtime environment, + package manager, depending on what seems relevant. + - Possibly your input and the output + - Can you reliably reproduce the issue? And can you also reproduce it with + older versions? + +<!-- omit in toc --> + +#### How Do I Submit a Good Bug Report? + +> You must never report security related issues, vulnerabilities or bugs +> including sensitive information to the issue tracker, or elsewhere in public. +> Instead sensitive bugs must be sent by email to <angusp@angusp.com>. + +<!-- You may add a PGP key to allow the messages to be sent encrypted as well. --> + +We use GitHub issues to track bugs and errors. If you run into an issue with the +project: + +- Open an [Issue](https://github.com/anguspiv/www.angusp.com/issues/new). + (Since we can't be sure at this point whether it is a bug or not, we ask you + not to talk about a bug yet and not to label the issue.) +- Explain the behavior you would expect and the actual behavior. +- Please provide as much context as possible and describe the + _reproduction steps_ that someone else can follow to recreate the issue on + their own. This usually includes your code. For good bug reports you should + isolate the problem and create a reduced test case. +- Provide the information you collected in the previous section. + +Once it's filed: + +- The project team will label the issue accordingly. +- A team member will try to reproduce the issue with your provided steps. If + there are no reproduction steps or no obvious way to reproduce the issue, + the team will ask you for those steps and mark the issue as `needs-repro`. + Bugs with the `needs-repro` tag will not be addressed until they are + reproduced. +- If the team is able to reproduce the issue, it will be marked `needs-fix`, as + well as possibly other tags (such as `critical`), and the issue will be left + to be [implemented by someone](#your-first-code-contribution). + +### Suggesting Enhancements + +This section guides you through submitting an enhancement suggestion for +www.angusp.com, **including completely new features and minor improvements to +existing functionality**. Following these guidelines will help maintainers and +the community to understand your suggestion and find related suggestions. + +<!-- omit in toc --> + +#### Before Submitting an Enhancement + +- Make sure that you are using the latest version. +- Read the [documentation](https://anguspiv.github.io/www.angusp.com/) carefully + and find out if the functionality is already covered, maybe by an individual + configuration. +- Perform a [search](https://github.com/anguspiv/www.angusp.com/issues) to see + if the enhancement has already been suggested. If it has, add a comment to the + existing issue instead of opening a new one. +- Find out whether your idea fits with the scope and aims of the project. It's + up to you to make a strong case to convince the project's developers of the + merits of this feature. Keep in mind that we want features that will be useful + to the majority of our users and not just a small subset. If you're just + targeting a minority of users, consider writing an add-on/plugin library. + +<!-- omit in toc --> + +#### How Do I Submit a Good Enhancement Suggestion? + +Enhancement suggestions are tracked as +[GitHub issues](https://github.com/anguspiv/www.angusp.com/issues). + +- Use a **clear and descriptive title** for the issue to identify the + suggestion. +- Provide a **step-by-step description of the suggested enhancement** in as many + details as possible. +- **Describe the current behavior** and **explain which behavior you expected to + see instead** and why. At this point you can also tell which alternatives do + not work for you. +- You may want to **include screenshots or screen recordings** which help you + demonstrate the steps or point out the part which the suggestion is related + to. You can use [LICEcap](https://www.cockos.com/licecap/) to record GIFs on + macOS and Windows, and the built-in + [screen recorder in GNOME](https://help.gnome.org/users/gnome-help/stable/screen-shot-record.html.en) + or [SimpleScreenRecorder](https://github.com/MaartenBaert/ssr) on Linux. + <!-- this should only be included if the project has a GUI --> +- **Explain why this enhancement would be useful** to most www.angusp.com users. + You may also want to point out the other projects that solved it better and + which could serve as inspiration. + +### Your First Code Contribution + +#### Prerequisites + +Before you begin, you should have already: + +- Installed [Node.js](https://nodejs.org/en/download/) +- Installed [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) +- Installed [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) +- Installed [GitHub CLI](https://cli.github.com/manual/installation) +- Read the [documentation](https://anguspiv.github.io/www.angusp.com/) +- [Forked](https://docs.github.com/en/get-started/quickstart/fork-a-repo) the + www.angusp.com repo +- [Cloned](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) + your forked repo to your local machine + +<!-- omit in toc --> + +#### Local Development + +To set up your deve +lopment environment, you will need to: + +<!-- omit in toc --> + +##### 1. Fork the www.angusp.com repo + +Fork the www.angusp.com repo by clicking on the fork button on the top of the +page. This will create a copy of this repository in your account. + +<!-- omit in toc --> + +##### 2. Checkout the repository to your local machine + +```bash +git clone {{ your forked repo url }} +``` + +<!-- omit in toc --> + +##### 3. Install the dependencies + +This project uses [`npm`](https://docs.npmjs.com/) to manage dependencies. Run +the following command to install the dependencies: + +```bash +npm install +``` + +If you are unfamiliar with `npm`, please take a few minutes to familiarize +yourself with it. It is a powerful tool that you will need to use to contribute +to this project. Learn more about `npm` by reading the [npm documentation](https://docs.npmjs.com/). + +<!-- omit in toc --> + +##### 4a. Start the development server + +Once you have installed the dependencies, you can run the project locally using: + +```bash +npm run dev +``` + +This will start an [astro](https://astro.build/) development server at +[`http://localhost:4321`](). You can now make changes to the project and see the +results in real-time. The server will automatically reload when you make changes +to the project. + +<!-- omit in toc --> + +##### 4b. Run the tests + +This project uses [`vitest`](https://vitest.dev/) and +[`@testing-library`](https://testing-library.com/) for testing. You can run the +tests using: + +```bash +npm test +``` + +This will run the tests in watch mode and output the results in the terminal. +You can also generate a coverage report using: + +```bash +npm run test:coverage +``` + +<!-- omit in toc --> + +##### 4c. Run the linter + +This project uses [`eslint`](https://eslint.org/) and +[`prettier`](https://prettier.io/) for linting. You can run the linter using: + +```bash +npm run lint +``` + +This will run the linter and output any errors or warnings in the terminal. You +can also fix any auto-fixable issues using: + +```bash +npm run lint:fix +``` + +<!-- omit in toc --> + +##### 4d. Run Storybook + +This project uses [`storybook`](https://storybook.js.org/) for component +development and documentation. You can run Storybook using: + +```bash +npm run storybook +``` + +This will start a Storybook server at [`http://localhost:6006`](). You can now +view the components in Storybook and make changes to them in real-time. The +server will automatically reload when you make changes to the components. + +<!-- omit in toc --> + +##### 5. Create a new branch + +This project uses the `main` branch as the default branch. All development work +should be done on a separate branch. Additionally we use +[trunk-based development](https://trunkbaseddevelopment.com/) and feature +branches. Meaning that we do not use long-lived branches like `develop` or +`release`. + +We recommend naming your branch using the following convention: + +- `feature/<issue-number>-your-feature-name` for new features +- `bugfix/<issue-number>-your-bugfix-name` for bug fixes +- `chore/<issue-number>-your-chore-name` for chores + +For example, if you are working on a new feature to add a dark mode to the +project and the issue number is `#123`, you would name your branch +`feature/123-dark-mode`. You can create a new branch using: + +```bash +git switch -c feature/123-dark-mode +``` + +<!-- omit in toc --> + +##### 6. Make your changes + +Now that you have set up your development environment, you can start making +changes to the project. You can use your favorite code editor to make changes to +the project files. You can also use the development server to see the changes in +real-time. + +<!-- omit in toc --> + +##### 7. Commit your changes + +We use [Conventional Commits](https://www.conventionalcommits.org/) for commit +messages. This helps us automatically generate changelogs and version numbers. +If you are unfamiliar with Conventional Commits, please take a few minutes to +familiarize yourself with them. You can commit your changes using: + +```bash +git commit -m "feat: add dark mode" +``` + +<!-- omit in toc --> + +##### 8. Push your changes + +Once you have committed your changes, you can push them to your forked +repository using: + +```bash +git push origin feature/123-dark-mode +``` + +<!-- omit in toc --> + +##### 9. Create a pull request + +Once you have pushed your changes to your forked repository, you can create a +pull request to by clicking on the "New pull request" button on the main +repository page. Make sure to provide a detailed description of your changes and +reference the issue number in the pull request description. + +We recommend naming your pull request using the following convention: + +- `Feature: Add dark mode` for new features +- `Bugfix: Fix dark mode` for bug fixes +- `Chore: Update dependencies` for chores + +For example, if you are working on a new feature to add a dark mode to the +project and the issue number is `#123`, you would name your pull request +`Feature: Add dark mode (#123)`. +You can create a pull request using: + +```bash +gh pr create --base main --head feature/123-dark-mode +``` + +<!-- omit in toc --> + +##### 10. Review and merge + +Once you have created a pull request, a project maintainer will review your +changes and provide feedback. If everything looks good, your changes will be +merged into the main branch and will be included in the next release. + +With much appreciation, you have successfully contributed to the project. 🎉 + +### Improving The Documentation + +Our [Documentation](https://anguspiv.github.io/www.angusp.com/) is important. It helps users understand how to use the project and +how to contribute to it. If you find an error in the documentation or if you +think something is missing, you can help improve it by following these steps: + +- Open an [Bug Issue](https://github.com/anguspiv/www.angusp.com/issues/new) + and describe the issue you found or the improvement you would like to make. +- If you are able to fix the issue or make the improvement yourself, you can + create a pull request with the changes. Make sure to reference the issue number + in the pull request description. +- If you are not able to fix the issue or make the improvement yourself, you can + still open an issue and describe the issue or improvement. A project maintainer + will review the issue and make the necessary changes. + +## Styleguides + +### Commit Messages + +This project uses [Conventional Commits](https://www.conventionalcommits.org/) +for commit messages. This helps us automatically generate changelogs and version +numbers. If you are unfamiliar with Conventional Commits, please take a few +minutes to familiarize yourself with them. + +A conventional commit message should have the following format: + +`` +<type>[optional scope]: <description> + +[optional body] + +[optional footer] + +``` + +The `type` should be one of the following: + +- `feat`: A new feature +- `fix`: A bug fix +- `docs`: Documentation changes +- `style`: Changes that do not affect the meaning of the code (white-space, + formatting, missing semi-colons, etc) +- `refactor`: A code change that neither fixes a bug nor adds a feature +- `perf`: A code change that improves performance +- `test`: Adding missing tests or correcting existing tests +- `chore`: Changes to the build process or auxiliary tools and libraries such as + documentation generation + +The `scope` is optional and should be the name of the module or component that +the commit affects. + +The `description` should be a short, imperative tense description of the change. + +The `body` is optional and should provide a more detailed description of the + +The `footer` is optional and should contain any breaking changes, issues closed +by the commit, or other information that is relevant to the commit. + +Here are some examples of conventional commit messages: + +``` + +feat: add dark mode + +This commit adds a dark mode to the project + +BREAKING CHANGE: The light mode has been removed + +Closes #123 + +``` + +``` + +fix: fix dark mode + +This commit fixes a bug in the dark mode + +Closes #123 + +``` + +``` + +docs: update README + +``` + +<!-- omit in toc --> + +## Attribution + +This guide is based on the [contributing.md](https://contributing.md/generator)! +``` diff --git a/package.json b/package.json index 644e0bc..4be6a3a 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,12 @@ "build-storybook": "storybook build", "dev": "astro dev", "lint": "eslint .", + "lint:fix": "eslint --fix . && prettier --write .", "prepare": "husky", "preview": "astro preview", "storybook": "storybook dev -p 6006", - "test": "vitest" + "test": "vitest", + "test:coverage": "vitest --coverage" }, "dependencies": { "@astrojs/netlify": "^6.0.1", diff --git a/src/stories/CONTRIBUTING.mdx b/src/stories/CONTRIBUTING.mdx new file mode 100644 index 0000000..31f93bd --- /dev/null +++ b/src/stories/CONTRIBUTING.mdx @@ -0,0 +1,9 @@ +import { Meta, Markdown } from '@storybook/blocks'; + +import Contributing from '~/CONTRIBUTING.md?raw'; + +<Meta title="About/Contributing" /> + +# Contributing + +<Markdown>{Contributing}</Markdown>