diff --git a/404.html b/404.html index 5ad07ebb..02456731 100644 --- a/404.html +++ b/404.html @@ -13,13 +13,13 @@ - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/images/access-workspace-547a99c3e2b489313f19aa5d5a73d73e.png b/assets/images/access-workspace-547a99c3e2b489313f19aa5d5a73d73e.png deleted file mode 100644 index 17692056..00000000 Binary files a/assets/images/access-workspace-547a99c3e2b489313f19aa5d5a73d73e.png and /dev/null differ diff --git a/assets/images/workspace-644e59bed496d2a0df7502aaa833129e.png b/assets/images/workspace-644e59bed496d2a0df7502aaa833129e.png new file mode 100644 index 00000000..52235ade Binary files /dev/null and b/assets/images/workspace-644e59bed496d2a0df7502aaa833129e.png differ diff --git a/assets/images/workspace-a7b3cbb522d0e99c0c233eec200a038c.png b/assets/images/workspace-a7b3cbb522d0e99c0c233eec200a038c.png deleted file mode 100644 index b51acacb..00000000 Binary files a/assets/images/workspace-a7b3cbb522d0e99c0c233eec200a038c.png and /dev/null differ diff --git a/assets/images/workspace-access-72e8f9933caa4b45be55046d94f84fdb.png b/assets/images/workspace-access-72e8f9933caa4b45be55046d94f84fdb.png new file mode 100644 index 00000000..ea5cbcbd Binary files /dev/null and b/assets/images/workspace-access-72e8f9933caa4b45be55046d94f84fdb.png differ diff --git a/assets/images/workspace-sidebar-258a48d99ed9cb31f7449da2de965d86.png b/assets/images/workspace-sidebar-258a48d99ed9cb31f7449da2de965d86.png new file mode 100644 index 00000000..6103b394 Binary files /dev/null and b/assets/images/workspace-sidebar-258a48d99ed9cb31f7449da2de965d86.png differ diff --git a/assets/images/workspace-sidebar-b94b7d7a5e2643911f2b66c157ce53b7.png b/assets/images/workspace-sidebar-b94b7d7a5e2643911f2b66c157ce53b7.png deleted file mode 100644 index 61bfdef7..00000000 Binary files a/assets/images/workspace-sidebar-b94b7d7a5e2643911f2b66c157ce53b7.png and /dev/null differ diff --git a/assets/js/0f97bf69.3cbc0224.js b/assets/js/0f97bf69.aaf795ca.js similarity index 99% rename from assets/js/0f97bf69.3cbc0224.js rename to assets/js/0f97bf69.aaf795ca.js index 2a650d58..d26fd46f 100644 --- a/assets/js/0f97bf69.3cbc0224.js +++ b/assets/js/0f97bf69.aaf795ca.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4158],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),u=p(t),d=i,h=u["".concat(l,".").concat(d)]||u[d]||m[d]||o;return t?a.createElement(h,s(s({ref:n},c),{},{components:t})):a.createElement(h,s({ref:n},c))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var o=t.length,s=new Array(o);s[0]=d;var r={};for(var l in n)hasOwnProperty.call(n,l)&&(r[l]=n[l]);r.originalType=e,r[u]="string"==typeof e?e:i,s[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const o={id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["semantic release conventional config","open sauced semantic release","npm package for semantic release","semantic release best practices","semantic release shareable config","semantic release plugins and presets"]},s=void 0,r={unversionedId:"opensauced-packages/semantic-release",id:"opensauced-packages/semantic-release",title:"@open-sauced/semantic-release-conventional-config",description:"Description",source:"@site/docs/opensauced-packages/semantic-release.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/semantic-release",permalink:"/opensauced-packages/semantic-release",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/semantic-release.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["semantic release conventional config","open sauced semantic release","npm package for semantic release","semantic release best practices","semantic release shareable config","semantic release plugins and presets"]},sidebar:"docs",previous:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"},next:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},l={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"\ud83d\udda5\ufe0f Requirements",id:"\ufe0f-requirements",level:2},{value:"\ud83e\uddea GitHub Actions Usage",id:"-github-actions-usage",level:2},{value:"\ud83d\udce6 npm Usage",id:"-npm-usage",level:2},{value:"\ud83d\udd27 Configuration",id:"-configuration",level:2},{value:"npm",id:"npm",level:3},{value:"GitHub Actions",id:"github-actions",level:3},{value:"Docker",id:"docker",level:3},{value:"Environment Variables",id:"environment-variables",level:3},{value:"Workflow Examples",id:"workflow-examples",level:2},{value:"Node Application",id:"node-application",level:3},{value:"npm Library",id:"npm-library",level:3},{value:"Docker Image",id:"docker-image",level:3},{value:"Pre-Releases",id:"pre-releases",level:3},{value:"FAQs",id:"faqs",level:2},{value:"Which Assets are Pushed to Git?",id:"which-assets-are-pushed-to-git",level:3},{value:"What is the Commit Convention?",id:"what-is-the-commit-convention",level:3},{value:"How to Enrich the Static Distribution?",id:"how-to-enrich-the-static-distribution",level:3},{value:"How to Start Using Pre-Releases?",id:"how-to-start-using-pre-releases",level:3},{value:"Contributing",id:"contributing",level:2}],c={toc:p},u="wrapper";function m(e){let{components:n,...t}=e;return(0,i.kt)(u,(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/semantic-release-conventional-config")," is designed to help ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages auto-release to ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or ",(0,i.kt)("a",{parentName:"p",href:"https://ghcr.io"},(0,i.kt)("inlineCode",{parentName:"a"},"ghcr"))," registries while generating GitHub releases and changelog using conventional commit convention."),(0,i.kt)("p",null,"Version 2 supports alpha and beta pre-releases using corresponding branches."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/commit-analyzer"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/commit-analyzer"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/release-notes-generator"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/release-notes-generator"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/conventional-changelog/conventional-changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@conventional-changelog/conventional-changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/npm"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/npm"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/google/semantic-release-replace-plugin"},(0,i.kt)("inlineCode",{parentName:"a"},"@google/semantic-release-replace-plugin"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/cbhq/semantic-release-license"},(0,i.kt)("inlineCode",{parentName:"a"},"@cbhq/semantic-release-license"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/git"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/git"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/github"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/github"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/eclass/semantic-release-docker"},(0,i.kt)("inlineCode",{parentName:"a"},"@eclass/semantic-release-docker"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/exec"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/exec"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/sindresorhus/execa"},(0,i.kt)("inlineCode",{parentName:"a"},"execa")))),(0,i.kt)("h2",{id:"\ufe0f-requirements"},"\ud83d\udda5\ufe0f Requirements"),(0,i.kt)("p",null,"Most important limitations are:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GITHUB_TOKEN")," for everything"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"NPM_TOKEN")," for public ",(0,i.kt)("inlineCode",{parentName:"li"},"npm")," library"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"docker")," containers need to be built beforehand")),(0,i.kt)("p",null,"You can skip here if you are using an elevated ",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"},"Private Access Token"),". However, we don't recommend going down that path."),(0,i.kt)("p",null,"No force push or admin cherries branch protections for the following branches:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"main")," - required"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"alpha")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"beta")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next")," - optional, next channel"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next-major")," - optional, next major"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"vX[.X.X]")," - maintenance releases")),(0,i.kt)("p",null,"If you use more than the ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branch, optionally create an environment that limits where pushes can come from and enable the merge strategy."),(0,i.kt)("p",null,"We use ",(0,i.kt)("inlineCode",{parentName:"p"},"production")," in our examples; if you copy-paste them, you will find this new environment generated in your settings! \ud83c\udf55"),(0,i.kt)("h2",{id:"-github-actions-usage"},"\ud83e\uddea GitHub Actions Usage"),(0,i.kt)("p",null,"Since version 3, it has been possible to use ",(0,i.kt)("inlineCode",{parentName:"p"},"semantic-release")," without any trace of it or the OpenSauced configuration anywhere in the dependency tree."),(0,i.kt)("p",null,"Docker containers are pushed as part of the release, so they mirror the availability of ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages."),(0,i.kt)("p",null,"The simplest use case for a typical ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package is almost zero install downtime from ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr")," and no more local tooling:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release container"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ env.RELEASE_TAG }}\n echo ${{ env.RELEASE_VERSION }}\n')),(0,i.kt)("p",null,"Marketplace actions should default to the major tag and are essentially more stable as we have to curate every release."),(0,i.kt)("p",null,"A more traditional approach, the only thing really different here is a minor pull overhead and using set outputs instead of environment variables:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ steps.semantic-release.outputs.release-tag }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: open-sauced/semantic-release-conventional-config@v3\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ steps.semantic-release.outputs.release-tag }}\n echo ${{ steps.semantic-release.outputs.release-version }}\n')),(0,i.kt)("h2",{id:"-npm-usage"},"\ud83d\udce6 ",(0,i.kt)("inlineCode",{parentName:"h2"},"npm")," Usage"),(0,i.kt)("p",null,"You can opt to use this package in your local tooling. Proceed as you would normally would, replacing ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," with your package manager of choice and install the package:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/semantic-release-conventional-config\n")),(0,i.kt)("p",null,"The shareable config can then be configured in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration"}," ",(0,i.kt)("inlineCode",{parentName:"a"},"semantic-release")," configuration file"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "extends": "@open-sauced/semantic-release-conventional-config"\n}\n')),(0,i.kt)("p",null,"Now, all you need to do is create a release:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npx semantic-release\n")),(0,i.kt)("h2",{id:"-configuration"},"\ud83d\udd27 Configuration"),(0,i.kt)("p",null,"See each plugin official documentation for the required installation and configuration steps."),(0,i.kt)("h3",{id:"npm"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")),(0,i.kt)("p",null,"Set ",(0,i.kt)("inlineCode",{parentName:"p"},"private")," to true in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," if you want to disable ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or change the scope of package using ",(0,i.kt)("inlineCode",{parentName:"p"},"publishConfig"),"."),(0,i.kt)("p",null,"Keep one of the ",(0,i.kt)("inlineCode",{parentName:"p"},"files")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," keys in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," accurate, depending on whether you are building a library or an application."),(0,i.kt)("p",null,"If you publish, make sure to also provide a valid ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN"),", as ",(0,i.kt)("inlineCode",{parentName:"p"},".npmrc")," authentication is ignored in our config!"),(0,i.kt)("h3",{id:"github-actions"},"GitHub Actions"),(0,i.kt)("p",null,"Unless you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present, our config will attempt to adjust the container version to the newly pushed ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"docker")," tags."),(0,i.kt)("h3",{id:"docker"},"Docker"),(0,i.kt)("p",null,"Unless you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present, our config will attempt to push to ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr.io"),"."),(0,i.kt)("h3",{id:"environment-variables"},"Environment Variables"),(0,i.kt)("p",null,"Using our configuration comes with some sensible defaults:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_USERNAME=$GITHUB_REPOSITORY_OWNER")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_PASSWORD=$GITHUB_TOKEN")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_NAME="open-sauced[bot]"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_EMAIL="63161813+open-sauced[bot]@users.noreply.github.com"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_NAME")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_EMAIL")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA"))),(0,i.kt)("p",null,"Feel free to change any of the above to whatever suits your purpose. Our motivation is to keep ",(0,i.kt)("inlineCode",{parentName:"p"},"GITHUB_TOKEN")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," the only necessary requirements."),(0,i.kt)("p",null,"We are actively investigating ways to drop the two remaining variables as well!"),(0,i.kt)("h2",{id:"workflow-examples"},"Workflow Examples"),(0,i.kt)("h3",{id:"node-application"},"Node Application"),(0,i.kt)("p",null,"This example requires ",(0,i.kt)("inlineCode",{parentName:"p"},'"private": true,')," in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," and simplifies the workflow to lightning-fast deployment:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n')),(0,i.kt)("h3",{id:"npm-library"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Library"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," libraries, we need to set the environment URL manually and set a ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," environment variable. This also disables ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/@open-sauced/semantic-release-conventional-config/v/${{ env.RELEASE_VERSION }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config/blob/main/.github/workflows/release.yml"},"@open-sauced/semantic-release-conventional-config"),"."),(0,i.kt)("h3",{id:"docker-image"},"Docker Image"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),", it's best to build your node application in parallel with the container and re-use the artifact at a later stage:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n docker:\n name: Build container\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup buildx"\n uses: docker/setup-buildx-action@v1\n\n - name: "\ud83d\udd27 cache docker layers"\n uses: actions/cache@v2\n with:\n path: /tmp/.buildx-cache\n key: ${{ runner.os }}-buildx-${{ github.sha }}\n restore-keys: |\n ${{ runner.os }}-buildx-\n\n - name: "\ud83d\udd27 docker meta"\n id: meta\n uses: docker/metadata-action@v3\n with:\n images: ${{ github.repository }}\n tags: latest\n\n - name: "\ud83d\udce6 docker build"\n uses: docker/build-push-action@v2\n with:\n context: .\n tags: ${{ steps.meta.outputs.tags }}\n labels: ${{ steps.meta.outputs.labels }}\n outputs: type=docker,dest=/tmp/docker.tar\n push: false\n cache-from: type=gha, scope=${{ github.workflow }}\n cache-to: type=gha, scope=${{ github.workflow }}\n\n - name: "\ud83d\udcc2 docker artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: docker\n path: /tmp/docker.tar\n\n build:\n name: Build application\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\udcca repository visualizer"\n id: diagram\n uses: githubocto/repo-visualizer@0.7.1\n with:\n excluded_paths: "node_modules,build,.storybook,.netlify,.github,npm-shrinkwap.json"\n output_file: "public/diagram.svg"\n should_push: false\n artifact_name: "diagram"\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\udcc2 production artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: build\n path: build\n\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n needs:\n - docker\n - build\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udcc2 download docker artifacts"\n uses: actions/download-artifact@v2\n with:\n name: docker\n path: /tmp\n\n - name: "\ud83d\udce6 load tag"\n run: |\n docker load --input /tmp/docker.tar\n docker image ls -a\n\n - name: "\ud83d\udcc2 download build artifacts"\n uses: actions/download-artifact@v2\n with:\n name: build\n path: /tmp/build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n cleanup:\n name: Cleanup actions\n needs:\n - release\n runs-on: ubuntu-latest\n steps:\n - name: "\u267b\ufe0f remove build artifacts"\n uses: geekyeggo/delete-artifact@v1\n with:\n name: |\n build\n docker\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/blob/main/.github/workflows/release.yml"},"open-sauced/open-sauced"),"."),(0,i.kt)("h3",{id:"pre-releases"},"Pre-Releases"),(0,i.kt)("p",null,"This workflow requires the creation of ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," protected branches while templating every commit to be conventional. It does not support squashing without creating extremely complex conflict resolution:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n - beta\n - alpha\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/open-sauced-semantic-config-test/v/${{ steps.release.outputs.version }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"which-assets-are-pushed-to-git"},"Which Assets are Pushed to Git?"),(0,i.kt)("p",null,"The following assets are added to git using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/git"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n "LICENSE",\n "LICENSE.md",\n "COPYING",\n "COPYING.md",\n "CHANGELOG.md",\n "package.json",\n "package-lock.json",\n "npm-shrinkwrap.json",\n "public/diagram.svg",\n "action.yml"\n ]\n}\n')),(0,i.kt)("h3",{id:"what-is-the-commit-convention"},"What is the Commit Convention?"),(0,i.kt)("p",null,"The following commit rules are enforced by ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/commit-analyzer"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "preset": "conventionalcommits",\n "releaseRules": [\n { "type": "build", "release": "minor" },\n { "type": "ci", "release": "patch" },\n { "type": "docs", "release": "minor" },\n { "type": "style", "release": "patch" },\n { "type": "refactor", "release": "patch" },\n { "type": "test", "release": "patch" },\n { "type": "revert", "release": "patch" },\n { "type": "chore", "release": false }\n ],\n "parserOpts": {\n "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]\n }\n}\n')),(0,i.kt)("h3",{id:"how-to-enrich-the-static-distribution"},"How to Enrich the Static Distribution?"),(0,i.kt)("p",null,"The following assets are packed into the github release download using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/github"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n {\n "path": "pack/*.tgz",\n "label": "Static distribution"\n }\n ]\n}\n')),(0,i.kt)("h3",{id:"how-to-start-using-pre-releases"},"How to Start Using Pre-Releases?"),(0,i.kt)("p",null,"Create the ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branches and protect them from being deleted or pushed directly by non-administrators."),(0,i.kt)("p",null,"Switch your branching strategy to ",(0,i.kt)("inlineCode",{parentName:"p"},"merge")," and enable conventional commits checking."),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/tree/master/docs/recipes"},"semantic-releases recipes"),", you will have to resolve merge conflicts between ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"beta"),", and ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branches."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config"},"@open-sauced/semantic-release-conventional-config"),". \u2764\ufe0f"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4158],{3905:(e,n,t)=>{t.d(n,{Zo:()=>c,kt:()=>h});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function s(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var l=a.createContext({}),p=function(e){var n=a.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},c=function(e){var n=p(e.components);return a.createElement(l.Provider,{value:n},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},d=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),u=p(t),d=i,h=u["".concat(l,".").concat(d)]||u[d]||m[d]||o;return t?a.createElement(h,s(s({ref:n},c),{},{components:t})):a.createElement(h,s({ref:n},c))}));function h(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var o=t.length,s=new Array(o);s[0]=d;var r={};for(var l in n)hasOwnProperty.call(n,l)&&(r[l]=n[l]);r.originalType=e,r[u]="string"==typeof e?e:i,s[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const o={id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["semantic release conventional config","open sauced semantic release","npm package for semantic release","semantic release best practices","semantic release shareable config","semantic release plugins and presets"]},s=void 0,r={unversionedId:"opensauced-packages/semantic-release",id:"opensauced-packages/semantic-release",title:"@open-sauced/semantic-release-conventional-config",description:"Description",source:"@site/docs/opensauced-packages/semantic-release.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/semantic-release",permalink:"/opensauced-packages/semantic-release",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/semantic-release.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"semantic-release",title:"@open-sauced/semantic-release-conventional-config",sidebar_label:"@open-sauced/semantic-release-conventional-config",keywords:["semantic release conventional config","open sauced semantic release","npm package for semantic release","semantic release best practices","semantic release shareable config","semantic release plugins and presets"]},sidebar:"docs",previous:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"},next:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},l={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"\ud83d\udda5\ufe0f Requirements",id:"\ufe0f-requirements",level:2},{value:"\ud83e\uddea GitHub Actions Usage",id:"-github-actions-usage",level:2},{value:"\ud83d\udce6 npm Usage",id:"-npm-usage",level:2},{value:"\ud83d\udd27 Configuration",id:"-configuration",level:2},{value:"npm",id:"npm",level:3},{value:"GitHub Actions",id:"github-actions",level:3},{value:"Docker",id:"docker",level:3},{value:"Environment Variables",id:"environment-variables",level:3},{value:"Workflow Examples",id:"workflow-examples",level:2},{value:"Node Application",id:"node-application",level:3},{value:"npm Library",id:"npm-library",level:3},{value:"Docker Image",id:"docker-image",level:3},{value:"Pre-Releases",id:"pre-releases",level:3},{value:"FAQs",id:"faqs",level:2},{value:"Which Assets are Pushed to Git?",id:"which-assets-are-pushed-to-git",level:3},{value:"What is the Commit Convention?",id:"what-is-the-commit-convention",level:3},{value:"How to Enrich the Static Distribution?",id:"how-to-enrich-the-static-distribution",level:3},{value:"How to Start Using Pre-Releases?",id:"how-to-start-using-pre-releases",level:3},{value:"Contributing",id:"contributing",level:2}],c={toc:p},u="wrapper";function m(e){let{components:n,...t}=e;return(0,i.kt)(u,(0,a.Z)({},c,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/semantic-release-conventional-config")," is designed to help ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages auto-release to ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or ",(0,i.kt)("a",{parentName:"p",href:"https://ghcr.io"},(0,i.kt)("inlineCode",{parentName:"a"},"ghcr"))," registries while generating GitHub releases and changelog using conventional commit convention."),(0,i.kt)("p",null,"Version 2 supports alpha and beta pre-releases using corresponding branches."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/commit-analyzer"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/commit-analyzer"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/release-notes-generator"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/release-notes-generator"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/conventional-changelog/conventional-changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@conventional-changelog/conventional-changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/changelog"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/changelog"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/npm"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/npm"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/google/semantic-release-replace-plugin"},(0,i.kt)("inlineCode",{parentName:"a"},"@google/semantic-release-replace-plugin"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/cbhq/semantic-release-license"},(0,i.kt)("inlineCode",{parentName:"a"},"@cbhq/semantic-release-license"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/git"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/git"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/github"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/github"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/eclass/semantic-release-docker"},(0,i.kt)("inlineCode",{parentName:"a"},"@eclass/semantic-release-docker"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/semantic-release/exec"},(0,i.kt)("inlineCode",{parentName:"a"},"@semantic-release/exec"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/sindresorhus/execa"},(0,i.kt)("inlineCode",{parentName:"a"},"execa")))),(0,i.kt)("h2",{id:"\ufe0f-requirements"},"\ud83d\udda5\ufe0f Requirements"),(0,i.kt)("p",null,"Most important limitations are:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GITHUB_TOKEN")," for everything"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"NPM_TOKEN")," for public ",(0,i.kt)("inlineCode",{parentName:"li"},"npm")," library"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"docker")," containers need to be built beforehand")),(0,i.kt)("p",null,"You can skip here if you are using an elevated ",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"},"Private Access Token"),". However, we don't recommend going down that path."),(0,i.kt)("p",null,"No force push or admin cherries branch protections for the following branches:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"main")," - required"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"alpha")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"beta")," - optional, pre-release branch"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next")," - optional, next channel"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"next-major")," - optional, next major"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"vX[.X.X]")," - maintenance releases")),(0,i.kt)("p",null,"If you use more than the ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branch, optionally create an environment that limits where pushes can come from and enable the merge strategy."),(0,i.kt)("p",null,"We use ",(0,i.kt)("inlineCode",{parentName:"p"},"production")," in our examples; if you copy-paste them, you will find this new environment generated in your settings! \ud83c\udf55"),(0,i.kt)("h2",{id:"-github-actions-usage"},"\ud83e\uddea GitHub Actions Usage"),(0,i.kt)("p",null,"Since version 3, it has been possible to use ",(0,i.kt)("inlineCode",{parentName:"p"},"semantic-release")," without any trace of it or the OpenSauced configuration anywhere in the dependency tree."),(0,i.kt)("p",null,"Docker containers are pushed as part of the release, so they mirror the availability of ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," packages."),(0,i.kt)("p",null,"The simplest use case for a typical ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package is almost zero install downtime from ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr")," and no more local tooling:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release container"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ env.RELEASE_TAG }}\n echo ${{ env.RELEASE_VERSION }}\n')),(0,i.kt)("p",null,"Marketplace actions should default to the major tag and are essentially more stable as we have to curate every release."),(0,i.kt)("p",null,"A more traditional approach, the only thing really different here is a minor pull overhead and using set outputs instead of environment variables:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ steps.semantic-release.outputs.release-tag }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: open-sauced/semantic-release-conventional-config@v3\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n - name: "\u267b\ufe0f cleanup"\n run: |\n echo ${{ steps.semantic-release.outputs.release-tag }}\n echo ${{ steps.semantic-release.outputs.release-version }}\n')),(0,i.kt)("h2",{id:"-npm-usage"},"\ud83d\udce6 ",(0,i.kt)("inlineCode",{parentName:"h2"},"npm")," Usage"),(0,i.kt)("p",null,"You can opt to use this package in your local tooling. Proceed as you would normally would, replacing ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," with your package manager of choice and install the package:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/semantic-release-conventional-config\n")),(0,i.kt)("p",null,"The shareable config can then be configured in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration"}," ",(0,i.kt)("inlineCode",{parentName:"a"},"semantic-release")," configuration file"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "extends": "@open-sauced/semantic-release-conventional-config"\n}\n')),(0,i.kt)("p",null,"Now, all you need to do is create a release:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npx semantic-release\n")),(0,i.kt)("h2",{id:"-configuration"},"\ud83d\udd27 Configuration"),(0,i.kt)("p",null,"See each plugin official documentation for the required installation and configuration steps."),(0,i.kt)("h3",{id:"npm"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")),(0,i.kt)("p",null,"Set ",(0,i.kt)("inlineCode",{parentName:"p"},"private")," to true in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," if you want to disable ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," or change the scope of package using ",(0,i.kt)("inlineCode",{parentName:"p"},"publishConfig"),"."),(0,i.kt)("p",null,"Keep one of the ",(0,i.kt)("inlineCode",{parentName:"p"},"files")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," keys in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," accurate, depending on whether you are building a library or an application."),(0,i.kt)("p",null,"If you publish, make sure to also provide a valid ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN"),", as ",(0,i.kt)("inlineCode",{parentName:"p"},".npmrc")," authentication is ignored in our config!"),(0,i.kt)("h3",{id:"github-actions"},"GitHub Actions"),(0,i.kt)("p",null,"Unless you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have an ",(0,i.kt)("inlineCode",{parentName:"p"},"action.yml")," present, our config will attempt to adjust the container version to the newly pushed ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"docker")," tags."),(0,i.kt)("h3",{id:"docker"},"Docker"),(0,i.kt)("p",null,"Unless you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present in your root folder, this module is not added to the release config."),(0,i.kt)("p",null,"If you have a ",(0,i.kt)("inlineCode",{parentName:"p"},"Dockerfile")," present, our config will attempt to push to ",(0,i.kt)("inlineCode",{parentName:"p"},"ghcr.io"),"."),(0,i.kt)("h3",{id:"environment-variables"},"Environment Variables"),(0,i.kt)("p",null,"Using our configuration comes with some sensible defaults:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_USERNAME=$GITHUB_REPOSITORY_OWNER")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"DOCKER_PASSWORD=$GITHUB_TOKEN")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_NAME="open-sauced[bot]"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},'GIT_COMMITTER_EMAIL="63161813+open-sauced[bot]@users.noreply.github.com"')),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_NAME")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("inlineCode",{parentName:"li"},"GIT_AUTHOR_EMAIL")," - parsed from commit ",(0,i.kt)("inlineCode",{parentName:"li"},"$GITHUB_SHA"))),(0,i.kt)("p",null,"Feel free to change any of the above to whatever suits your purpose. Our motivation is to keep ",(0,i.kt)("inlineCode",{parentName:"p"},"GITHUB_TOKEN")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," the only necessary requirements."),(0,i.kt)("p",null,"We are actively investigating ways to drop the two remaining variables as well!"),(0,i.kt)("h2",{id:"workflow-examples"},"Workflow Examples"),(0,i.kt)("h3",{id:"node-application"},"Node Application"),(0,i.kt)("p",null,"This example requires ",(0,i.kt)("inlineCode",{parentName:"p"},'"private": true,')," in your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," and simplifies the workflow to lightning-fast deployment:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n')),(0,i.kt)("h3",{id:"npm-library"},(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Library"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," libraries, we need to set the environment URL manually and set a ",(0,i.kt)("inlineCode",{parentName:"p"},"NPM_TOKEN")," environment variable. This also disables ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/@open-sauced/semantic-release-conventional-config/v/${{ env.RELEASE_VERSION }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config/blob/main/.github/workflows/release.yml"},"@open-sauced/semantic-release-conventional-config"),"."),(0,i.kt)("h3",{id:"docker-image"},"Docker Image"),(0,i.kt)("p",null,"For ",(0,i.kt)("inlineCode",{parentName:"p"},"docker builds"),", it's best to build your node application in parallel with the container and re-use the artifact at a later stage:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n\njobs:\n docker:\n name: Build container\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup buildx"\n uses: docker/setup-buildx-action@v1\n\n - name: "\ud83d\udd27 cache docker layers"\n uses: actions/cache@v2\n with:\n path: /tmp/.buildx-cache\n key: ${{ runner.os }}-buildx-${{ github.sha }}\n restore-keys: |\n ${{ runner.os }}-buildx-\n\n - name: "\ud83d\udd27 docker meta"\n id: meta\n uses: docker/metadata-action@v3\n with:\n images: ${{ github.repository }}\n tags: latest\n\n - name: "\ud83d\udce6 docker build"\n uses: docker/build-push-action@v2\n with:\n context: .\n tags: ${{ steps.meta.outputs.tags }}\n labels: ${{ steps.meta.outputs.labels }}\n outputs: type=docker,dest=/tmp/docker.tar\n push: false\n cache-from: type=gha, scope=${{ github.workflow }}\n cache-to: type=gha, scope=${{ github.workflow }}\n\n - name: "\ud83d\udcc2 docker artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: docker\n path: /tmp/docker.tar\n\n build:\n name: Build application\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n\n - name: "\ud83d\udd27 setup node"\n uses: actions/setup-node@v2.1.5\n with:\n node-version: 16\n\n - name: "\ud83d\udd27 install npm@latest"\n run: npm i -g npm@latest\n\n - name: "\ud83d\udce6 install dependencies"\n uses: bahmutov/npm-install@v1\n\n - name: "\ud83d\udcca repository visualizer"\n id: diagram\n uses: githubocto/repo-visualizer@0.7.1\n with:\n excluded_paths: "node_modules,build,.storybook,.netlify,.github,npm-shrinkwap.json"\n output_file: "public/diagram.svg"\n should_push: false\n artifact_name: "diagram"\n\n - name: "\ud83d\ude80 static app"\n run: npm run build\n\n - name: "\ud83d\udcc2 production artifacts"\n uses: actions/upload-artifact@v2\n with:\n name: build\n path: build\n\n release:\n environment:\n name: production\n url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}\n name: Semantic release\n needs:\n - docker\n - build\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\udcc2 download docker artifacts"\n uses: actions/download-artifact@v2\n with:\n name: docker\n path: /tmp\n\n - name: "\ud83d\udce6 load tag"\n run: |\n docker load --input /tmp/docker.tar\n docker image ls -a\n\n - name: "\ud83d\udcc2 download build artifacts"\n uses: actions/download-artifact@v2\n with:\n name: build\n path: /tmp/build\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n cleanup:\n name: Cleanup actions\n needs:\n - release\n runs-on: ubuntu-latest\n steps:\n - name: "\u267b\ufe0f remove build artifacts"\n uses: geekyeggo/delete-artifact@v1\n with:\n name: |\n build\n docker\n')),(0,i.kt)("p",null,"An up-to-date version of the example above is available at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/open-sauced/blob/main/.github/workflows/release.yml"},"open-sauced/open-sauced"),"."),(0,i.kt)("h3",{id:"pre-releases"},"Pre-Releases"),(0,i.kt)("p",null,"This workflow requires the creation of ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," protected branches while templating every commit to be conventional. It does not support squashing without creating extremely complex conflict resolution:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-yaml"},'name: "Release"\n\non:\n push:\n branches:\n - main\n - beta\n - alpha\n\njobs:\n release:\n environment:\n name: npm\n url: https://www.npmjs.com/package/open-sauced-semantic-config-test/v/${{ steps.release.outputs.version }}\n name: Semantic release\n runs-on: ubuntu-latest\n steps:\n - name: "\u2601\ufe0f checkout repository"\n uses: actions/checkout@v2\n with:\n fetch-depth: 0\n\n - name: "\ud83d\ude80 release"\n id: semantic-release\n uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n NPM_TOKEN: ${{ secrets.NPM_TOKEN }}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"which-assets-are-pushed-to-git"},"Which Assets are Pushed to Git?"),(0,i.kt)("p",null,"The following assets are added to git using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/git"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n "LICENSE",\n "LICENSE.md",\n "COPYING",\n "COPYING.md",\n "CHANGELOG.md",\n "package.json",\n "package-lock.json",\n "npm-shrinkwrap.json",\n "public/diagram.svg",\n "action.yml"\n ]\n}\n')),(0,i.kt)("h3",{id:"what-is-the-commit-convention"},"What is the Commit Convention?"),(0,i.kt)("p",null,"The following commit rules are enforced by ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/commit-analyzer"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "preset": "conventionalcommits",\n "releaseRules": [\n { "type": "build", "release": "minor" },\n { "type": "ci", "release": "patch" },\n { "type": "docs", "release": "minor" },\n { "type": "style", "release": "patch" },\n { "type": "refactor", "release": "patch" },\n { "type": "test", "release": "patch" },\n { "type": "revert", "release": "patch" },\n { "type": "chore", "release": false }\n ],\n "parserOpts": {\n "noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]\n }\n}\n')),(0,i.kt)("h3",{id:"how-to-enrich-the-static-distribution"},"How to Enrich the Static Distribution?"),(0,i.kt)("p",null,"The following assets are packed into the github release download using ",(0,i.kt)("inlineCode",{parentName:"p"},"@semantic-release/github"),":"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "assets": [\n {\n "path": "pack/*.tgz",\n "label": "Static distribution"\n }\n ]\n}\n')),(0,i.kt)("h3",{id:"how-to-start-using-pre-releases"},"How to Start Using Pre-Releases?"),(0,i.kt)("p",null,"Create the ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha")," and/or ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branches and protect them from being deleted or pushed directly by non-administrators."),(0,i.kt)("p",null,"Switch your branching strategy to ",(0,i.kt)("inlineCode",{parentName:"p"},"merge")," and enable conventional commits checking."),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/semantic-release/semantic-release/tree/master/docs/recipes"},"semantic-releases recipes"),", you will have to resolve merge conflicts between ",(0,i.kt)("inlineCode",{parentName:"p"},"alpha"),", ",(0,i.kt)("inlineCode",{parentName:"p"},"beta"),", and ",(0,i.kt)("inlineCode",{parentName:"p"},"main")," branches."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/semantic-release-conventional-config"},"@open-sauced/semantic-release-conventional-config"),". \u2764\ufe0f"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/163a28f8.3b5bdffd.js b/assets/js/163a28f8.ad72db68.js similarity index 99% rename from assets/js/163a28f8.3b5bdffd.js rename to assets/js/163a28f8.ad72db68.js index ce6aba5a..d6c060e2 100644 --- a/assets/js/163a28f8.3b5bdffd.js +++ b/assets/js/163a28f8.ad72db68.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2610],{3905:(t,e,i)=>{i.d(e,{Zo:()=>c,kt:()=>d});var o=i(7294);function n(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function r(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function a(t){for(var e=1;e=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var l=o.createContext({}),u=function(t){var e=o.useContext(l),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},c=function(t){var e=u(t.components);return o.createElement(l.Provider,{value:e},t.children)},h="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,r=t.originalType,l=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),h=u(i),p=n,d=h["".concat(l,".").concat(p)]||h[p]||g[p]||r;return i?o.createElement(d,a(a({ref:e},c),{},{components:i})):o.createElement(d,a({ref:e},c))}));function d(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=i.length,a=new Array(r);a[0]=p;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s[h]="string"==typeof t?t:n,a[1]=s;for(var u=2;u{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var o=i(7462),n=(i(7294),i(3905));const r={id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides","open source maintainers guide","open source maintainer","Maintainers Guide to OpenSauced"]},a=void 0,s={unversionedId:"maintainers/maintainers-guide-to-open-sauced",id:"maintainers/maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",description:"Introduction to OpenSauced for Maintainers",source:"@site/docs/maintainers/maintainers-guide.md",sourceDirName:"maintainers",slug:"/maintainers/maintainers-guide-to-open-sauced",permalink:"/maintainers/maintainers-guide-to-open-sauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides","open source maintainers guide","open source maintainer","Maintainers Guide to OpenSauced"]},sidebar:"docs",previous:{title:"Dev Card",permalink:"/features/dev-card"},next:{title:"Understanding Repo Insights Data",permalink:"/maintainers/understanding-repo-insights"}},l={},u=[{value:"Introduction to OpenSauced for Maintainers",id:"introduction-to-opensauced-for-maintainers",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Repository Insights: Connecting Your Repositories",id:"repository-insights-connecting-your-repositories",level:2},{value:"Creating a New Repository Insight Page",id:"creating-a-new-repository-insight-page",level:3},{value:"Using Your Repository Insights Page",id:"using-your-repository-insights-page",level:3},{value:"Repositories Dashboard",id:"repositories-dashboard",level:4},{value:"Contributors",id:"contributors",level:4},{value:"Activity",id:"activity",level:4},{value:"Contributor Insights: Connecting with Contributors",id:"contributor-insights-connecting-with-contributors",level:2},{value:"Why Create a Contributor Insight Page?",id:"why-create-a-contributor-insight-page",level:3},{value:"Creating a New Contributor Insight Page",id:"creating-a-new-contributor-insight-page",level:3},{value:"Using Your Contributor Insight Page",id:"using-your-contributor-insight-page",level:2},{value:"Overview",id:"overview",level:3},{value:"Activity",id:"activity-1",level:3},{value:"Highlights",id:"highlights",level:3},{value:"Highlights: Connecting and Recognizing Contributions",id:"highlights-connecting-and-recognizing-contributions",level:2},{value:"Creating a New Highlight",id:"creating-a-new-highlight",level:3},{value:"Writing an Effective Highlight",id:"writing-an-effective-highlight",level:3},{value:"Highlighting Issues",id:"highlighting-issues",level:4},{value:"Highlighting PRs",id:"highlighting-prs",level:4},{value:"Highlighting Dev.to Blog Posts",id:"highlighting-devto-blog-posts",level:4}],c={toc:u},h="wrapper";function g(t){let{components:e,...r}=t;return(0,n.kt)(h,(0,o.Z)({},c,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"introduction-to-opensauced-for-maintainers"},"Introduction to OpenSauced for Maintainers"),(0,n.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and redefining open source contributions. We offer a GitHub-powered dashboard for tracking contributions and gaining insights into your open source projects. You can customize your ",(0,n.kt)("a",{parentName:"p",href:"#repository-insights-connecting-your-repositories"},"Repository Insights")," and ",(0,n.kt)("a",{parentName:"p",href:"#contributor-insights-connecting-with-contributors"},"Contributor Insights")," with the repositories you choose and the contributors you want to see."),(0,n.kt)("h2",{id:"getting-started"},"Getting Started"),(0,n.kt)("p",null,"To get started, you will need to create an account on OpenSauced. You can do this by visiting the ",(0,n.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza"},"app.opensauced.pizza"),' and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard.'),(0,n.kt)("h2",{id:"repository-insights-connecting-your-repositories"},"Repository Insights: Connecting Your Repositories"),(0,n.kt)("p",null,"OpenSauced Repository Insights provides maintainers with a visual representation of their project's health and contributor engagement. It offers real-time data and analytics to understand contribution patterns, identify key contributors, and measure the project's growth. Repository Insights can help you assess team activity, understand when bottlenecks occur, identify where resource allocation is needed, plan and identify key contributors, understand alumni contributors, or spot emerging trends."),(0,n.kt)("p",null,"The Repository Insights feature allows you to:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"track the contributions of a specific team, a specific repository, or a group of repositories,"),(0,n.kt)("li",{parentName:"ul"},"view the number of PRs that are open, closed, in draft, and merged,"),(0,n.kt)("li",{parentName:"ul"},"view the average number of days it takes for a PR to be merged (PR velocity),"),(0,n.kt)("li",{parentName:"ul"},"identify the top contributors to your project,"),(0,n.kt)("li",{parentName:"ul"},"identify the current activity level and trends in the activity of your contributors.")),(0,n.kt)("h3",{id:"creating-a-new-repository-insight-page"},"Creating a New Repository Insight Page"),(0,n.kt)("p",null,'To connect and track your repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.'),(0,n.kt)("p",null,"There are two ways to add repositories to your Repository Insight Page:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Sync GitHub organization"),". Syncing your GitHub organization is a good idea for someone who seeks a comprehensive, unified view of your organization's open source project activities and trends, enabling streamlined management, strategic decision-making, and efficient allocation of resources across multiple repositories."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Connect individual repositories"),". Connecting individual repositories is a good idea for someone who wants to track the contributions of a specific repository or group of repositories. For example, you might want to track projects you maintain that are not under the same organization, or you may want to track projects that align with your team's objectives.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"sync team gif",src:i(2615).Z,width:"1174",height:"948"})),(0,n.kt)("h3",{id:"using-your-repository-insights-page"},"Using Your Repository Insights Page"),(0,n.kt)("p",null,"Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them."),(0,n.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,n.kt)("h4",{id:"repositories-dashboard"},"Repositories Dashboard"),(0,n.kt)("p",null,"This tab allows you to view more detailed information on each repository, including activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/understanding-repo-insights"},"Understanding Repository Insights Data"),".")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"repositories tab",src:i(7224).Z,width:"1148",height:"796"})),(0,n.kt)("h4",{id:"contributors"},"Contributors"),(0,n.kt)("p",null,'The "Contributors" tab allows you to view more detailed information on each contributor, including their activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days.'),(0,n.kt)("p",null,"You can select and add your contributors to a ",(0,n.kt)("a",{parentName:"p",href:"#contributor-insights-connecting-with-contributors"},"Contributor Insight Page")," to learn more about them."),(0,n.kt)("p",null,"There are two ways to add selected contributors to a Contributor Insight Page:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Create a new list."),(0,n.kt)("li",{parentName:"ol"},"Add them to an existing list.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"contributors insight list",src:i(8967).Z,width:"1212",height:"628"})),(0,n.kt)("h4",{id:"activity"},"Activity"),(0,n.kt)("p",null,"The \"Activity\" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced."),(0,n.kt)("p",null,"You can use the information in this tab to help you learn about their engagement and general interests. It will be helpful if you want to collaborate with them or consider recruiting a maintainer for your project."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"activity graph",src:i(8517).Z,width:"1592",height:"791"})),(0,n.kt)("h2",{id:"contributor-insights-connecting-with-contributors"},"Contributor Insights: Connecting with Contributors"),(0,n.kt)("p",null,"OpenSauced Contributor Insights feature allows you to categorize, monitor, and analyze various groups of contributors. You can use Contributor Insights to track the contributions of a specific team, a specific repository, or a group of repositories. This feature offers granular insights into each contributor's activities and contributions, helping maintainers to track individual contribution histories, identify active engagement, recognize new or alumni contributors, and compare the performance of different contributors."),(0,n.kt)("p",null,"The Contributor Insights features allow you to:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"track the commits and PRs of the contributors on your list,"),(0,n.kt)("li",{parentName:"ul"},"filter your contributors by their activity level, including most active, new, and alumni,"),(0,n.kt)("li",{parentName:"ul"},"view the repositories your contributors have contributed to, the top programming languages they've used, and their time zones.")),(0,n.kt)("h3",{id:"why-create-a-contributor-insight-page"},"Why Create a Contributor Insight Page?"),(0,n.kt)("p",null,"There are many reasons to create a Contributor Insight Page, but here's some inspiration to get you started:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Interacting contributors"),": Keep tabs on contributors actively interacting with your repository."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Organization's developers"),": Monitor the contributions and performance of your internal team."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"VIP contributors"),": Highlight and track contributors you've identified as key maintainers or significant contributors."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Sales leads"),": Identify contributors whose engagement could potentially be turned into sales opportunities."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Potential hires"),": Observe contributors who exhibit skill and commitment, making them prime candidates for hiring."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Alumni contributors"),": Keep an eye on contributors who have decreased their engagement or left the project.")),(0,n.kt)("h3",{id:"creating-a-new-contributor-insight-page"},"Creating a New Contributor Insight Page"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click the "+" next to "Insights" in the sidebar.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "New Contributor Insight." You will be redirected to a page where you can create your new Contributor Insight Page.'),(0,n.kt)("p",{parentName:"li"},(0,n.kt)("img",{alt:"New Contributor Insight Page",src:i(7472).Z,width:"882",height:"728"}))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Give your page a name.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan."),(0,n.kt)("p",{parentName:"li"},(0,n.kt)("img",{alt:"team sync gif",src:i(3267).Z,width:"1218",height:"1006"})))),(0,n.kt)("h2",{id:"using-your-contributor-insight-page"},"Using Your Contributor Insight Page"),(0,n.kt)("p",null,"Once you have created your page, you will be redirected to your Contributor Insight Page. Here, you will see a dashboard with an overview of the contributors."),(0,n.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,n.kt)("h3",{id:"overview"},"Overview"),(0,n.kt)("p",null,'The "Overview" tab gives you a high-level view of the contributors in your Contributor Insight Page, including the total number of commits in the last 30 days and the types of contributors: ',(0,n.kt)("a",{parentName:"p",href:"/welcome/glossary/#active-contributors"},"Active"),", ",(0,n.kt)("a",{parentName:"p",href:"/welcome/glossary#new-contributors"},"New"),", and ",(0,n.kt)("a",{parentName:"p",href:"/welcome/glossary#alumni-contributors"},"Alumni"),"."),(0,n.kt)("h3",{id:"activity-1"},"Activity"),(0,n.kt)("p",null,'The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they\'ve contributed to, and how they compare to each other.'),(0,n.kt)("p",null,"You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"list graph",src:i(7392).Z,width:"1147",height:"731"})),(0,n.kt)("h3",{id:"highlights"},"Highlights"),(0,n.kt)("p",null,'The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.'),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/understanding-contribs-insights"},"Understanding Contributor Insights Data"),".")),(0,n.kt)("h2",{id:"highlights-connecting-and-recognizing-contributions"},"Highlights: Connecting and Recognizing Contributions"),(0,n.kt)("p",null,"Leveraging OpenSauced's Highlights feature is a great way for maintainers to recognize and showcase the valuable contributions made to your open source projects, curate and share key achievements, contributions, and milestones, and bring visibility to the hard work of your community."),(0,n.kt)("p",null,"Highlights can be used to:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"publicize issues on your repository that you'd like to match with contributors,"),(0,n.kt)("li",{parentName:"ul"},"share Dev.to blog posts you've written,"),(0,n.kt)("li",{parentName:"ul"},"celebrate PRs for your project.")),(0,n.kt)("h3",{id:"creating-a-new-highlight"},"Creating a New Highlight"),(0,n.kt)("p",null,"There are two ways to create a new highlight:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'After clicking the "Highlights" tab in the top navigation, click the input that says "Post a highlight to show your work!"')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'From your profile, click the input that says "Post a highlight to show your work!"'))),(0,n.kt)("p",null,"After you've clicked the input, you'll see a form that allows you to create a new highlight."),(0,n.kt)("p",null,"There are two ways to create a highlight:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below)."),(0,n.kt)("li",{parentName:"ol"},"Choose from a list of suggestions (shown in orange below).")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"highlight suggestions",src:i(4173).Z,width:"626",height:"633"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"If you're adding a blog post, you'll need to associate it to a repository by clicking the \"Add a repo\" button.")),(0,n.kt)("p",null,"Finally, it's time to add the details of your highlight. You can add a description yourself or use the auto-summarize function to generate a description."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"gif of creating a highlight",src:i(7352).Z,width:"2294",height:"1066"})),(0,n.kt)("h3",{id:"writing-an-effective-highlight"},"Writing an Effective Highlight"),(0,n.kt)("p",null,"Writing an effective highlight is key to attracting contributors to your project. Here are some tips to help you write an effective highlight:"),(0,n.kt)("h4",{id:"highlighting-issues"},"Highlighting Issues"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Focus on the problem solved"),": Begin by briefly describing the problem or challenge the issue addresses. This sets the context for why it was important."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Acknowledge contributor(s)"),": Mention the contributor(s) who reported or worked on the issue, recognizing their effort."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Impact statement"),": Explain how resolving this issue benefits the project, such as improving functionality, user experience, or security.")),(0,n.kt)("h4",{id:"highlighting-prs"},"Highlighting PRs"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Summarize the changes"),": Start with a clear summary of what the PR achieves. This could be a new feature, bug fix, or enhancement."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Credit the contributors"),": Acknowledge everyone who contributed to the PR, including reviewers."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Highlight the value"),": Explain the value of these changes to the project or its users. For instance, how it improves performance, adds a requested feature, or simplifies the codebase.")),(0,n.kt)("h4",{id:"highlighting-devto-blog-posts"},"Highlighting Dev.to Blog Posts"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Capture the essence"),": Begin with an interesting blog post summary, capturing the main theme or message."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Discuss the relevance"),": Explain why this blog post is important for your open source project or community. Is it about a major update, a community event, or sharing best practices?"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Engage with a call-to-action"),": Encourage readers to engage with the post, whether by reading, commenting, or sharing their thoughts on the topic.")))}g.isMDXComponent=!0},7352:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},2615:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/team-sync-insights-d4d7794d5e28b72ffb375595c988cd37.gif"},3267:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/team-sync-09e7e2ab7b54fae335f5b4c40cce94b1.gif"},8517:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/activity-repos-insights-3734baf3ab38356a4de96d43dde41a3d.png"},7472:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/contrib-insight-new-f821e7b17235b6c7ea7d7d1dedf9573b.png"},8967:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},4173:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},7392:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},7224:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2610],{3905:(t,e,i)=>{i.d(e,{Zo:()=>c,kt:()=>d});var o=i(7294);function n(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function r(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,o)}return i}function a(t){for(var e=1;e=0||(n[i]=t[i]);return n}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}var l=o.createContext({}),u=function(t){var e=o.useContext(l),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},c=function(t){var e=u(t.components);return o.createElement(l.Provider,{value:e},t.children)},h="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},p=o.forwardRef((function(t,e){var i=t.components,n=t.mdxType,r=t.originalType,l=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),h=u(i),p=n,d=h["".concat(l,".").concat(p)]||h[p]||g[p]||r;return i?o.createElement(d,a(a({ref:e},c),{},{components:i})):o.createElement(d,a({ref:e},c))}));function d(t,e){var i=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var r=i.length,a=new Array(r);a[0]=p;var s={};for(var l in e)hasOwnProperty.call(e,l)&&(s[l]=e[l]);s.originalType=t,s[h]="string"==typeof t?t:n,a[1]=s;for(var u=2;u{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>a,default:()=>g,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var o=i(7462),n=(i(7294),i(3905));const r={id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides","open source maintainers guide","open source maintainer","Maintainers Guide to OpenSauced"]},a=void 0,s={unversionedId:"maintainers/maintainers-guide-to-open-sauced",id:"maintainers/maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",description:"Introduction to OpenSauced for Maintainers",source:"@site/docs/maintainers/maintainers-guide.md",sourceDirName:"maintainers",slug:"/maintainers/maintainers-guide-to-open-sauced",permalink:"/maintainers/maintainers-guide-to-open-sauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"maintainers-guide-to-open-sauced",title:"Maintainers Guide to OpenSauced",sidebar_label:"Maintainers Guide to OpenSauced",keywords:["maintainers","guides","open source maintainers guide","open source maintainer","Maintainers Guide to OpenSauced"]},sidebar:"docs",previous:{title:"Dev Card",permalink:"/features/dev-card"},next:{title:"Understanding Repo Insights Data",permalink:"/maintainers/understanding-repo-insights"}},l={},u=[{value:"Introduction to OpenSauced for Maintainers",id:"introduction-to-opensauced-for-maintainers",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Repository Insights: Connecting Your Repositories",id:"repository-insights-connecting-your-repositories",level:2},{value:"Creating a New Repository Insight Page",id:"creating-a-new-repository-insight-page",level:3},{value:"Using Your Repository Insights Page",id:"using-your-repository-insights-page",level:3},{value:"Repositories Dashboard",id:"repositories-dashboard",level:4},{value:"Contributors",id:"contributors",level:4},{value:"Activity",id:"activity",level:4},{value:"Contributor Insights: Connecting with Contributors",id:"contributor-insights-connecting-with-contributors",level:2},{value:"Why Create a Contributor Insight Page?",id:"why-create-a-contributor-insight-page",level:3},{value:"Creating a New Contributor Insight Page",id:"creating-a-new-contributor-insight-page",level:3},{value:"Using Your Contributor Insight Page",id:"using-your-contributor-insight-page",level:2},{value:"Overview",id:"overview",level:3},{value:"Activity",id:"activity-1",level:3},{value:"Highlights",id:"highlights",level:3},{value:"Highlights: Connecting and Recognizing Contributions",id:"highlights-connecting-and-recognizing-contributions",level:2},{value:"Creating a New Highlight",id:"creating-a-new-highlight",level:3},{value:"Writing an Effective Highlight",id:"writing-an-effective-highlight",level:3},{value:"Highlighting Issues",id:"highlighting-issues",level:4},{value:"Highlighting PRs",id:"highlighting-prs",level:4},{value:"Highlighting Dev.to Blog Posts",id:"highlighting-devto-blog-posts",level:4}],c={toc:u},h="wrapper";function g(t){let{components:e,...r}=t;return(0,n.kt)(h,(0,o.Z)({},c,r,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"introduction-to-opensauced-for-maintainers"},"Introduction to OpenSauced for Maintainers"),(0,n.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and redefining open source contributions. We offer a GitHub-powered dashboard for tracking contributions and gaining insights into your open source projects. You can customize your ",(0,n.kt)("a",{parentName:"p",href:"#repository-insights-connecting-your-repositories"},"Repository Insights")," and ",(0,n.kt)("a",{parentName:"p",href:"#contributor-insights-connecting-with-contributors"},"Contributor Insights")," with the repositories you choose and the contributors you want to see."),(0,n.kt)("h2",{id:"getting-started"},"Getting Started"),(0,n.kt)("p",null,"To get started, you will need to create an account on OpenSauced. You can do this by visiting the ",(0,n.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza"},"app.opensauced.pizza"),' and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard.'),(0,n.kt)("h2",{id:"repository-insights-connecting-your-repositories"},"Repository Insights: Connecting Your Repositories"),(0,n.kt)("p",null,"OpenSauced Repository Insights provides maintainers with a visual representation of their project's health and contributor engagement. It offers real-time data and analytics to understand contribution patterns, identify key contributors, and measure the project's growth. Repository Insights can help you assess team activity, understand when bottlenecks occur, identify where resource allocation is needed, plan and identify key contributors, understand alumni contributors, or spot emerging trends."),(0,n.kt)("p",null,"The Repository Insights feature allows you to:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"track the contributions of a specific team, a specific repository, or a group of repositories,"),(0,n.kt)("li",{parentName:"ul"},"view the number of PRs that are open, closed, in draft, and merged,"),(0,n.kt)("li",{parentName:"ul"},"view the average number of days it takes for a PR to be merged (PR velocity),"),(0,n.kt)("li",{parentName:"ul"},"identify the top contributors to your project,"),(0,n.kt)("li",{parentName:"ul"},"identify the current activity level and trends in the activity of your contributors.")),(0,n.kt)("h3",{id:"creating-a-new-repository-insight-page"},"Creating a New Repository Insight Page"),(0,n.kt)("p",null,'To connect and track your repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.'),(0,n.kt)("p",null,"There are two ways to add repositories to your Repository Insight Page:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Sync GitHub organization"),". Syncing your GitHub organization is a good idea for someone who seeks a comprehensive, unified view of your organization's open source project activities and trends, enabling streamlined management, strategic decision-making, and efficient allocation of resources across multiple repositories."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Connect individual repositories"),". Connecting individual repositories is a good idea for someone who wants to track the contributions of a specific repository or group of repositories. For example, you might want to track projects you maintain that are not under the same organization, or you may want to track projects that align with your team's objectives.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"sync team gif",src:i(2615).Z,width:"1174",height:"948"})),(0,n.kt)("h3",{id:"using-your-repository-insights-page"},"Using Your Repository Insights Page"),(0,n.kt)("p",null,"Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them."),(0,n.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,n.kt)("h4",{id:"repositories-dashboard"},"Repositories Dashboard"),(0,n.kt)("p",null,"This tab allows you to view more detailed information on each repository, including activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/understanding-repo-insights"},"Understanding Repository Insights Data"),".")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"repositories tab",src:i(7224).Z,width:"1148",height:"796"})),(0,n.kt)("h4",{id:"contributors"},"Contributors"),(0,n.kt)("p",null,'The "Contributors" tab allows you to view more detailed information on each contributor, including their activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days.'),(0,n.kt)("p",null,"You can select and add your contributors to a ",(0,n.kt)("a",{parentName:"p",href:"#contributor-insights-connecting-with-contributors"},"Contributor Insight Page")," to learn more about them."),(0,n.kt)("p",null,"There are two ways to add selected contributors to a Contributor Insight Page:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Create a new list."),(0,n.kt)("li",{parentName:"ol"},"Add them to an existing list.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"contributors insight list",src:i(8967).Z,width:"1212",height:"628"})),(0,n.kt)("h4",{id:"activity"},"Activity"),(0,n.kt)("p",null,"The \"Activity\" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced."),(0,n.kt)("p",null,"You can use the information in this tab to help you learn about their engagement and general interests. It will be helpful if you want to collaborate with them or consider recruiting a maintainer for your project."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"activity graph",src:i(8517).Z,width:"1592",height:"791"})),(0,n.kt)("h2",{id:"contributor-insights-connecting-with-contributors"},"Contributor Insights: Connecting with Contributors"),(0,n.kt)("p",null,"OpenSauced Contributor Insights feature allows you to categorize, monitor, and analyze various groups of contributors. You can use Contributor Insights to track the contributions of a specific team, a specific repository, or a group of repositories. This feature offers granular insights into each contributor's activities and contributions, helping maintainers to track individual contribution histories, identify active engagement, recognize new or alumni contributors, and compare the performance of different contributors."),(0,n.kt)("p",null,"The Contributor Insights features allow you to:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"track the commits and PRs of the contributors on your list,"),(0,n.kt)("li",{parentName:"ul"},"filter your contributors by their activity level, including most active, new, and alumni,"),(0,n.kt)("li",{parentName:"ul"},"view the repositories your contributors have contributed to, the top programming languages they've used, and their time zones.")),(0,n.kt)("h3",{id:"why-create-a-contributor-insight-page"},"Why Create a Contributor Insight Page?"),(0,n.kt)("p",null,"There are many reasons to create a Contributor Insight Page, but here's some inspiration to get you started:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Interacting contributors"),": Keep tabs on contributors actively interacting with your repository."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Organization's developers"),": Monitor the contributions and performance of your internal team."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"VIP contributors"),": Highlight and track contributors you've identified as key maintainers or significant contributors."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Sales leads"),": Identify contributors whose engagement could potentially be turned into sales opportunities."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Potential hires"),": Observe contributors who exhibit skill and commitment, making them prime candidates for hiring."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Alumni contributors"),": Keep an eye on contributors who have decreased their engagement or left the project.")),(0,n.kt)("h3",{id:"creating-a-new-contributor-insight-page"},"Creating a New Contributor Insight Page"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click the "+" next to "Insights" in the sidebar.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "New Contributor Insight." You will be redirected to a page where you can create your new Contributor Insight Page.'),(0,n.kt)("p",{parentName:"li"},(0,n.kt)("img",{alt:"New Contributor Insight Page",src:i(7472).Z,width:"882",height:"728"}))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Give your page a name.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan."),(0,n.kt)("p",{parentName:"li"},(0,n.kt)("img",{alt:"team sync gif",src:i(3267).Z,width:"1218",height:"1006"})))),(0,n.kt)("h2",{id:"using-your-contributor-insight-page"},"Using Your Contributor Insight Page"),(0,n.kt)("p",null,"Once you have created your page, you will be redirected to your Contributor Insight Page. Here, you will see a dashboard with an overview of the contributors."),(0,n.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,n.kt)("h3",{id:"overview"},"Overview"),(0,n.kt)("p",null,'The "Overview" tab gives you a high-level view of the contributors in your Contributor Insight Page, including the total number of commits in the last 30 days and the types of contributors: ',(0,n.kt)("a",{parentName:"p",href:"/welcome/glossary/#active-contributors"},"Active"),", ",(0,n.kt)("a",{parentName:"p",href:"/welcome/glossary#new-contributors"},"New"),", and ",(0,n.kt)("a",{parentName:"p",href:"/welcome/glossary#alumni-contributors"},"Alumni"),"."),(0,n.kt)("h3",{id:"activity-1"},"Activity"),(0,n.kt)("p",null,'The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they\'ve contributed to, and how they compare to each other.'),(0,n.kt)("p",null,"You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"list graph",src:i(7392).Z,width:"1147",height:"731"})),(0,n.kt)("h3",{id:"highlights"},"Highlights"),(0,n.kt)("p",null,'The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.'),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/understanding-contribs-insights"},"Understanding Contributor Insights Data"),".")),(0,n.kt)("h2",{id:"highlights-connecting-and-recognizing-contributions"},"Highlights: Connecting and Recognizing Contributions"),(0,n.kt)("p",null,"Leveraging OpenSauced's Highlights feature is a great way for maintainers to recognize and showcase the valuable contributions made to your open source projects, curate and share key achievements, contributions, and milestones, and bring visibility to the hard work of your community."),(0,n.kt)("p",null,"Highlights can be used to:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"publicize issues on your repository that you'd like to match with contributors,"),(0,n.kt)("li",{parentName:"ul"},"share Dev.to blog posts you've written,"),(0,n.kt)("li",{parentName:"ul"},"celebrate PRs for your project.")),(0,n.kt)("h3",{id:"creating-a-new-highlight"},"Creating a New Highlight"),(0,n.kt)("p",null,"There are two ways to create a new highlight:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'After clicking the "Highlights" tab in the top navigation, click the input that says "Post a highlight to show your work!"')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'From your profile, click the input that says "Post a highlight to show your work!"'))),(0,n.kt)("p",null,"After you've clicked the input, you'll see a form that allows you to create a new highlight."),(0,n.kt)("p",null,"There are two ways to create a highlight:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below)."),(0,n.kt)("li",{parentName:"ol"},"Choose from a list of suggestions (shown in orange below).")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"highlight suggestions",src:i(4173).Z,width:"626",height:"633"})),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"If you're adding a blog post, you'll need to associate it to a repository by clicking the \"Add a repo\" button.")),(0,n.kt)("p",null,"Finally, it's time to add the details of your highlight. You can add a description yourself or use the auto-summarize function to generate a description."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"gif of creating a highlight",src:i(7352).Z,width:"2294",height:"1066"})),(0,n.kt)("h3",{id:"writing-an-effective-highlight"},"Writing an Effective Highlight"),(0,n.kt)("p",null,"Writing an effective highlight is key to attracting contributors to your project. Here are some tips to help you write an effective highlight:"),(0,n.kt)("h4",{id:"highlighting-issues"},"Highlighting Issues"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Focus on the problem solved"),": Begin by briefly describing the problem or challenge the issue addresses. This sets the context for why it was important."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Acknowledge contributor(s)"),": Mention the contributor(s) who reported or worked on the issue, recognizing their effort."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Impact statement"),": Explain how resolving this issue benefits the project, such as improving functionality, user experience, or security.")),(0,n.kt)("h4",{id:"highlighting-prs"},"Highlighting PRs"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Summarize the changes"),": Start with a clear summary of what the PR achieves. This could be a new feature, bug fix, or enhancement."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Credit the contributors"),": Acknowledge everyone who contributed to the PR, including reviewers."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Highlight the value"),": Explain the value of these changes to the project or its users. For instance, how it improves performance, adds a requested feature, or simplifies the codebase.")),(0,n.kt)("h4",{id:"highlighting-devto-blog-posts"},"Highlighting Dev.to Blog Posts"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Capture the essence"),": Begin with an interesting blog post summary, capturing the main theme or message."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Discuss the relevance"),": Explain why this blog post is important for your open source project or community. Is it about a major update, a community event, or sharing best practices?"),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Engage with a call-to-action"),": Encourage readers to engage with the post, whether by reading, commenting, or sharing their thoughts on the topic.")))}g.isMDXComponent=!0},7352:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},2615:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/team-sync-insights-d4d7794d5e28b72ffb375595c988cd37.gif"},3267:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/team-sync-09e7e2ab7b54fae335f5b4c40cce94b1.gif"},8517:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/activity-repos-insights-3734baf3ab38356a4de96d43dde41a3d.png"},7472:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/contrib-insight-new-f821e7b17235b6c7ea7d7d1dedf9573b.png"},8967:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},4173:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},7392:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},7224:(t,e,i)=>{i.d(e,{Z:()=>o});const o=i.p+"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"}}]); \ No newline at end of file diff --git a/assets/js/32aa117d.994794ca.js b/assets/js/32aa117d.10376a28.js similarity index 99% rename from assets/js/32aa117d.994794ca.js rename to assets/js/32aa117d.10376a28.js index b4e000ad..5b7961c6 100644 --- a/assets/js/32aa117d.994794ca.js +++ b/assets/js/32aa117d.10376a28.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3116],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>y});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var u=n.createContext({}),c=function(e){var t=n.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},p=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(o),h=r,y=d["".concat(u,".").concat(h)]||d[h]||l[h]||a;return o?n.createElement(y,i(i({ref:t},p),{},{components:o})):n.createElement(y,i({ref:t},p))}));function y(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=h;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=o(7462),r=(o(7294),o(3905));const a={id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs","Frequently asked questions","Popular FAQs guide","most asked questions"]},i=void 0,s={unversionedId:"welcome/faqs",id:"welcome/faqs",title:"Frequently Asked Questions",description:"Contributions",source:"@site/docs/welcome/faqs.md",sourceDirName:"welcome",slug:"/welcome/faqs",permalink:"/welcome/faqs",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/faqs.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs","Frequently asked questions","Popular FAQs guide","most asked questions"]},sidebar:"docs",previous:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"},next:{title:"Workspaces",permalink:"/features/workspaces"}},u={},c=[{value:"Contributions",id:"contributions",level:2},{value:"1. How do I find good first issues?",id:"1-how-do-i-find-good-first-issues",level:3},{value:"Additional Resources:",id:"additional-resources",level:4},{value:"2. My contribution does not show up on my OpenSauced profile. How do I fix it?",id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it",level:3},{value:"3. I want to provide feedback on OpenSauced.",id:"3-i-want-to-provide-feedback-on-opensauced",level:3},{value:"Sync Your GitHub Team",id:"sync-your-github-team",level:2},{value:"1. I don't see my organization on "Sync your GitHub Team."",id:"1-i-dont-see-my-organization-on-sync-your-github-team",level:3},{value:"2. I get an error when I try to select my team in "Sync your GitHub Team."",id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team",level:3},{value:"3. Do I need to grant authorization to connect GitHub to OpenSauced?",id:"3-do-i-need-to-grant-authorization-to-connect-github-to-opensauced",level:3}],p={toc:c},d="wrapper";function l(e){let{components:t,...o}=e;return(0,r.kt)(d,(0,n.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"contributions"},"Contributions"),(0,r.kt)("h3",{id:"1-how-do-i-find-good-first-issues"},"1. How do I find good first issues?"),(0,r.kt)("p",null,"We believe that ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/blog/good-first-issues-dont-exist"},"good first issues don't exist"),", and the best way to find an issue to work on is to create the issue yourself."),(0,r.kt)("p",null,"However, sites like ",(0,r.kt)("a",{parentName:"p",href:"https://goodfirstissues.com/"},"Good First Issues")," and ",(0,r.kt)("a",{parentName:"p",href:"https://www.firsttimersonly.com/"},"First Timers Only")," can lead you to projects and issues worth working on. You can also use the ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," label in the project search engine you want to contribute to. Check out ",(0,r.kt)("a",{parentName:"p",href:"https://www.freecodecamp.org/news/how-to-find-good-first-issues-on-github/"},"this guide")," to learn more about finding a ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," on GitHub.."),(0,r.kt)("h4",{id:"additional-resources"},"Additional Resources:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/23323"},'"Who\'s looking for open source contributors?" series on Dev.to')),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/"},"Intro to Open Source Course with OpenSauced"))),(0,r.kt)("h3",{id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it"},"2. My contribution does not show up on my OpenSauced profile. How do I fix it?"),(0,r.kt)("p",null,"Create a ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/hub/insights"},"Repository Insights Page")," or add your merged pull request to a ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"Highlight"),"."),(0,r.kt)("h3",{id:"3-i-want-to-provide-feedback-on-opensauced"},"3. I want to provide feedback on OpenSauced."),(0,r.kt)("p",null,"We love feedback. Post your suggestion in our ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"feedback repository"),"."),(0,r.kt)("h2",{id:"sync-your-github-team"},"Sync Your GitHub Team"),(0,r.kt)("h3",{id:"1-i-dont-see-my-organization-on-sync-your-github-team"},'1. I don\'t see my organization on "Sync your GitHub Team."'),(0,r.kt)("p",null,'You may not see your organization if you are not a "public" member. You can update this by going to the organization on GitHub and selecting the "People" tab. Next, search for your name. You can then change "private" to "public." For complete instructions, see ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership"},"this guide"),"."),(0,r.kt)("h3",{id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team"},'2. I get an error when I try to select my team in "Sync your GitHub Team."'),(0,r.kt)("p",null,'If you see your organization but get an error when selecting a team, your organization likely has restricted third-party applications. You can check this if you are an owner by going to "Your organizations" on GitHub, selecting "Settings", and then "Third-party Access."'),(0,r.kt)("p",null,"If you're an ",(0,r.kt)("strong",{parentName:"p"},"owner"),' of the repository, you can select "Allow select third-party access" or specifically approve OpenSauced by following the directions in ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization"},"this guide"),"."),(0,r.kt)("p",null,"If you are not an owner of the organization, you will need to check with your organization's owner and request access. For complete instructions, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps"},"this guide"),"."),(0,r.kt)("h3",{id:"3-do-i-need-to-grant-authorization-to-connect-github-to-opensauced"},"3. Do I need to grant authorization to connect GitHub to OpenSauced?"),(0,r.kt)("p",null,"Yes, auth access through GitHub OAuth is required to link your profile to a workspace/team. As an early stage startup, we chose this method for its simplicity. We also request read-only access to your GitHub organizations to gather Contributor Insights based on public GitHub Teams data. We ensure all data used is public and read-only."))}l.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3116],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>y});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var u=n.createContext({}),c=function(e){var t=n.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},p=function(e){var t=c(e.components);return n.createElement(u.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(o),h=r,y=d["".concat(u,".").concat(h)]||d[h]||l[h]||a;return o?n.createElement(y,i(i({ref:t},p),{},{components:o})):n.createElement(y,i({ref:t},p))}));function y(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=o.length,i=new Array(a);i[0]=h;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var n=o(7462),r=(o(7294),o(3905));const a={id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs","Frequently asked questions","Popular FAQs guide","most asked questions"]},i=void 0,s={unversionedId:"welcome/faqs",id:"welcome/faqs",title:"Frequently Asked Questions",description:"Contributions",source:"@site/docs/welcome/faqs.md",sourceDirName:"welcome",slug:"/welcome/faqs",permalink:"/welcome/faqs",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/faqs.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"faqs",title:"Frequently Asked Questions",sidebar_label:"FAQs",keywords:["faqs","Frequently asked questions","Popular FAQs guide","most asked questions"]},sidebar:"docs",previous:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"},next:{title:"Workspaces",permalink:"/features/workspaces"}},u={},c=[{value:"Contributions",id:"contributions",level:2},{value:"1. How do I find good first issues?",id:"1-how-do-i-find-good-first-issues",level:3},{value:"Additional Resources:",id:"additional-resources",level:4},{value:"2. My contribution does not show up on my OpenSauced profile. How do I fix it?",id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it",level:3},{value:"3. I want to provide feedback on OpenSauced.",id:"3-i-want-to-provide-feedback-on-opensauced",level:3},{value:"Sync Your GitHub Team",id:"sync-your-github-team",level:2},{value:"1. I don't see my organization on "Sync your GitHub Team."",id:"1-i-dont-see-my-organization-on-sync-your-github-team",level:3},{value:"2. I get an error when I try to select my team in "Sync your GitHub Team."",id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team",level:3},{value:"3. Do I need to grant authorization to connect GitHub to OpenSauced?",id:"3-do-i-need-to-grant-authorization-to-connect-github-to-opensauced",level:3}],p={toc:c},d="wrapper";function l(e){let{components:t,...o}=e;return(0,r.kt)(d,(0,n.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"contributions"},"Contributions"),(0,r.kt)("h3",{id:"1-how-do-i-find-good-first-issues"},"1. How do I find good first issues?"),(0,r.kt)("p",null,"We believe that ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/blog/good-first-issues-dont-exist"},"good first issues don't exist"),", and the best way to find an issue to work on is to create the issue yourself."),(0,r.kt)("p",null,"However, sites like ",(0,r.kt)("a",{parentName:"p",href:"https://goodfirstissues.com/"},"Good First Issues")," and ",(0,r.kt)("a",{parentName:"p",href:"https://www.firsttimersonly.com/"},"First Timers Only")," can lead you to projects and issues worth working on. You can also use the ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," label in the project search engine you want to contribute to. Check out ",(0,r.kt)("a",{parentName:"p",href:"https://www.freecodecamp.org/news/how-to-find-good-first-issues-on-github/"},"this guide")," to learn more about finding a ",(0,r.kt)("inlineCode",{parentName:"p"},"good first issue")," on GitHub.."),(0,r.kt)("h4",{id:"additional-resources"},"Additional Resources:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/23323"},'"Who\'s looking for open source contributors?" series on Dev.to')),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/"},"Intro to Open Source Course with OpenSauced"))),(0,r.kt)("h3",{id:"2-my-contribution-does-not-show-up-on-my-opensauced-profile-how-do-i-fix-it"},"2. My contribution does not show up on my OpenSauced profile. How do I fix it?"),(0,r.kt)("p",null,"Create a ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/hub/insights"},"Repository Insights Page")," or add your merged pull request to a ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"Highlight"),"."),(0,r.kt)("h3",{id:"3-i-want-to-provide-feedback-on-opensauced"},"3. I want to provide feedback on OpenSauced."),(0,r.kt)("p",null,"We love feedback. Post your suggestion in our ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"feedback repository"),"."),(0,r.kt)("h2",{id:"sync-your-github-team"},"Sync Your GitHub Team"),(0,r.kt)("h3",{id:"1-i-dont-see-my-organization-on-sync-your-github-team"},'1. I don\'t see my organization on "Sync your GitHub Team."'),(0,r.kt)("p",null,'You may not see your organization if you are not a "public" member. You can update this by going to the organization on GitHub and selecting the "People" tab. Next, search for your name. You can then change "private" to "public." For complete instructions, see ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/publicizing-or-hiding-organization-membership"},"this guide"),"."),(0,r.kt)("h3",{id:"2-i-get-an-error-when-i-try-to-select-my-team-in-sync-your-github-team"},'2. I get an error when I try to select my team in "Sync your GitHub Team."'),(0,r.kt)("p",null,'If you see your organization but get an error when selecting a team, your organization likely has restricted third-party applications. You can check this if you are an owner by going to "Your organizations" on GitHub, selecting "Settings", and then "Third-party Access."'),(0,r.kt)("p",null,"If you're an ",(0,r.kt)("strong",{parentName:"p"},"owner"),' of the repository, you can select "Allow select third-party access" or specifically approve OpenSauced by following the directions in ',(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/approving-oauth-apps-for-your-organization"},"this guide"),"."),(0,r.kt)("p",null,"If you are not an owner of the organization, you will need to check with your organization's owner and request access. For complete instructions, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps"},"this guide"),"."),(0,r.kt)("h3",{id:"3-do-i-need-to-grant-authorization-to-connect-github-to-opensauced"},"3. Do I need to grant authorization to connect GitHub to OpenSauced?"),(0,r.kt)("p",null,"Yes, auth access through GitHub OAuth is required to link your profile to a workspace/team. As an early stage startup, we chose this method for its simplicity. We also request read-only access to your GitHub organizations to gather Contributor Insights based on public GitHub Teams data. We ensure all data used is public and read-only."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/348cc82b.535f4178.js b/assets/js/348cc82b.04fc7f44.js similarity index 99% rename from assets/js/348cc82b.535f4178.js rename to assets/js/348cc82b.04fc7f44.js index 0806ec19..10f00904 100644 --- a/assets/js/348cc82b.535f4178.js +++ b/assets/js/348cc82b.04fc7f44.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4642],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>y});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function s(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var p=r.createContext({}),u=function(e){var t=r.useContext(p),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},c=function(e){var t=u(e.components);return r.createElement(p.Provider,{value:t},e.children)},l="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),l=u(o),d=n,y=l["".concat(p,".").concat(d)]||l[d]||h[d]||i;return o?r.createElement(y,s(s({ref:t},c),{},{components:o})):r.createElement(y,s({ref:t},c))}));function y(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=o.length,s=new Array(i);s[0]=d;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a[l]="string"==typeof e?e:n,s[1]=a;for(var u=2;u{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var r=o(7462),n=(o(7294),o(3905));const i={id:"repo-insights",title:"Insights into Open Source Repositories",sidebar_label:"Repository Insights",keywords:["Repository Insights","open source","projects","Open Source Repository Insights","Project Repository Insights","Repository Insights into Open Source Projects","Open Source Project Repository Insights"]},s=void 0,a={unversionedId:"features/repo-insights",id:"features/repo-insights",title:"Insights into Open Source Repositories",description:"The Repository Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of open source project's health and contributions. From contribution trends to community health, OpenSauced Repository Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.",source:"@site/docs/features/repo-insights.md",sourceDirName:"features",slug:"/features/repo-insights",permalink:"/features/repo-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/repo-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"repo-insights",title:"Insights into Open Source Repositories",sidebar_label:"Repository Insights",keywords:["Repository Insights","open source","projects","Open Source Repository Insights","Project Repository Insights","Repository Insights into Open Source Projects","Open Source Project Repository Insights"]},sidebar:"docs",previous:{title:"Workspaces",permalink:"/features/workspaces"},next:{title:"Contributor Insights",permalink:"/features/contributor-insights"}},p={},u=[{value:"How to Use Repository Insights",id:"how-to-use-repository-insights",level:2},{value:"Contributors",id:"contributors",level:3},{value:"Maintainers",id:"maintainers",level:3},{value:"Sharing Your Repository Insights Page with Your Team",id:"sharing-your-repository-insights-page-with-your-team",level:2},{value:"How to Share Repository Insights Page",id:"how-to-share-repository-insights-page",level:3}],c={toc:u},l="wrapper";function h(e){let{components:t,...i}=e;return(0,n.kt)(l,(0,r.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"The Repository Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of open source project's health and contributions. From contribution trends to community health, OpenSauced Repository Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"insight-pages-demo",src:o(7220).Z,width:"960",height:"543"})),(0,n.kt)("h2",{id:"how-to-use-repository-insights"},"How to Use Repository Insights"),(0,n.kt)("h3",{id:"contributors"},"Contributors"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"To track projects you're working on."),(0,n.kt)("li",{parentName:"ul"},"To identify potential projects to contribute to."),(0,n.kt)("li",{parentName:"ul"},"To discover other contributors to collaborate with."),(0,n.kt)("li",{parentName:"ul"},"To track the activity of a topic you're interested in."),(0,n.kt)("li",{parentName:"ul"},"To track the activity of your favorite programming languages."),(0,n.kt)("li",{parentName:"ul"},"To aid in the job search process.")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Check out our ",(0,n.kt)("a",{parentName:"p",href:"/contributors/contributors-guide-to-open-sauced#repository-insights-connecting-your-repositories"},"Contributors Guide to OpenSauced")," to learn more about how to create and use Repository Insights as a contributor.")),(0,n.kt)("h3",{id:"maintainers"},"Maintainers"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"To track the health of your project."),(0,n.kt)("li",{parentName:"ul"},"To identify contributors who are making an impact."),(0,n.kt)("li",{parentName:"ul"},"To find new contributors to support your project.")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Check out our ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/maintainers-guide-to-open-sauced"},"Maintainers Guide to OpenSauced")," and our ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/understanding-repo-insights"},"Understanding Repository Insights Data")," pages to learn more about how to create and use Repository Insights as a maintainer.")),(0,n.kt)("h2",{id:"sharing-your-repository-insights-page-with-your-team"},"Sharing Your Repository Insights Page with Your Team"),(0,n.kt)("p",null,"After you've created your Repository Insights Page, share it with your team."),(0,n.kt)("p",null,"Sharing this page with your team ensures that everyone is well-informed about the project's status and can collaborate more effectively. It fosters a collaborative environment where team members can align their efforts, make informed decisions, and collectively work toward the organization's success."),(0,n.kt)("h3",{id:"how-to-share-repository-insights-page"},"How to Share Repository Insights Page"),(0,n.kt)("p",null,"This method gives view-only access to your Repository Insights Page."),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to your sidebar."),(0,n.kt)("li",{parentName:"ol"},"Click the Repository Insight Page that you want to share."),(0,n.kt)("li",{parentName:"ol"},'On the top right, click the "Share" button to copy the Repository Insight Page URL to the clipboard.'),(0,n.kt)("li",{parentName:"ol"},"Share the URL with your team members.")),(0,n.kt)("p",null,"By default, your Repository Insights are public. If you want to make your Repository Insights private, you can upgrade your account to a PRO plan."))}h.isMDXComponent=!0},7220:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4642],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>y});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function s(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var p=r.createContext({}),u=function(e){var t=r.useContext(p),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},c=function(e){var t=u(e.components);return r.createElement(p.Provider,{value:t},e.children)},l="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,i=e.originalType,p=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),l=u(o),d=n,y=l["".concat(p,".").concat(d)]||l[d]||h[d]||i;return o?r.createElement(y,s(s({ref:t},c),{},{components:o})):r.createElement(y,s({ref:t},c))}));function y(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=o.length,s=new Array(i);s[0]=d;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a[l]="string"==typeof e?e:n,s[1]=a;for(var u=2;u{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var r=o(7462),n=(o(7294),o(3905));const i={id:"repo-insights",title:"Insights into Open Source Repositories",sidebar_label:"Repository Insights",keywords:["Repository Insights","open source","projects","Open Source Repository Insights","Project Repository Insights","Repository Insights into Open Source Projects","Open Source Project Repository Insights"]},s=void 0,a={unversionedId:"features/repo-insights",id:"features/repo-insights",title:"Insights into Open Source Repositories",description:"The Repository Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of open source project's health and contributions. From contribution trends to community health, OpenSauced Repository Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.",source:"@site/docs/features/repo-insights.md",sourceDirName:"features",slug:"/features/repo-insights",permalink:"/features/repo-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/repo-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"repo-insights",title:"Insights into Open Source Repositories",sidebar_label:"Repository Insights",keywords:["Repository Insights","open source","projects","Open Source Repository Insights","Project Repository Insights","Repository Insights into Open Source Projects","Open Source Project Repository Insights"]},sidebar:"docs",previous:{title:"Workspaces",permalink:"/features/workspaces"},next:{title:"Contributor Insights",permalink:"/features/contributor-insights"}},p={},u=[{value:"How to Use Repository Insights",id:"how-to-use-repository-insights",level:2},{value:"Contributors",id:"contributors",level:3},{value:"Maintainers",id:"maintainers",level:3},{value:"Sharing Your Repository Insights Page with Your Team",id:"sharing-your-repository-insights-page-with-your-team",level:2},{value:"How to Share Repository Insights Page",id:"how-to-share-repository-insights-page",level:3}],c={toc:u},l="wrapper";function h(e){let{components:t,...i}=e;return(0,n.kt)(l,(0,r.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"The Repository Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of open source project's health and contributions. From contribution trends to community health, OpenSauced Repository Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey. "),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"insight-pages-demo",src:o(7220).Z,width:"960",height:"543"})),(0,n.kt)("h2",{id:"how-to-use-repository-insights"},"How to Use Repository Insights"),(0,n.kt)("h3",{id:"contributors"},"Contributors"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"To track projects you're working on."),(0,n.kt)("li",{parentName:"ul"},"To identify potential projects to contribute to."),(0,n.kt)("li",{parentName:"ul"},"To discover other contributors to collaborate with."),(0,n.kt)("li",{parentName:"ul"},"To track the activity of a topic you're interested in."),(0,n.kt)("li",{parentName:"ul"},"To track the activity of your favorite programming languages."),(0,n.kt)("li",{parentName:"ul"},"To aid in the job search process.")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Check out our ",(0,n.kt)("a",{parentName:"p",href:"/contributors/contributors-guide-to-open-sauced#repository-insights-connecting-your-repositories"},"Contributors Guide to OpenSauced")," to learn more about how to create and use Repository Insights as a contributor.")),(0,n.kt)("h3",{id:"maintainers"},"Maintainers"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"To track the health of your project."),(0,n.kt)("li",{parentName:"ul"},"To identify contributors who are making an impact."),(0,n.kt)("li",{parentName:"ul"},"To find new contributors to support your project.")),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"},"Check out our ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/maintainers-guide-to-open-sauced"},"Maintainers Guide to OpenSauced")," and our ",(0,n.kt)("a",{parentName:"p",href:"/maintainers/understanding-repo-insights"},"Understanding Repository Insights Data")," pages to learn more about how to create and use Repository Insights as a maintainer.")),(0,n.kt)("h2",{id:"sharing-your-repository-insights-page-with-your-team"},"Sharing Your Repository Insights Page with Your Team"),(0,n.kt)("p",null,"After you've created your Repository Insights Page, share it with your team."),(0,n.kt)("p",null,"Sharing this page with your team ensures that everyone is well-informed about the project's status and can collaborate more effectively. It fosters a collaborative environment where team members can align their efforts, make informed decisions, and collectively work toward the organization's success."),(0,n.kt)("h3",{id:"how-to-share-repository-insights-page"},"How to Share Repository Insights Page"),(0,n.kt)("p",null,"This method gives view-only access to your Repository Insights Page."),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Navigate to your sidebar."),(0,n.kt)("li",{parentName:"ol"},"Click the Repository Insight Page that you want to share."),(0,n.kt)("li",{parentName:"ol"},'On the top right, click the "Share" button to copy the Repository Insight Page URL to the clipboard.'),(0,n.kt)("li",{parentName:"ol"},"Share the URL with your team members.")),(0,n.kt)("p",null,"By default, your Repository Insights are public. If you want to make your Repository Insights private, you can upgrade your account to a PRO plan."))}h.isMDXComponent=!0},7220:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"}}]); \ No newline at end of file diff --git a/assets/js/43ab1095.fba6b88b.js b/assets/js/43ab1095.66513162.js similarity index 99% rename from assets/js/43ab1095.fba6b88b.js rename to assets/js/43ab1095.66513162.js index 7e3a9d26..fae1e868 100644 --- a/assets/js/43ab1095.fba6b88b.js +++ b/assets/js/43ab1095.66513162.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1568],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=o.createContext({}),p=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),h=i,m=u["".concat(l,".").concat(h)]||u[h]||d[h]||r;return n?o.createElement(m,a(a({ref:t},c),{},{components:n})):o.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:i,a[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var o=n(7462),i=(n(7294),n(3905));const r={id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions","pull request overview","pr details","pr review description","Description Guidelines","Contribution etiquette","Pull Request Insight","PR Context","pull request description"]},a=void 0,s={unversionedId:"tools/chrome-extension/pr-description",id:"tools/chrome-extension/pr-description",title:"PR Description",description:"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings.",source:"@site/docs/tools/chrome-extension/pr-description.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/pr-description",permalink:"/tools/chrome-extension/pr-description",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/pr-description.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions","pull request overview","pr details","pr review description","Description Guidelines","Contribution etiquette","Pull Request Insight","PR Context","pull request description"]},sidebar:"docs",previous:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"},next:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"}},l={},p=[],c={toc:p},u="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(u,(0,o.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings."),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note"),": This feature is not available on private repositories.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"generate pr description",src:n(3706).Z,width:"954",height:"405"})),(0,i.kt)("p",null,"You can use these settings to set the strictness and the tone of the generated AI. Below is the explanation of the settings:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Length"),": The output length."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Temperature"),": The similarity between the input text and the output, higher temperature mean more randomness, lower temperature means more strict to the input."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Max Input Length.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Language:")," Right now, this feature supports: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Korean."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Tone:")," The tone of the output: Exciting, Persuasive, Informative, Humorous, Formal."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Source:")," The source of the description that our AI will use to get the output it can be the next: ",(0,i.kt)("strong",{parentName:"li"},"Commit Messages")," or ",(0,i.kt)("strong",{parentName:"li"},"The diff between the files")," or ",(0,i.kt)("strong",{parentName:"li"},"both"),".")),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241760972-aa10eabe-3c01-4921-956a-ab85bada1575.png",alt:"Setting screenshot"})),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/fa19fa8e-e652-461c-8df4-6e959c9b9943",alt:"ezgif-3-43e056fc1f"})),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/insights/pull/1197"},"Example PR"),", using the next options: both in the description source, 500 for output length and 3900 max input length, temperature 0.7."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Exciting:")," This PR fixes the follow call and adds a ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to the ",(0,i.kt)("inlineCode",{parentName:"p"},"contributor-highlight-card"),". The code has been linted and merged from the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch. ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function allows users to follow/unfollow contributors. Copy link and follow/unfollow options are now available in the dropdown menu."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Persuasive:")," This PR fixes the follow call and linting issues in the ",(0,i.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. It also merges the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),". A new ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function has been added to handle follow/unfollow functionality. This PR ensures a smoother user experience."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Informative:")," This PR fixes the follow call and linting issues in the ",(0,i.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,i.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. The code has been tested and reviewed."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Humorous:")," This PR fixes the follow call and also lints the file. We've also added a new ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to make the code more readable. Now you can follow/unfollow contributors with ease. We've also merged the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Formal:")," This PR fixes the follow call and linting issues in the ",(0,i.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,i.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. This PR also merges the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."))}d.isMDXComponent=!0},3706:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-description-e9b163f4d321927a53dd90d340fec85f.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1568],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=o.createContext({}),p=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=p(n),h=i,m=u["".concat(l,".").concat(h)]||u[h]||d[h]||r;return n?o.createElement(m,a(a({ref:t},c),{},{components:n})):o.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:i,a[1]=s;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var o=n(7462),i=(n(7294),n(3905));const r={id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions","pull request overview","pr details","pr review description","Description Guidelines","Contribution etiquette","Pull Request Insight","PR Context","pull request description"]},a=void 0,s={unversionedId:"tools/chrome-extension/pr-description",id:"tools/chrome-extension/pr-description",title:"PR Description",description:"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings.",source:"@site/docs/tools/chrome-extension/pr-description.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/pr-description",permalink:"/tools/chrome-extension/pr-description",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/pr-description.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"pr-description",title:"PR Description",sidebar_label:"PR Description",keywords:["ai","pr descriptions","pull request overview","pr details","pr review description","Description Guidelines","Contribution etiquette","Pull Request Insight","PR Context","pull request description"]},sidebar:"docs",previous:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"},next:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"}},l={},p=[],c={toc:p},u="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(u,(0,o.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings."),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note"),": This feature is not available on private repositories.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"generate pr description",src:n(3706).Z,width:"954",height:"405"})),(0,i.kt)("p",null,"You can use these settings to set the strictness and the tone of the generated AI. Below is the explanation of the settings:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Length"),": The output length."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Temperature"),": The similarity between the input text and the output, higher temperature mean more randomness, lower temperature means more strict to the input."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Max Input Length.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Language:")," Right now, this feature supports: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Korean."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Tone:")," The tone of the output: Exciting, Persuasive, Informative, Humorous, Formal."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Description Source:")," The source of the description that our AI will use to get the output it can be the next: ",(0,i.kt)("strong",{parentName:"li"},"Commit Messages")," or ",(0,i.kt)("strong",{parentName:"li"},"The diff between the files")," or ",(0,i.kt)("strong",{parentName:"li"},"both"),".")),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241760972-aa10eabe-3c01-4921-956a-ab85bada1575.png",alt:"Setting screenshot"})),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/fa19fa8e-e652-461c-8df4-6e959c9b9943",alt:"ezgif-3-43e056fc1f"})),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/insights/pull/1197"},"Example PR"),", using the next options: both in the description source, 500 for output length and 3900 max input length, temperature 0.7."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Exciting:")," This PR fixes the follow call and adds a ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to the ",(0,i.kt)("inlineCode",{parentName:"p"},"contributor-highlight-card"),". The code has been linted and merged from the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch. ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function allows users to follow/unfollow contributors. Copy link and follow/unfollow options are now available in the dropdown menu."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Persuasive:")," This PR fixes the follow call and linting issues in the ",(0,i.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. It also merges the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),". A new ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function has been added to handle follow/unfollow functionality. This PR ensures a smoother user experience."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Informative:")," This PR fixes the follow call and linting issues in the ",(0,i.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,i.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. The code has been tested and reviewed."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Humorous:")," This PR fixes the follow call and also lints the file. We've also added a new ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function to make the code more readable. Now you can follow/unfollow contributors with ease. We've also merged the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Formal:")," This PR fixes the follow call and linting issues in the ",(0,i.kt)("inlineCode",{parentName:"p"},"ContributorHighlightCard")," component. A new function ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," has been added to handle the follow/unfollow functionality. The ",(0,i.kt)("inlineCode",{parentName:"p"},"useFollowUser")," hook has been moved inside this function. The ",(0,i.kt)("inlineCode",{parentName:"p"},"FollowUser")," function is now used in place of the previous follow/unfollow code block. This PR also merges the ",(0,i.kt)("inlineCode",{parentName:"p"},"beta")," branch into ",(0,i.kt)("inlineCode",{parentName:"p"},"fix-follow-check"),"."))}d.isMDXComponent=!0},3706:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-description-e9b163f4d321927a53dd90d340fec85f.gif"}}]); \ No newline at end of file diff --git a/assets/js/43d9ba09.b0bdd205.js b/assets/js/43d9ba09.c699c8a9.js similarity index 98% rename from assets/js/43d9ba09.b0bdd205.js rename to assets/js/43d9ba09.c699c8a9.js index c0f8991d..665524e8 100644 --- a/assets/js/43d9ba09.b0bdd205.js +++ b/assets/js/43d9ba09.c699c8a9.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4726],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),s=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return o.createElement(c.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=s(n),m=r,f=p["".concat(c,".").concat(m)]||p[m]||u[m]||a;return n?o.createElement(f,i(i({ref:t},d),{},{components:n})):o.createElement(f,i({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:r,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const a={id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations","Code Interpretation","Programming Insights","Code Understanding","Code Walkthrough","Algorithm Explanation","Software Development Insights","AI in Code"]},i=void 0,l={unversionedId:"tools/chrome-extension/code-explanation",id:"tools/chrome-extension/code-explanation",title:"Code Explanation",description:"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.",source:"@site/docs/tools/chrome-extension/code-explanation.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/code-explanation",permalink:"/tools/chrome-extension/code-explanation",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/code-explanation.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations","Code Interpretation","Programming Insights","Code Understanding","Code Walkthrough","Algorithm Explanation","Software Development Insights","AI in Code"]},sidebar:"docs",previous:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"},next:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"}},c={},s=[],d={toc:s},p="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,o.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(8528).Z,width:"828",height:"481"})))}u.isMDXComponent=!0},8528:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-explain-4dde1737ae1b0792fc287750ae7de5fd.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4726],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),s=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=s(e.components);return o.createElement(c.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=s(n),m=r,f=p["".concat(c,".").concat(m)]||p[m]||u[m]||a;return n?o.createElement(f,i(i({ref:t},d),{},{components:n})):o.createElement(f,i({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:r,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const a={id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations","Code Interpretation","Programming Insights","Code Understanding","Code Walkthrough","Algorithm Explanation","Software Development Insights","AI in Code"]},i=void 0,l={unversionedId:"tools/chrome-extension/code-explanation",id:"tools/chrome-extension/code-explanation",title:"Code Explanation",description:"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.",source:"@site/docs/tools/chrome-extension/code-explanation.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/code-explanation",permalink:"/tools/chrome-extension/code-explanation",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/code-explanation.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"code-explanation",title:"Code Explanation",sidebar_label:"Code Explanation",keywords:["ai","code explanations","Code Interpretation","Programming Insights","Code Understanding","Code Walkthrough","Algorithm Explanation","Software Development Insights","AI in Code"]},sidebar:"docs",previous:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"},next:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"}},c={},s=[],d={toc:s},p="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(p,(0,o.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Generate an explanation for a block of code using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"generate code refactor",src:n(8528).Z,width:"828",height:"481"})))}u.isMDXComponent=!0},8528:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/pr-code-explain-4dde1737ae1b0792fc287750ae7de5fd.gif"}}]); \ No newline at end of file diff --git a/assets/js/455b852b.eab4eed9.js b/assets/js/455b852b.2ee2b193.js similarity index 97% rename from assets/js/455b852b.eab4eed9.js rename to assets/js/455b852b.2ee2b193.js index b2800c9a..c59e146d 100644 --- a/assets/js/455b852b.eab4eed9.js +++ b/assets/js/455b852b.2ee2b193.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[358],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>p});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function s(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var a=o.createContext({}),d=function(e){var t=o.useContext(a),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},l=function(e){var t=d(e.components);return o.createElement(a.Provider,{value:t},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,a=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=d(n),m=r,p=u["".concat(a,".").concat(m)]||u[m]||h[m]||i;return n?o.createElement(p,s(s({ref:t},l),{},{components:n})):o.createElement(p,s({ref:t},l))}));function p(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,s=new Array(i);s[0]=m;var c={};for(var a in t)hasOwnProperty.call(t,a)&&(c[a]=t[a]);c.originalType=e,c[u]="string"==typeof e?e:r,s[1]=c;for(var d=2;d{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=n(7462),r=(n(7294),n(3905));const i={id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension","Chrome Extension Overview","Browser Extension Introduction","Chrome Add-On Introduction","Extension Development Basics","Getting Started with Chrome Extension","Browser Plugin Introduction","Chrome Web Store Add-On","Extension Development Guide","Chrome Extension Features","Introduction to Browser Extensions","Chrome Extension Fundamentals","Web Browser Plugin Basics"]},s=void 0,c={unversionedId:"tools/chrome-extension/introduction-to-the-chrome-extension",id:"tools/chrome-extension/introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",description:"The OpenSauced Chrome Extension",source:"@site/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/introduction-to-the-chrome-extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension","Chrome Extension Overview","Browser Extension Introduction","Chrome Add-On Introduction","Extension Development Basics","Getting Started with Chrome Extension","Browser Plugin Introduction","Chrome Web Store Add-On","Extension Development Guide","Chrome Extension Features","Introduction to Browser Extensions","Chrome Extension Fundamentals","Web Browser Plugin Basics"]},sidebar:"docs",previous:{title:"Pizza CLI",permalink:"/tools/pizza-cli"},next:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"}},a={},d=[{value:"The OpenSauced Chrome Extension",id:"the-opensauced-chrome-extension",level:2},{value:"Installing the Chrome Extension",id:"installing-the-chrome-extension",level:2}],l={toc:d},u="wrapper";function h(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,o.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"the-opensauced-chrome-extension"},"The OpenSauced Chrome Extension"),(0,r.kt)("p",null,"The OpenSauced Chrome extension seamlessly integrates GitHub with the OpenSauced platform. With this extension, you can easily view and discover open-source projects looking for contributions directly from GitHub, making collaboration and contribution easier than ever."),(0,r.kt)("h2",{id:"installing-the-chrome-extension"},"Installing the Chrome Extension"),(0,r.kt)("p",null,"To install the OpenSauced Chrome extension, navigate to the ",(0,r.kt)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/opensauced/aebjdjjodmkdnmejakflnfpkadblfmdh"},"OpenSauced.ai extension on Chrome Web Store"),' and click the "Add to Chrome" button.'))}h.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[358],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>p});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function s(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var a=o.createContext({}),d=function(e){var t=o.useContext(a),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},l=function(e){var t=d(e.components);return o.createElement(a.Provider,{value:t},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,a=e.parentName,l=c(e,["components","mdxType","originalType","parentName"]),u=d(n),m=r,p=u["".concat(a,".").concat(m)]||u[m]||h[m]||i;return n?o.createElement(p,s(s({ref:t},l),{},{components:n})):o.createElement(p,s({ref:t},l))}));function p(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,s=new Array(i);s[0]=m;var c={};for(var a in t)hasOwnProperty.call(t,a)&&(c[a]=t[a]);c.originalType=e,c[u]="string"==typeof e?e:r,s[1]=c;for(var d=2;d{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>h,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=n(7462),r=(n(7294),n(3905));const i={id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension","Chrome Extension Overview","Browser Extension Introduction","Chrome Add-On Introduction","Extension Development Basics","Getting Started with Chrome Extension","Browser Plugin Introduction","Chrome Web Store Add-On","Extension Development Guide","Chrome Extension Features","Introduction to Browser Extensions","Chrome Extension Fundamentals","Web Browser Plugin Basics"]},s=void 0,c={unversionedId:"tools/chrome-extension/introduction-to-the-chrome-extension",id:"tools/chrome-extension/introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",description:"The OpenSauced Chrome Extension",source:"@site/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/introduction-to-the-chrome-extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/introduction-to-the-chrome-extension.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"introduction-to-the-chrome-extension",title:"Introduction to the Chrome Extension",sidebar_label:"Introduction to the Chrome Extension",keywords:["introduction to the chrome extension","Chrome Extension Overview","Browser Extension Introduction","Chrome Add-On Introduction","Extension Development Basics","Getting Started with Chrome Extension","Browser Plugin Introduction","Chrome Web Store Add-On","Extension Development Guide","Chrome Extension Features","Introduction to Browser Extensions","Chrome Extension Fundamentals","Web Browser Plugin Basics"]},sidebar:"docs",previous:{title:"Pizza CLI",permalink:"/tools/pizza-cli"},next:{title:"Code Explanation",permalink:"/tools/chrome-extension/code-explanation"}},a={},d=[{value:"The OpenSauced Chrome Extension",id:"the-opensauced-chrome-extension",level:2},{value:"Installing the Chrome Extension",id:"installing-the-chrome-extension",level:2}],l={toc:d},u="wrapper";function h(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,o.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"the-opensauced-chrome-extension"},"The OpenSauced Chrome Extension"),(0,r.kt)("p",null,"The OpenSauced Chrome extension seamlessly integrates GitHub with the OpenSauced platform. With this extension, you can easily view and discover open-source projects looking for contributions directly from GitHub, making collaboration and contribution easier than ever."),(0,r.kt)("h2",{id:"installing-the-chrome-extension"},"Installing the Chrome Extension"),(0,r.kt)("p",null,"To install the OpenSauced Chrome extension, navigate to the ",(0,r.kt)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/opensauced/aebjdjjodmkdnmejakflnfpkadblfmdh"},"OpenSauced.ai extension on Chrome Web Store"),' and click the "Add to Chrome" button.'))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4658ccba.d669e4e8.js b/assets/js/4658ccba.402d7ecb.js similarity index 99% rename from assets/js/4658ccba.d669e4e8.js rename to assets/js/4658ccba.402d7ecb.js index 1c91b1e6..88cc98a8 100644 --- a/assets/js/4658ccba.d669e4e8.js +++ b/assets/js/4658ccba.402d7ecb.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2817],{3905:(t,e,n)=>{n.d(e,{Zo:()=>p,kt:()=>k});var a=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function i(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var s=a.createContext({}),u=function(t){var e=a.useContext(s),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},p=function(t){var e=u(t.components);return a.createElement(s.Provider,{value:e},t.children)},d="mdxType",c={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},m=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,s=t.parentName,p=l(t,["components","mdxType","originalType","parentName"]),d=u(n),m=r,k=d["".concat(s,".").concat(m)]||d[m]||c[m]||o;return n?a.createElement(k,i(i({ref:e},p),{},{components:n})):a.createElement(k,i({ref:e},p))}));function k(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var s in e)hasOwnProperty.call(e,s)&&(l[s]=e[s]);l.originalType=t,l[d]="string"==typeof t?t:r,i[1]=l;for(var u=2;u{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var a=n(7462),r=(n(7294),n(3905));const o={id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how to get a job with open source contributions","benefits of open source contributions for career development","open source projects to boost your resume","how to showcase your open source work to employers","open source skills that employers look for","how to find open source opportunities in your field","best practices for open source contributors","open source success stories and tips"]},i=void 0,l={unversionedId:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",id:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",description:"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.",source:"@site/docs/job-seekers-guide/categorize-contributions.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/categorize-contributions.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how to get a job with open source contributions","benefits of open source contributions for career development","open source projects to boost your resume","how to showcase your open source work to employers","open source skills that employers look for","how to find open source opportunities in your field","best practices for open source contributors","open source success stories and tips"]},sidebar:"docs",previous:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},s={},u=[{value:"Personal Information",id:"personal-information",level:2},{value:"Career Goals",id:"career-goals",level:2},{value:"Matching Job Requirements to Your Current Skills",id:"matching-job-requirements-to-your-current-skills",level:2},{value:"Finding Open Source Projects to Contribute to",id:"finding-open-source-projects-to-contribute-to",level:2},{value:"Open Source Project Contribution",id:"open-source-project-contribution",level:2},{value:"Basic Project Information",id:"basic-project-information",level:3},{value:"Learn and Development",id:"learn-and-development",level:3},{value:"Contribution Tracking",id:"contribution-tracking",level:3},{value:"Using the Highlights Feature to Track Your Contributions",id:"using-the-highlights-feature-to-track-your-contributions",level:3},{value:"Using the Contributor Insight Feature to Follow People",id:"using-the-contributor-insight-feature-to-follow-people",level:3},{value:"Using the Repository Insights Feature to Track the Repositories You Contributed to",id:"using-the-repository-insights-feature-to-track-the-repositories-you-contributed-to",level:3},{value:"Networking and Professional Development",id:"networking-and-professional-development",level:3},{value:"Using Your OpenSauced Dev Card for Networking",id:"using-your-opensauced-dev-card-for-networking",level:3},{value:"Reflection and Next Steps",id:"reflection-and-next-steps",level:3},{value:"Using the Highlights Feature to Update Your Professional Profile",id:"using-the-highlights-feature-to-update-your-professional-profile",level:3},{value:"Example Chart for Frontend Developer",id:"example-chart-for-frontend-developer",level:2},{value:"Additional Resources",id:"additional-resources",level:2}],p={toc:u},d="wrapper";function c(t){let{components:e,...o}=t;return(0,r.kt)(d,(0,a.Z)({},p,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews."),(0,r.kt)("p",null,"In this guide, we have created a table that you can use to categorize and keep detailed notes for each contribution you have made. We will break down each table component and talk about how to use these in your resume and job profile. You can see a complete example at the end of this guide."),(0,r.kt)("h2",{id:"personal-information"},"Personal Information"),(0,r.kt)("p",null,"In this section of the table, you can include information like your name, email, GitHub profile, LinkedIn profile, OpenSauced profile, blog, etc. When it comes to professional profiles, consider which profiles you want to show off to employers that highlight your skills and experience relevant to the types of jobs you are interested in."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"GitHub profile"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OpenSauced profile"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h2",{id:"career-goals"},"Career Goals"),(0,r.kt)("p",null,"If you are new to the industry, you will want to list which area of tech you are interested in pursuing. If you are looking for your next tech role, you can list your current role or the role you wish to switch to."),(0,r.kt)("p",null,"If you want to level up your role, you should list the key skills required for that next level in this section. You should also link to a few job posts to get an idea of key skills are required for that next level you are working towards."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your desired role]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job level"),(0,r.kt)("td",{parentName:"tr",align:null},"[Junior, Mid, Senior, etc.]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"[Skills to focus on]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"[Frontend, Backend, Fullstack, ML, AI, etc.]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Example Job Links"),(0,r.kt)("td",{parentName:"tr",align:null},"[Link to desired jobs]")))),(0,r.kt)("h2",{id:"matching-job-requirements-to-your-current-skills"},"Matching Job Requirements to Your Current Skills"),(0,r.kt)("p",null,"A common mistake for many job seekers is to send out the same resume template to all jobs. But in today's tech market, it is important to stand out and tailor your resume to match your skills with the requirements listed."),(0,r.kt)("p",null,"In the previous section, you identified desired roles and key skills needed for those jobs. When you are reading through job descriptions, you will want to identify key skills that are repeatedly mentioned and add that to your career goals section."),(0,r.kt)("p",null,"As you fill out the remaining sections for project contributions, check to see if the contributions match the common skills requested in those jobs. If not, then you have just identified a skill gap and will need to find projects and issues that will allow you to strengthen those skills."),(0,r.kt)("h2",{id:"finding-open-source-projects-to-contribute-to"},"Finding Open Source Projects to Contribute to"),(0,r.kt)("p",null,"After you have filled out the career section of the table, you will want to find open source projects that align with your goals. You can use the explore feature on OpenSauced to explore new repositories in a variety of topics like ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/javascript/dashboard/filter/recent?range=30"},"JavaScript"),", ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/python/dashboard/filter/recent?range=30"},"Python"),", and ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/ml/dashboard/filter/recent?range=30"},"Machine Learning"),"."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Explore Machine Learning projects in OpenSauced",src:n(3515).Z,width:"2592",height:"1338"})),(0,r.kt)("p",null,"Finding a good project to contribute to takes time. So, make sure to look at the frequency of contributions to the project and the types of issues and features the project needs help with. If it aligns with your career goals, then start off with smaller issues before moving to larger features. You will also want to join the project's community chat room or Discord channel to connect with other contributors and core team members of the project."),(0,r.kt)("h2",{id:"open-source-project-contribution"},"Open Source Project Contribution"),(0,r.kt)("p",null,"In this next section, you will want to list your meaningful contributions to different open source projects. This can include documentation, code features, bug fixes, etc. Remember that you will want to list out meaningful contributions that match the goals you laid out earlier."),(0,r.kt)("h3",{id:"basic-project-information"},"Basic Project Information"),(0,r.kt)("p",null,"For each project contribution, you will want to list the project name and the PR and issue links. Then, describe in a few short sentences why you chose this project and how it will help you with your career goals."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project Name]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project URL]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"[Reasons for choosing this project]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"[Code, documentation, community support, etc.]")))),(0,r.kt)("h3",{id:"learn-and-development"},"Learn and Development"),(0,r.kt)("p",null,"Once your contribution has been approved and merged into the project, you will want to reflect on what you have learned during this process. What new skills or technologies did you learn while working on this issue? What challenges did you face? How did you interact with the community when you needed clarification on an issue or help with the PR?"),(0,r.kt)("p",null,"Keeping track of this information is helpful because you can reference these experiences later when crafting your resume. Potential employers will want to see how you work with others, solve problems, and deliver solutions in a project."),(0,r.kt)("p",null,"Feel free to link to the PR and issue discussions as references on how you worked with contributors in this project."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"[List of new skills]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"[Challenges faced and resolved]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"[Meetups, Discussions, etc.]")))),(0,r.kt)("h3",{id:"contribution-tracking"},"Contribution Tracking"),(0,r.kt)("p",null,"For each project contribution, you will want to list the date, a brief summary of the issue, and how you solved it. Also, list any acknowledgments you received from other contributors or core team members on the project because it highlights your impact."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"[Date of contribution]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},"[Summary of contribution with links]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"[Feedback and achievements]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-track-your-contributions"},"Using the Highlights Feature to Track Your Contributions"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights feature")," is where you can display your favorite open source contributions and share your open source story."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights",src:n(7352).Z,width:"2294",height:"1066"})),(0,r.kt)("p",null,"You can use this feature to help you track the open source contributions you are most proud of and share your accomplishments with your network. All your highlights will appear on your OpenSauced profile. So, sharing your profile is another way to let potential employers see the types of contributions you've made and the highlights you've identified as the most important."),(0,r.kt)("h3",{id:"using-the-contributor-insight-feature-to-follow-people"},"Using the Contributor Insight Feature to Follow People"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights feature")," enables you to categorize, monitor, and analyze different groups of contributors within open source projects."),(0,r.kt)("p",null,"You can use this feature to create a list of people you interacted with during your open source work. If you continually work with the same individuals, they can act as referrals and references for jobs."),(0,r.kt)("p",null,"Contributor Insights can also be used to track other people in your network to reach out to about their contributions."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Contributor Insights page",src:n(6008).Z,width:"1440",height:"1124"})),(0,r.kt)("h3",{id:"using-the-repository-insights-feature-to-track-the-repositories-you-contributed-to"},"Using the Repository Insights Feature to Track the Repositories You Contributed to"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights feature")," is a comprehensive view of a project's health and individual contributions. You can use it to track the repositories you contributed to or to track repositories of open source companies that are hiring."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"insight-pages-demo",src:n(7220).Z,width:"960",height:"543"})),(0,r.kt)("h3",{id:"networking-and-professional-development"},"Networking and Professional Development"),(0,r.kt)("p",null,"Some larger features can lead to networking and other professional development opportunities, like speaking at meetups or writing for tech publications. It is important that you list out who you mainly corresponded with for each contribution and any opportunities that came from this contribution."),(0,r.kt)("p",null,"If you have corresponded with the same core contributors and maintainers over the past few contributions, try reaching out about collaborating on other projects. You never know where an opportunity will lead."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"[Contacts made and their roles]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"[What you learned from networking]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"[Planned networking activities]")))),(0,r.kt)("h3",{id:"using-your-opensauced-dev-card-for-networking"},"Using Your OpenSauced Dev Card for Networking"),(0,r.kt)("p",null,"Your ",(0,r.kt)("a",{parentName:"p",href:"/features/dev-card"},"OpenSauced Dev Card"),' serves as your "open source business card" to showcase all of your recent open source activities. You will find recent activity concerning the projects you contribute to, the frequency of PRs, and projects you are interested in.'),(0,r.kt)("p",null,"You can easily share your Dev Card on social media platforms like X/Twitter and LinkedIn to gain attention from potential recruiters and hiring managers."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Dev card",src:n(2).Z,width:"940",height:"658"})),(0,r.kt)("h3",{id:"reflection-and-next-steps"},"Reflection and Next Steps"),(0,r.kt)("p",null,"In this section, you will want to reflect on what went well with this contribution and the areas you struggled with."),(0,r.kt)("p",null,"Tying these reflections back to your career goals and desired job roles you defined earlier is important. If you are weaker in skills that are required for the jobs you are seeking, use future open source contributions as a way to strengthen these skills."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"[What you learned]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Areas to work on for future projects]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your next Goal in open source contribution]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-update-your-professional-profile"},"Using the Highlights Feature to Update Your Professional Profile"),(0,r.kt)("p",null,"After each contribution, you will want to update your LinkedIn profile and resume to highlight your recent achievements. Many recruiters and hiring managers are looking for talented individuals on LinkedIn, so it is important to keep your profile up to date on your recent accomplishments."),(0,r.kt)("p",null,"The Highlights feature allows you to post about your recent open source contributions on OpenSauced and share them with other social media outlets like Twitter and LinkedIn."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights Feature",src:n(4173).Z,width:"626",height:"633"})),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"[Details of updates]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"[Key points highlighted]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Plans for further enhancing your profile]")))),(0,r.kt)("h2",{id:"example-chart-for-frontend-developer"},"Example Chart for Frontend Developer"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Jane Smith")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:jane.smith@email.com"},"jane.smith@email.com"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Professional Profile (LinkedIn/GitHub/OpenSauced profile)"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://www.linkedin.com/in/janesmith"},"LinkedIn"),", ",(0,r.kt)("a",{parentName:"td",href:"https://github.com/janesmith"},"GitHub"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/BekahHW"},"OpenSauced"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"Frontend Developer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"React.js, CSS-in-JS, Web Accessibility")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"Web Development, UI/UX Design")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Open Source Project Contribution No.1")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Awesome React Components")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components"},"GitHub Repository"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/pages/BekahHW/655/dashboard?range=30"},"OpenSauced Insight Page"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"Interested in learning about creating reusable UI components.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"Implemented a new responsive carousel component.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"Styled Components, Carousel Design Patterns")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"Overcame performance issues with large datasets.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"Participated in design discussions on the project's Discord channel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"2023-03-10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components/pull/456"},"Pull Request #456"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"Positive feedback on the elegant design; milestone: merged into the main branch.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"Connected with project maintainers and frontend enthusiasts.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Repository Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"Learned about upcoming trends in frontend development.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"Planning to attend the project's monthly virtual meetup.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"Improved skills in component design and collaboration.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"Intend to deepen knowledge in state management with Redux.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"Contribute to a project focused on enhancing web accessibility.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"Successfully implemented a responsive carousel component, enhancing user experience and receiving positive feedback. Demonstrated expertise in React.js and CSS-in-JS.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"Highlighted successful implementation of the responsive carousel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"Attend frontend development conferences and workshops.")))),(0,r.kt)("h2",{id:"additional-resources"},"Additional Resources"),(0,r.kt)("p",null,"If you're looking for more resources about the job hunt, check out these OpenSauced posts:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/building-your-devrel-resume-with-open-source-4km3"},"Building Your DevRel Resume with Open Source")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/how-to-talk-about-your-open-source-experience-in-a-tech-interview-3l96"},"How to Talk About Your Open Source Experience in a Tech Interview"))))}c.isMDXComponent=!0},7352:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},7220:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},2:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},4173:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},6008:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"},3515:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/ml-explore-page-704a5b0153e392938e6f0e34a7e3a82d.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2817],{3905:(t,e,n)=>{n.d(e,{Zo:()=>p,kt:()=>k});var a=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function i(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var s=a.createContext({}),u=function(t){var e=a.useContext(s),n=e;return t&&(n="function"==typeof t?t(e):i(i({},e),t)),n},p=function(t){var e=u(t.components);return a.createElement(s.Provider,{value:e},t.children)},d="mdxType",c={inlineCode:"code",wrapper:function(t){var e=t.children;return a.createElement(a.Fragment,{},e)}},m=a.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,s=t.parentName,p=l(t,["components","mdxType","originalType","parentName"]),d=u(n),m=r,k=d["".concat(s,".").concat(m)]||d[m]||c[m]||o;return n?a.createElement(k,i(i({ref:e},p),{},{components:n})):a.createElement(k,i({ref:e},p))}));function k(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var s in e)hasOwnProperty.call(e,s)&&(l[s]=e[s]);l.originalType=t,l[d]="string"==typeof t?t:r,i[1]=l;for(var u=2;u{n.r(e),n.d(e,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var a=n(7462),r=(n(7294),n(3905));const o={id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how to get a job with open source contributions","benefits of open source contributions for career development","open source projects to boost your resume","how to showcase your open source work to employers","open source skills that employers look for","how to find open source opportunities in your field","best practices for open source contributors","open source success stories and tips"]},i=void 0,l={unversionedId:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",id:"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",description:"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.",source:"@site/docs/job-seekers-guide/categorize-contributions.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/categorize-contributions.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"how-to-translate-open-source-contributions-into-career-opportunities",title:"How to Translate Open Source Contributions into Career Opportunities",sidebar_label:"How to Translate Open Source Contributions into Career Opportunities",keywords:["how to get a job with open source contributions","benefits of open source contributions for career development","open source projects to boost your resume","how to showcase your open source work to employers","open source skills that employers look for","how to find open source opportunities in your field","best practices for open source contributors","open source success stories and tips"]},sidebar:"docs",previous:{title:"Introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction"}},s={},u=[{value:"Personal Information",id:"personal-information",level:2},{value:"Career Goals",id:"career-goals",level:2},{value:"Matching Job Requirements to Your Current Skills",id:"matching-job-requirements-to-your-current-skills",level:2},{value:"Finding Open Source Projects to Contribute to",id:"finding-open-source-projects-to-contribute-to",level:2},{value:"Open Source Project Contribution",id:"open-source-project-contribution",level:2},{value:"Basic Project Information",id:"basic-project-information",level:3},{value:"Learn and Development",id:"learn-and-development",level:3},{value:"Contribution Tracking",id:"contribution-tracking",level:3},{value:"Using the Highlights Feature to Track Your Contributions",id:"using-the-highlights-feature-to-track-your-contributions",level:3},{value:"Using the Contributor Insight Feature to Follow People",id:"using-the-contributor-insight-feature-to-follow-people",level:3},{value:"Using the Repository Insights Feature to Track the Repositories You Contributed to",id:"using-the-repository-insights-feature-to-track-the-repositories-you-contributed-to",level:3},{value:"Networking and Professional Development",id:"networking-and-professional-development",level:3},{value:"Using Your OpenSauced Dev Card for Networking",id:"using-your-opensauced-dev-card-for-networking",level:3},{value:"Reflection and Next Steps",id:"reflection-and-next-steps",level:3},{value:"Using the Highlights Feature to Update Your Professional Profile",id:"using-the-highlights-feature-to-update-your-professional-profile",level:3},{value:"Example Chart for Frontend Developer",id:"example-chart-for-frontend-developer",level:2},{value:"Additional Resources",id:"additional-resources",level:2}],p={toc:u},d="wrapper";function c(t){let{components:e,...o}=t;return(0,r.kt)(d,(0,a.Z)({},p,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews."),(0,r.kt)("p",null,"In this guide, we have created a table that you can use to categorize and keep detailed notes for each contribution you have made. We will break down each table component and talk about how to use these in your resume and job profile. You can see a complete example at the end of this guide."),(0,r.kt)("h2",{id:"personal-information"},"Personal Information"),(0,r.kt)("p",null,"In this section of the table, you can include information like your name, email, GitHub profile, LinkedIn profile, OpenSauced profile, blog, etc. When it comes to professional profiles, consider which profiles you want to show off to employers that highlight your skills and experience relevant to the types of jobs you are interested in."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"GitHub profile"),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"OpenSauced profile"),(0,r.kt)("td",{parentName:"tr",align:null})))),(0,r.kt)("h2",{id:"career-goals"},"Career Goals"),(0,r.kt)("p",null,"If you are new to the industry, you will want to list which area of tech you are interested in pursuing. If you are looking for your next tech role, you can list your current role or the role you wish to switch to."),(0,r.kt)("p",null,"If you want to level up your role, you should list the key skills required for that next level in this section. You should also link to a few job posts to get an idea of key skills are required for that next level you are working towards."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your desired role]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job level"),(0,r.kt)("td",{parentName:"tr",align:null},"[Junior, Mid, Senior, etc.]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"[Skills to focus on]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"[Frontend, Backend, Fullstack, ML, AI, etc.]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Example Job Links"),(0,r.kt)("td",{parentName:"tr",align:null},"[Link to desired jobs]")))),(0,r.kt)("h2",{id:"matching-job-requirements-to-your-current-skills"},"Matching Job Requirements to Your Current Skills"),(0,r.kt)("p",null,"A common mistake for many job seekers is to send out the same resume template to all jobs. But in today's tech market, it is important to stand out and tailor your resume to match your skills with the requirements listed."),(0,r.kt)("p",null,"In the previous section, you identified desired roles and key skills needed for those jobs. When you are reading through job descriptions, you will want to identify key skills that are repeatedly mentioned and add that to your career goals section."),(0,r.kt)("p",null,"As you fill out the remaining sections for project contributions, check to see if the contributions match the common skills requested in those jobs. If not, then you have just identified a skill gap and will need to find projects and issues that will allow you to strengthen those skills."),(0,r.kt)("h2",{id:"finding-open-source-projects-to-contribute-to"},"Finding Open Source Projects to Contribute to"),(0,r.kt)("p",null,"After you have filled out the career section of the table, you will want to find open source projects that align with your goals. You can use the explore feature on OpenSauced to explore new repositories in a variety of topics like ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/javascript/dashboard/filter/recent?range=30"},"JavaScript"),", ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/python/dashboard/filter/recent?range=30"},"Python"),", and ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/ml/dashboard/filter/recent?range=30"},"Machine Learning"),"."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Explore Machine Learning projects in OpenSauced",src:n(3515).Z,width:"2592",height:"1338"})),(0,r.kt)("p",null,"Finding a good project to contribute to takes time. So, make sure to look at the frequency of contributions to the project and the types of issues and features the project needs help with. If it aligns with your career goals, then start off with smaller issues before moving to larger features. You will also want to join the project's community chat room or Discord channel to connect with other contributors and core team members of the project."),(0,r.kt)("h2",{id:"open-source-project-contribution"},"Open Source Project Contribution"),(0,r.kt)("p",null,"In this next section, you will want to list your meaningful contributions to different open source projects. This can include documentation, code features, bug fixes, etc. Remember that you will want to list out meaningful contributions that match the goals you laid out earlier."),(0,r.kt)("h3",{id:"basic-project-information"},"Basic Project Information"),(0,r.kt)("p",null,"For each project contribution, you will want to list the project name and the PR and issue links. Then, describe in a few short sentences why you chose this project and how it will help you with your career goals."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project Name]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},"[Project URL]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"[Reasons for choosing this project]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"[Code, documentation, community support, etc.]")))),(0,r.kt)("h3",{id:"learn-and-development"},"Learn and Development"),(0,r.kt)("p",null,"Once your contribution has been approved and merged into the project, you will want to reflect on what you have learned during this process. What new skills or technologies did you learn while working on this issue? What challenges did you face? How did you interact with the community when you needed clarification on an issue or help with the PR?"),(0,r.kt)("p",null,"Keeping track of this information is helpful because you can reference these experiences later when crafting your resume. Potential employers will want to see how you work with others, solve problems, and deliver solutions in a project."),(0,r.kt)("p",null,"Feel free to link to the PR and issue discussions as references on how you worked with contributors in this project."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"[List of new skills]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"[Challenges faced and resolved]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"[Meetups, Discussions, etc.]")))),(0,r.kt)("h3",{id:"contribution-tracking"},"Contribution Tracking"),(0,r.kt)("p",null,"For each project contribution, you will want to list the date, a brief summary of the issue, and how you solved it. Also, list any acknowledgments you received from other contributors or core team members on the project because it highlights your impact."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"[Date of contribution]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},"[Summary of contribution with links]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"[Feedback and achievements]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-track-your-contributions"},"Using the Highlights Feature to Track Your Contributions"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights feature")," is where you can display your favorite open source contributions and share your open source story."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights",src:n(7352).Z,width:"2294",height:"1066"})),(0,r.kt)("p",null,"You can use this feature to help you track the open source contributions you are most proud of and share your accomplishments with your network. All your highlights will appear on your OpenSauced profile. So, sharing your profile is another way to let potential employers see the types of contributions you've made and the highlights you've identified as the most important."),(0,r.kt)("h3",{id:"using-the-contributor-insight-feature-to-follow-people"},"Using the Contributor Insight Feature to Follow People"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights feature")," enables you to categorize, monitor, and analyze different groups of contributors within open source projects."),(0,r.kt)("p",null,"You can use this feature to create a list of people you interacted with during your open source work. If you continually work with the same individuals, they can act as referrals and references for jobs."),(0,r.kt)("p",null,"Contributor Insights can also be used to track other people in your network to reach out to about their contributions."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Contributor Insights page",src:n(6008).Z,width:"1440",height:"1124"})),(0,r.kt)("h3",{id:"using-the-repository-insights-feature-to-track-the-repositories-you-contributed-to"},"Using the Repository Insights Feature to Track the Repositories You Contributed to"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights feature")," is a comprehensive view of a project's health and individual contributions. You can use it to track the repositories you contributed to or to track repositories of open source companies that are hiring."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"insight-pages-demo",src:n(7220).Z,width:"960",height:"543"})),(0,r.kt)("h3",{id:"networking-and-professional-development"},"Networking and Professional Development"),(0,r.kt)("p",null,"Some larger features can lead to networking and other professional development opportunities, like speaking at meetups or writing for tech publications. It is important that you list out who you mainly corresponded with for each contribution and any opportunities that came from this contribution."),(0,r.kt)("p",null,"If you have corresponded with the same core contributors and maintainers over the past few contributions, try reaching out about collaborating on other projects. You never know where an opportunity will lead."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"[Contacts made and their roles]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"[What you learned from networking]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"[Planned networking activities]")))),(0,r.kt)("h3",{id:"using-your-opensauced-dev-card-for-networking"},"Using Your OpenSauced Dev Card for Networking"),(0,r.kt)("p",null,"Your ",(0,r.kt)("a",{parentName:"p",href:"/features/dev-card"},"OpenSauced Dev Card"),' serves as your "open source business card" to showcase all of your recent open source activities. You will find recent activity concerning the projects you contribute to, the frequency of PRs, and projects you are interested in.'),(0,r.kt)("p",null,"You can easily share your Dev Card on social media platforms like X/Twitter and LinkedIn to gain attention from potential recruiters and hiring managers."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Dev card",src:n(2).Z,width:"940",height:"658"})),(0,r.kt)("h3",{id:"reflection-and-next-steps"},"Reflection and Next Steps"),(0,r.kt)("p",null,"In this section, you will want to reflect on what went well with this contribution and the areas you struggled with."),(0,r.kt)("p",null,"Tying these reflections back to your career goals and desired job roles you defined earlier is important. If you are weaker in skills that are required for the jobs you are seeking, use future open source contributions as a way to strengthen these skills."),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"[What you learned]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Areas to work on for future projects]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"[Your next Goal in open source contribution]")))),(0,r.kt)("h3",{id:"using-the-highlights-feature-to-update-your-professional-profile"},"Using the Highlights Feature to Update Your Professional Profile"),(0,r.kt)("p",null,"After each contribution, you will want to update your LinkedIn profile and resume to highlight your recent achievements. Many recruiters and hiring managers are looking for talented individuals on LinkedIn, so it is important to keep your profile up to date on your recent accomplishments."),(0,r.kt)("p",null,"The Highlights feature allows you to post about your recent open source contributions on OpenSauced and share them with other social media outlets like Twitter and LinkedIn."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"OpenSauced Highlights Feature",src:n(4173).Z,width:"626",height:"633"})),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"[Details of updates]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"[Key points highlighted]")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"[Plans for further enhancing your profile]")))),(0,r.kt)("h2",{id:"example-chart-for-frontend-developer"},"Example Chart for Frontend Developer"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Section")),(0,r.kt)("th",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"th"},"Details")))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Personal Information")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Jane Smith")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contact Information"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"mailto:jane.smith@email.com"},"jane.smith@email.com"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Professional Profile (LinkedIn/GitHub/OpenSauced profile)"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://www.linkedin.com/in/janesmith"},"LinkedIn"),", ",(0,r.kt)("a",{parentName:"td",href:"https://github.com/janesmith"},"GitHub"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/BekahHW"},"OpenSauced"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Career Goals")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Desired Job Role"),(0,r.kt)("td",{parentName:"tr",align:null},"Frontend Developer")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Skills to Develop"),(0,r.kt)("td",{parentName:"tr",align:null},"React.js, CSS-in-JS, Web Accessibility")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Industry/Area of Interest"),(0,r.kt)("td",{parentName:"tr",align:null},"Web Development, UI/UX Design")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Open Source Project Contribution No.1")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Awesome React Components")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Project URL"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components"},"GitHub Repository"),", ",(0,r.kt)("a",{parentName:"td",href:"https://app.opensauced.pizza/pages/BekahHW/655/dashboard?range=30"},"OpenSauced Insight Page"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Why This Project?"),(0,r.kt)("td",{parentName:"tr",align:null},"Interested in learning about creating reusable UI components.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Type of Contribution"),(0,r.kt)("td",{parentName:"tr",align:null},"Implemented a new responsive carousel component.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Learning and Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"New Skills Learned"),(0,r.kt)("td",{parentName:"tr",align:null},"Styled Components, Carousel Design Patterns")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Challenges Overcome"),(0,r.kt)("td",{parentName:"tr",align:null},"Overcame performance issues with large datasets.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Community Interaction"),(0,r.kt)("td",{parentName:"tr",align:null},"Participated in design discussions on the project's Discord channel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Contribution Tracking")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Date"),(0,r.kt)("td",{parentName:"tr",align:null},"2023-03-10")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contribution Summary"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://github.com/awesome-react/components/pull/456"},"Pull Request #456"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Feedback Received/Milestones Achieved"),(0,r.kt)("td",{parentName:"tr",align:null},"Positive feedback on the elegant design; milestone: merged into the main branch.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Networking and Professional Development")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Contacts Made"),(0,r.kt)("td",{parentName:"tr",align:null},"Connected with project maintainers and frontend enthusiasts.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Repository Insights Gained from Networking"),(0,r.kt)("td",{parentName:"tr",align:null},"Learned about upcoming trends in frontend development.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Networking Opportunities"),(0,r.kt)("td",{parentName:"tr",align:null},"Planning to attend the project's monthly virtual meetup.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Reflection and Next Steps")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Takeaways from This Project"),(0,r.kt)("td",{parentName:"tr",align:null},"Improved skills in component design and collaboration.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Areas for Improvement"),(0,r.kt)("td",{parentName:"tr",align:null},"Intend to deepen knowledge in state management with Redux.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Next Project/Contribution Goal"),(0,r.kt)("td",{parentName:"tr",align:null},"Contribute to a project focused on enhancing web accessibility.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("strong",{parentName:"td"},"Resume and Professional Profile Update")),(0,r.kt)("td",{parentName:"tr",align:null})),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Updates Made to Resume/LinkedIn"),(0,r.kt)("td",{parentName:"tr",align:null},"Successfully implemented a responsive carousel component, enhancing user experience and receiving positive feedback. Demonstrated expertise in React.js and CSS-in-JS.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Key Accomplishments Highlighted"),(0,r.kt)("td",{parentName:"tr",align:null},"Highlighted successful implementation of the responsive carousel.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Future Plans for Profile Enhancement"),(0,r.kt)("td",{parentName:"tr",align:null},"Attend frontend development conferences and workshops.")))),(0,r.kt)("h2",{id:"additional-resources"},"Additional Resources"),(0,r.kt)("p",null,"If you're looking for more resources about the job hunt, check out these OpenSauced posts:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/building-your-devrel-resume-with-open-source-4km3"},"Building Your DevRel Resume with Open Source")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/how-to-talk-about-your-open-source-experience-in-a-tech-interview-3l96"},"How to Talk About Your Open Source Experience in a Tech Interview"))))}c.isMDXComponent=!0},7352:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},7220:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},2:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},4173:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},6008:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"},3515:(t,e,n)=>{n.d(e,{Z:()=>a});const a=n.p+"assets/images/ml-explore-page-704a5b0153e392938e6f0e34a7e3a82d.png"}}]); \ No newline at end of file diff --git a/assets/js/48b9cea9.d0df8f59.js b/assets/js/48b9cea9.63358515.js similarity index 99% rename from assets/js/48b9cea9.d0df8f59.js rename to assets/js/48b9cea9.63358515.js index 20bce3c4..0d787d26 100644 --- a/assets/js/48b9cea9.d0df8f59.js +++ b/assets/js/48b9cea9.63358515.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[247],{3905:(t,e,n)=>{n.d(e,{Zo:()=>s,kt:()=>m});var i=n(7294);function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e=0||(a[n]=t[n]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}var u=i.createContext({}),p=function(t){var e=i.useContext(u),n=e;return t&&(n="function"==typeof t?t(e):r(r({},e),t)),n},s=function(t){var e=p(t.components);return i.createElement(u.Provider,{value:e},t.children)},l="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},d=i.forwardRef((function(t,e){var n=t.components,a=t.mdxType,o=t.originalType,u=t.parentName,s=c(t,["components","mdxType","originalType","parentName"]),l=p(n),d=a,m=l["".concat(u,".").concat(d)]||l[d]||h[d]||o;return n?i.createElement(m,r(r({ref:e},s),{},{components:n})):i.createElement(m,r({ref:e},s))}));function m(t,e){var n=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var o=n.length,r=new Array(o);r[0]=d;var c={};for(var u in e)hasOwnProperty.call(e,u)&&(c[u]=e[u]);c.originalType=t,c[l]="string"==typeof t?t:a,r[1]=c;for(var p=2;p{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var i=n(7462),a=(n(7294),n(3905));const o={id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication","Authentication setup guide","Setting up secure login","User authentication configuration","Authentication system setup","Authentication implementation steps","Authentication setup tutorial","Setting up user authorization","Authentication best practices"]},r=void 0,c={unversionedId:"contributing/set-up-authentication",id:"contributing/set-up-authentication",title:"Set Up Authentication",description:"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.",source:"@site/docs/contributing/set-up-authentication.md",sourceDirName:"contributing",slug:"/contributing/set-up-authentication",permalink:"/contributing/set-up-authentication",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/set-up-authentication.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication","Authentication setup guide","Setting up secure login","User authentication configuration","Authentication system setup","Authentication implementation steps","Authentication setup tutorial","Setting up user authorization","Authentication best practices"]},sidebar:"docs",previous:{title:"Community Maintainers Guidelines",permalink:"/contributing/opensauced-maintainers-guide/community-maintainers-guide"},next:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"}},u={},p=[],s={toc:p},l="wrapper";function h(t){let{components:e,...o}=t;return(0,a.kt)(l,(0,i.Z)({},s,o,{components:e,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user."),(0,a.kt)("p",null,"The following steps outline how to obtain an authentication token from the ",(0,a.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza"},"hot.opensauced.pizza")," website:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Click on your avatar in the top right corner of the page. This will open a dropdown menu."),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{alt:"Avatar in top right corner of the page",src:n(7523).Z,width:"328",height:"87"}))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Click on the ",(0,a.kt)("strong",{parentName:"p"},"Print auth token")," option. Don't worry, this is a safe operation. The token is only printed to the console."),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{alt:"Print Auth Token",src:n(8231).Z,width:"326",height:"377"}))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Copy the token that is printed to the console."),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{alt:"Token printed to the console",src:n(545).Z,width:"1274",height:"408"}))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"You can now use this token to make authenticated requests to the OpenSauced public API by including it in the Authorization header of your requests. For example:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},'const response = await fetch(\n "https://api.opensauced.pizza/v2/auth/session",\n {\n method: "GET",\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }\n);\n')))))}h.isMDXComponent=!0},7523:(t,e,n)=>{n.d(e,{Z:()=>i});const i=n.p+"assets/images/contributing-avatar-top-right-4063afad1b9c314a1e261c492a65447c.png"},8231:(t,e,n)=>{n.d(e,{Z:()=>i});const i=n.p+"assets/images/contributing-print-auth-token-e1370316da4c4747a853289f72842d56.png"},545:(t,e,n)=>{n.d(e,{Z:()=>i});const i=n.p+"assets/images/contributing-token-printed-to-console-0deb43e35d7b18560ccf573c6f0411cc.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[247],{3905:(t,e,n)=>{n.d(e,{Zo:()=>s,kt:()=>m});var i=n(7294);function a(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function r(t){for(var e=1;e=0||(a[n]=t[n]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}var u=i.createContext({}),p=function(t){var e=i.useContext(u),n=e;return t&&(n="function"==typeof t?t(e):r(r({},e),t)),n},s=function(t){var e=p(t.components);return i.createElement(u.Provider,{value:e},t.children)},l="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},d=i.forwardRef((function(t,e){var n=t.components,a=t.mdxType,o=t.originalType,u=t.parentName,s=c(t,["components","mdxType","originalType","parentName"]),l=p(n),d=a,m=l["".concat(u,".").concat(d)]||l[d]||h[d]||o;return n?i.createElement(m,r(r({ref:e},s),{},{components:n})):i.createElement(m,r({ref:e},s))}));function m(t,e){var n=arguments,a=e&&e.mdxType;if("string"==typeof t||a){var o=n.length,r=new Array(o);r[0]=d;var c={};for(var u in e)hasOwnProperty.call(e,u)&&(c[u]=e[u]);c.originalType=t,c[l]="string"==typeof t?t:a,r[1]=c;for(var p=2;p{n.r(e),n.d(e,{assets:()=>u,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>p});var i=n(7462),a=(n(7294),n(3905));const o={id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication","Authentication setup guide","Setting up secure login","User authentication configuration","Authentication system setup","Authentication implementation steps","Authentication setup tutorial","Setting up user authorization","Authentication best practices"]},r=void 0,c={unversionedId:"contributing/set-up-authentication",id:"contributing/set-up-authentication",title:"Set Up Authentication",description:"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.",source:"@site/docs/contributing/set-up-authentication.md",sourceDirName:"contributing",slug:"/contributing/set-up-authentication",permalink:"/contributing/set-up-authentication",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/set-up-authentication.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"set-up-authentication",title:"Set Up Authentication",sidebar_label:"Set Up Authentication",keywords:["set up authentication","Authentication setup guide","Setting up secure login","User authentication configuration","Authentication system setup","Authentication implementation steps","Authentication setup tutorial","Setting up user authorization","Authentication best practices"]},sidebar:"docs",previous:{title:"Community Maintainers Guidelines",permalink:"/contributing/opensauced-maintainers-guide/community-maintainers-guide"},next:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"}},u={},p=[],s={toc:p},l="wrapper";function h(t){let{components:e,...o}=t;return(0,a.kt)(l,(0,i.Z)({},s,o,{components:e,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user."),(0,a.kt)("p",null,"The following steps outline how to obtain an authentication token from the ",(0,a.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza"},"hot.opensauced.pizza")," website:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Click on your avatar in the top right corner of the page. This will open a dropdown menu."),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{alt:"Avatar in top right corner of the page",src:n(7523).Z,width:"328",height:"87"}))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Click on the ",(0,a.kt)("strong",{parentName:"p"},"Print auth token")," option. Don't worry, this is a safe operation. The token is only printed to the console."),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{alt:"Print Auth Token",src:n(8231).Z,width:"326",height:"377"}))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"Copy the token that is printed to the console."),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{alt:"Token printed to the console",src:n(545).Z,width:"1274",height:"408"}))),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},"You can now use this token to make authenticated requests to the OpenSauced public API by including it in the Authorization header of your requests. For example:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-javascript"},'const response = await fetch(\n "https://api.opensauced.pizza/v2/auth/session",\n {\n method: "GET",\n headers: {\n Authorization: `Bearer ${token}`,\n },\n }\n);\n')))))}h.isMDXComponent=!0},7523:(t,e,n)=>{n.d(e,{Z:()=>i});const i=n.p+"assets/images/contributing-avatar-top-right-4063afad1b9c314a1e261c492a65447c.png"},8231:(t,e,n)=>{n.d(e,{Z:()=>i});const i=n.p+"assets/images/contributing-print-auth-token-e1370316da4c4747a853289f72842d56.png"},545:(t,e,n)=>{n.d(e,{Z:()=>i});const i=n.p+"assets/images/contributing-token-printed-to-console-0deb43e35d7b18560ccf573c6f0411cc.png"}}]); \ No newline at end of file diff --git a/assets/js/4c2521ce.43219370.js b/assets/js/4c2521ce.2f13ba57.js similarity index 99% rename from assets/js/4c2521ce.43219370.js rename to assets/js/4c2521ce.2f13ba57.js index 7c6942b4..5887ae8c 100644 --- a/assets/js/4c2521ce.43219370.js +++ b/assets/js/4c2521ce.2f13ba57.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4657],{3905:(t,e,o)=>{o.d(e,{Zo:()=>s,kt:()=>g});var i=o(7294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,i)}return o}function a(t){for(var e=1;e=0||(r[o]=t[o]);return r}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(r[o]=t[o])}return r}var u=i.createContext({}),p=function(t){var e=i.useContext(u),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},s=function(t){var e=p(t.components);return i.createElement(u.Provider,{value:e},t.children)},c="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},d=i.forwardRef((function(t,e){var o=t.components,r=t.mdxType,n=t.originalType,u=t.parentName,s=l(t,["components","mdxType","originalType","parentName"]),c=p(o),d=r,g=c["".concat(u,".").concat(d)]||c[d]||h[d]||n;return o?i.createElement(g,a(a({ref:e},s),{},{components:o})):i.createElement(g,a({ref:e},s))}));function g(t,e){var o=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var n=o.length,a=new Array(n);a[0]=d;var l={};for(var u in e)hasOwnProperty.call(e,u)&&(l[u]=e[u]);l.originalType=t,l[c]="string"==typeof t?t:r,a[1]=l;for(var p=2;p{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>l,toc:()=>p});var i=o(7462),r=(o(7294),o(3905));const n={id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub","working with git and github","GitHub repository creation","GitHub repository workflow","GitHub repository initialization","GitHub repository hosting","GitHub repository collaboration","GitHub repository version control","GitHub repository deployment","GitHub repository setup"]},a=void 0,l={unversionedId:"contributing/technical/setup-repo-with-git",id:"contributing/technical/setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",description:"Using the GitHub CLI",source:"@site/docs/contributing/technical/setup-repo-with-git.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/setup-repo-with-git",permalink:"/contributing/technical/setup-repo-with-git",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/setup-repo-with-git.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub","working with git and github","GitHub repository creation","GitHub repository workflow","GitHub repository initialization","GitHub repository hosting","GitHub repository collaboration","GitHub repository version control","GitHub repository deployment","GitHub repository setup"]},sidebar:"docs",previous:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"},next:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"}},u={},p=[{value:"Using the GitHub CLI",id:"using-the-github-cli",level:2},{value:"How to Install the GitHub CLI",id:"how-to-install-the-github-cli",level:3},{value:"How to Authenticate with the GitHub CLI",id:"how-to-authenticate-with-the-github-cli",level:3},{value:"How to Fork and Clone a Repository with the GitHub CLI",id:"how-to-fork-and-clone-a-repository-with-the-github-cli",level:3},{value:"How to Add a Remote Repository",id:"how-to-add-a-remote-repository",level:3},{value:"How to View the Remote Repositories Locally",id:"how-to-view-the-remote-repositories-locally",level:3},{value:"Using the GitHub Website and the Command Line",id:"using-the-github-website-and-the-command-line",level:2}],s={toc:p},c="wrapper";function h(t){let{components:e,...o}=t;return(0,r.kt)(c,(0,i.Z)({},s,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"using-the-github-cli"},"Using the GitHub CLI"),(0,r.kt)("h3",{id:"how-to-install-the-github-cli"},"How to Install the GitHub CLI"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"https://cli.github.com/"},"GitHub CLI")," allows you to fork repositories, create issues, pull requests, and more from the command line."),(0,r.kt)("p",null,"Follow these ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/cli/cli#installation"},"instructions to install GitHub CLI")," on Mac, Windows, or Linux."),(0,r.kt)("h3",{id:"how-to-authenticate-with-the-github-cli"},"How to Authenticate with the GitHub CLI"),(0,r.kt)("p",null,"From the terminal, you will need to authenticate with the GitHub CLI. You can do this by running the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"gh auth login\n")),(0,r.kt)("p",null,"Then, follow the prompts to authenticate with the GitHub CLI."),(0,r.kt)("h3",{id:"how-to-fork-and-clone-a-repository-with-the-github-cli"},"How to Fork and Clone a Repository with the GitHub CLI"),(0,r.kt)("p",null,"A fork is a remote copy of a repository, allowing you to experiment freely with changes without affecting the original project."),(0,r.kt)("p",null,"A clone is a local copy of a repository that includes all the files, branches and commits."),(0,r.kt)("p",null,"To fork and clone a repository with the GitHub CLI, run the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"gh repo fork open-sauced/\n")),(0,r.kt)("p",null,"The GitHub CLI will fork the project in your GitHub account and will ask you if you want to clone the repository on your local machine."),(0,r.kt)("h3",{id:"how-to-add-a-remote-repository"},"How to Add a Remote Repository"),(0,r.kt)("p",null,"Adding a remote repository allows you to pull in changes from the original repository and keep your forked copy of the repository up to date."),(0,r.kt)("p",null,"To add a remote repository, run the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream https://github.com/open-sauced/app.git\n")),(0,r.kt)("h3",{id:"how-to-view-the-remote-repositories-locally"},"How to View the Remote Repositories Locally"),(0,r.kt)("p",null,"To view the remote repositories that your local repository is connected to, run the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"git remote -v\n")),(0,r.kt)("p",null,"You should see the following output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:YOUR_GITHUB_USERNAME/app.git (fetch)\norigin git@github.com:YOUR_GITHUB_USERNAME/app.git (push)\nupstream git@github.com:open-sauced/app.git (fetch)\nupstream git@github.com:open-sauced/app.git (push)\n")),(0,r.kt)("h2",{id:"using-the-github-website-and-the-command-line"},"Using the GitHub Website and the Command Line"),(0,r.kt)("p",null,"If you prefer to set up your repository using the GitHub website and the command line, follow this detailed guide from the ",(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"official GitHub documentation"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4657],{3905:(t,e,o)=>{o.d(e,{Zo:()=>s,kt:()=>g});var i=o(7294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,i)}return o}function a(t){for(var e=1;e=0||(r[o]=t[o]);return r}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(r[o]=t[o])}return r}var u=i.createContext({}),p=function(t){var e=i.useContext(u),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},s=function(t){var e=p(t.components);return i.createElement(u.Provider,{value:e},t.children)},c="mdxType",h={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},d=i.forwardRef((function(t,e){var o=t.components,r=t.mdxType,n=t.originalType,u=t.parentName,s=l(t,["components","mdxType","originalType","parentName"]),c=p(o),d=r,g=c["".concat(u,".").concat(d)]||c[d]||h[d]||n;return o?i.createElement(g,a(a({ref:e},s),{},{components:o})):i.createElement(g,a({ref:e},s))}));function g(t,e){var o=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var n=o.length,a=new Array(n);a[0]=d;var l={};for(var u in e)hasOwnProperty.call(e,u)&&(l[u]=e[u]);l.originalType=t,l[c]="string"==typeof t?t:r,a[1]=l;for(var p=2;p{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>h,frontMatter:()=>n,metadata:()=>l,toc:()=>p});var i=o(7462),r=(o(7294),o(3905));const n={id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub","working with git and github","GitHub repository creation","GitHub repository workflow","GitHub repository initialization","GitHub repository hosting","GitHub repository collaboration","GitHub repository version control","GitHub repository deployment","GitHub repository setup"]},a=void 0,l={unversionedId:"contributing/technical/setup-repo-with-git",id:"contributing/technical/setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",description:"Using the GitHub CLI",source:"@site/docs/contributing/technical/setup-repo-with-git.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/setup-repo-with-git",permalink:"/contributing/technical/setup-repo-with-git",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/setup-repo-with-git.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"setup-repo-with-git",title:"Setting Up a Repository with Git and GitHub",sidebar_label:"Setting Up a Repository with Git and GitHub",keywords:["setting up a repository with Git and GitHub","working with git and github","GitHub repository creation","GitHub repository workflow","GitHub repository initialization","GitHub repository hosting","GitHub repository collaboration","GitHub repository version control","GitHub repository deployment","GitHub repository setup"]},sidebar:"docs",previous:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"},next:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"}},u={},p=[{value:"Using the GitHub CLI",id:"using-the-github-cli",level:2},{value:"How to Install the GitHub CLI",id:"how-to-install-the-github-cli",level:3},{value:"How to Authenticate with the GitHub CLI",id:"how-to-authenticate-with-the-github-cli",level:3},{value:"How to Fork and Clone a Repository with the GitHub CLI",id:"how-to-fork-and-clone-a-repository-with-the-github-cli",level:3},{value:"How to Add a Remote Repository",id:"how-to-add-a-remote-repository",level:3},{value:"How to View the Remote Repositories Locally",id:"how-to-view-the-remote-repositories-locally",level:3},{value:"Using the GitHub Website and the Command Line",id:"using-the-github-website-and-the-command-line",level:2}],s={toc:p},c="wrapper";function h(t){let{components:e,...o}=t;return(0,r.kt)(c,(0,i.Z)({},s,o,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"using-the-github-cli"},"Using the GitHub CLI"),(0,r.kt)("h3",{id:"how-to-install-the-github-cli"},"How to Install the GitHub CLI"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"https://cli.github.com/"},"GitHub CLI")," allows you to fork repositories, create issues, pull requests, and more from the command line."),(0,r.kt)("p",null,"Follow these ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/cli/cli#installation"},"instructions to install GitHub CLI")," on Mac, Windows, or Linux."),(0,r.kt)("h3",{id:"how-to-authenticate-with-the-github-cli"},"How to Authenticate with the GitHub CLI"),(0,r.kt)("p",null,"From the terminal, you will need to authenticate with the GitHub CLI. You can do this by running the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"gh auth login\n")),(0,r.kt)("p",null,"Then, follow the prompts to authenticate with the GitHub CLI."),(0,r.kt)("h3",{id:"how-to-fork-and-clone-a-repository-with-the-github-cli"},"How to Fork and Clone a Repository with the GitHub CLI"),(0,r.kt)("p",null,"A fork is a remote copy of a repository, allowing you to experiment freely with changes without affecting the original project."),(0,r.kt)("p",null,"A clone is a local copy of a repository that includes all the files, branches and commits."),(0,r.kt)("p",null,"To fork and clone a repository with the GitHub CLI, run the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"gh repo fork open-sauced/\n")),(0,r.kt)("p",null,"The GitHub CLI will fork the project in your GitHub account and will ask you if you want to clone the repository on your local machine."),(0,r.kt)("h3",{id:"how-to-add-a-remote-repository"},"How to Add a Remote Repository"),(0,r.kt)("p",null,"Adding a remote repository allows you to pull in changes from the original repository and keep your forked copy of the repository up to date."),(0,r.kt)("p",null,"To add a remote repository, run the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream https://github.com/open-sauced/app.git\n")),(0,r.kt)("h3",{id:"how-to-view-the-remote-repositories-locally"},"How to View the Remote Repositories Locally"),(0,r.kt)("p",null,"To view the remote repositories that your local repository is connected to, run the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"git remote -v\n")),(0,r.kt)("p",null,"You should see the following output:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"origin git@github.com:YOUR_GITHUB_USERNAME/app.git (fetch)\norigin git@github.com:YOUR_GITHUB_USERNAME/app.git (push)\nupstream git@github.com:open-sauced/app.git (fetch)\nupstream git@github.com:open-sauced/app.git (push)\n")),(0,r.kt)("h2",{id:"using-the-github-website-and-the-command-line"},"Using the GitHub Website and the Command Line"),(0,r.kt)("p",null,"If you prefer to set up your repository using the GitHub website and the command line, follow this detailed guide from the ",(0,r.kt)("a",{parentName:"p",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"official GitHub documentation"),"."))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4d1cfcdd.5d011d1b.js b/assets/js/4d1cfcdd.aff82b65.js similarity index 98% rename from assets/js/4d1cfcdd.5d011d1b.js rename to assets/js/4d1cfcdd.aff82b65.js index 091e4256..8e98b5b6 100644 --- a/assets/js/4d1cfcdd.5d011d1b.js +++ b/assets/js/4d1cfcdd.aff82b65.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4046],{3905:(t,e,i)=>{i.d(e,{Zo:()=>d,kt:()=>g});var n=i(7294);function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function o(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function a(t){for(var e=1;e=0||(s[i]=t[i]);return s}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(s[i]=t[i])}return s}var c=n.createContext({}),u=function(t){var e=n.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},d=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},l="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},h=n.forwardRef((function(t,e){var i=t.components,s=t.mdxType,o=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),l=u(i),h=s,g=l["".concat(c,".").concat(h)]||l[h]||p[h]||o;return i?n.createElement(g,a(a({ref:e},d),{},{components:i})):n.createElement(g,a({ref:e},d))}));function g(t,e){var i=arguments,s=e&&e.mdxType;if("string"==typeof t||s){var o=i.length,a=new Array(o);a[0]=h;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r[l]="string"==typeof t?t:s,a[1]=r;for(var u=2;u{i.r(e),i.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>u});var n=i(7462),s=(i(7294),i(3905));const o={id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations","github insights and invitations","how to view insights and invitations on github","github insights dashboard","github invitations management","github insights and invitations tutorial","github insights and invitations best practices","github insights and invitations examples"]},a=void 0,r={unversionedId:"tools/chrome-extension/viewing-insights-and-invitations",id:"tools/chrome-extension/viewing-insights-and-invitations",title:"Viewing Insights and Invitations",description:"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.",source:"@site/docs/tools/chrome-extension/viewing-insights-and-invitations.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/viewing-insights-and-invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/viewing-insights-and-invitations.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations","github insights and invitations","how to view insights and invitations on github","github insights dashboard","github invitations management","github insights and invitations tutorial","github insights and invitations best practices","github insights and invitations examples"]},sidebar:"docs",previous:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"},next:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"}},c={},u=[{value:"Invite GitHub Users to Join OpenSauced With a Single Click",id:"invite-github-users-to-join-opensauced-with-a-single-click",level:2},{value:"View GitHub Users' OpenSauced Profiles and Connect With Them",id:"view-github-users-opensauced-profiles-and-connect-with-them",level:2}],d={toc:u},l="wrapper";function p(t){let{components:e,...o}=t;return(0,s.kt)(l,(0,n.Z)({},d,o,{components:e,mdxType:"MDXLayout"}),(0,s.kt)("p",null,"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension."),(0,s.kt)("p",null,(0,s.kt)("img",{alt:"GitHub Profile Insights",src:i(8467).Z,width:"450",height:"775"})),(0,s.kt)("h2",{id:"invite-github-users-to-join-opensauced-with-a-single-click"},"Invite GitHub Users to Join OpenSauced With a Single Click"),(0,s.kt)("p",null,"Invite other users to create an OpenSauced account to keep track of open source contributions when visiting their GitHub profile."),(0,s.kt)("p",null,(0,s.kt)("img",{alt:"Invite GitHub Users",src:i(8194).Z,width:"410",height:"597"})),(0,s.kt)("h2",{id:"view-github-users-opensauced-profiles-and-connect-with-them"},"View GitHub Users' OpenSauced Profiles and Connect With Them"),(0,s.kt)("p",null,"View a user\u2019s OpenSauced profile when on their GitHub profile page."),(0,s.kt)("p",null,(0,s.kt)("img",{alt:"View OpenSauced Profiles",src:i(804).Z,width:"410",height:"597"})))}p.isMDXComponent=!0},8194:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/extension-invite-b7bf72c8cbdf9a9d68614971b05896c1.png"},8467:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/extension-popup-0c8898c6c29c0a9a694fc95d24ecdc94.png"},804:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/extension-view-18fe042acf7d3e3b94aad7476a6dfd83.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4046],{3905:(t,e,i)=>{i.d(e,{Zo:()=>d,kt:()=>g});var n=i(7294);function s(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function o(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function a(t){for(var e=1;e=0||(s[i]=t[i]);return s}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,i)&&(s[i]=t[i])}return s}var c=n.createContext({}),u=function(t){var e=n.useContext(c),i=e;return t&&(i="function"==typeof t?t(e):a(a({},e),t)),i},d=function(t){var e=u(t.components);return n.createElement(c.Provider,{value:e},t.children)},l="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},h=n.forwardRef((function(t,e){var i=t.components,s=t.mdxType,o=t.originalType,c=t.parentName,d=r(t,["components","mdxType","originalType","parentName"]),l=u(i),h=s,g=l["".concat(c,".").concat(h)]||l[h]||p[h]||o;return i?n.createElement(g,a(a({ref:e},d),{},{components:i})):n.createElement(g,a({ref:e},d))}));function g(t,e){var i=arguments,s=e&&e.mdxType;if("string"==typeof t||s){var o=i.length,a=new Array(o);a[0]=h;var r={};for(var c in e)hasOwnProperty.call(e,c)&&(r[c]=e[c]);r.originalType=t,r[l]="string"==typeof t?t:s,a[1]=r;for(var u=2;u{i.r(e),i.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>u});var n=i(7462),s=(i(7294),i(3905));const o={id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations","github insights and invitations","how to view insights and invitations on github","github insights dashboard","github invitations management","github insights and invitations tutorial","github insights and invitations best practices","github insights and invitations examples"]},a=void 0,r={unversionedId:"tools/chrome-extension/viewing-insights-and-invitations",id:"tools/chrome-extension/viewing-insights-and-invitations",title:"Viewing Insights and Invitations",description:"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.",source:"@site/docs/tools/chrome-extension/viewing-insights-and-invitations.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/viewing-insights-and-invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/viewing-insights-and-invitations.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"viewing-insights-and-invitations",title:"Viewing Insights and Invitations",sidebar_label:"Insights and Invitations",keywords:["github","insights and invitations","github insights and invitations","how to view insights and invitations on github","github insights dashboard","github invitations management","github insights and invitations tutorial","github insights and invitations best practices","github insights and invitations examples"]},sidebar:"docs",previous:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"},next:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"}},c={},u=[{value:"Invite GitHub Users to Join OpenSauced With a Single Click",id:"invite-github-users-to-join-opensauced-with-a-single-click",level:2},{value:"View GitHub Users' OpenSauced Profiles and Connect With Them",id:"view-github-users-opensauced-profiles-and-connect-with-them",level:2}],d={toc:u},l="wrapper";function p(t){let{components:e,...o}=t;return(0,s.kt)(l,(0,n.Z)({},d,o,{components:e,mdxType:"MDXLayout"}),(0,s.kt)("p",null,"View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension."),(0,s.kt)("p",null,(0,s.kt)("img",{alt:"GitHub Profile Insights",src:i(8467).Z,width:"450",height:"775"})),(0,s.kt)("h2",{id:"invite-github-users-to-join-opensauced-with-a-single-click"},"Invite GitHub Users to Join OpenSauced With a Single Click"),(0,s.kt)("p",null,"Invite other users to create an OpenSauced account to keep track of open source contributions when visiting their GitHub profile."),(0,s.kt)("p",null,(0,s.kt)("img",{alt:"Invite GitHub Users",src:i(8194).Z,width:"410",height:"597"})),(0,s.kt)("h2",{id:"view-github-users-opensauced-profiles-and-connect-with-them"},"View GitHub Users' OpenSauced Profiles and Connect With Them"),(0,s.kt)("p",null,"View a user\u2019s OpenSauced profile when on their GitHub profile page."),(0,s.kt)("p",null,(0,s.kt)("img",{alt:"View OpenSauced Profiles",src:i(804).Z,width:"410",height:"597"})))}p.isMDXComponent=!0},8194:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/extension-invite-b7bf72c8cbdf9a9d68614971b05896c1.png"},8467:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/extension-popup-0c8898c6c29c0a9a694fc95d24ecdc94.png"},804:(t,e,i)=>{i.d(e,{Z:()=>n});const n=i.p+"assets/images/extension-view-18fe042acf7d3e3b94aad7476a6dfd83.png"}}]); \ No newline at end of file diff --git a/assets/js/51fe39eb.fb1db7aa.js b/assets/js/51fe39eb.73736a51.js similarity index 99% rename from assets/js/51fe39eb.fb1db7aa.js rename to assets/js/51fe39eb.73736a51.js index 7ac2a0cb..489ca884 100644 --- a/assets/js/51fe39eb.fb1db7aa.js +++ b/assets/js/51fe39eb.73736a51.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5994],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>m});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=a.createContext({}),p=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},l=function(e){var n=p(e.components);return a.createElement(c.Provider,{value:n},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=p(t),g=i,m=d["".concat(c,".").concat(g)]||d[g]||u[g]||r;return t?a.createElement(m,o(o({ref:n},l),{},{components:t})):a.createElement(m,o({ref:n},l))}));function m(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=g;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[d]="string"==typeof e?e:i,o[1]=s;for(var p=2;p{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const r={id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["open sauced check engines","npm install check engines","open source dependency verification","npm package engines property","open sauced dependency management","npm run check engines"]},o=void 0,s={unversionedId:"opensauced-packages/check-engines",id:"opensauced-packages/check-engines",title:"@open-sauced/check-engines",description:"Description",source:"@site/docs/opensauced-packages/check-engines.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/check-engines",permalink:"/opensauced-packages/check-engines",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/check-engines.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["open sauced check engines","npm install check engines","open source dependency verification","npm package engines property","open sauced dependency management","npm run check engines"]},sidebar:"docs",previous:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"},next:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"}},c={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Usage on an Older node and npm Versions",id:"usage-on-an-older-node-and-npm-versions",level:3},{value:"Why Not Use check-engines or engine-strict?",id:"why-not-use-check-engines-or-engine-strict",level:3},{value:"Library Usage",id:"library-usage",level:3},{value:"Contributing",id:"contributing",level:2}],l={toc:p},d="wrapper";function u(e){let{components:n,...t}=e;return(0,i.kt)(d,(0,a.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/check-engines")," is designed to help contributors install dependencies conforming to the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," property in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),"."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/npm/npm-install-checks"},"npm-install-checks"))),(0,i.kt)("h2",{id:"installation"},"Installation"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/check-engines\n")),(0,i.kt)("p",null,"Add the verification scripts to your ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "preinstall": "npx @open-sauced/check-engines"\n }\n}\n')),(0,i.kt)("p",null,"The reason why we provide ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations or trimmed dependency trees, where using ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,i.kt)("h2",{id:"usage"},"Usage"),(0,i.kt)("p",null,"Use your favorite package manager to install dependencies in your project or, if you set it as a global verification system:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "preinstall": "npm run check-engines",\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,i.kt)("p",null,"If you have an API or any other non-library type of application, you can decouple this package from any install scripts and just use it as a verification:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("p",null,"A more traditional approach not using ",(0,i.kt)("inlineCode",{parentName:"p"},"pre")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"post")," scripts, this example enables the check only for local machine development:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "start": "...",\n "dev": "npm run check-engines && npm start -- --watch"\n }\n}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"usage-on-an-older-node-and-npm-versions"},"Usage on an Older ",(0,i.kt)("inlineCode",{parentName:"h3"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Versions"),(0,i.kt)("p",null,"Older ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions won't be able to run this package; depending on the versions, the scripts section could be ignored completely."),(0,i.kt)("p",null,"If you have that use case, this package is only worth enabling for progressive contributors frequently missing the legacy support of the respective module and forcefully upgrading dependencies - them running newer versions will force the error message and explicitly disable."),(0,i.kt)("h3",{id:"why-not-use-check-engines-or-engine-strict"},"Why Not Use ",(0,i.kt)("inlineCode",{parentName:"h3"},"check-engines")," or ",(0,i.kt)("inlineCode",{parentName:"h3"},"engine-strict"),"?"),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v6/configuring-npm/package-json#enginestrict"},"engine-strict docs"),":"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Prior to npm 3.0.0, this feature was used to treat this package as if the user had set ",(0,i.kt)("inlineCode",{parentName:"p"},"engine-strict"),". It is no longer used.")),(0,i.kt)("p",null,"In ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," and later, this was re-introduced as a ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v7/using-npm/config#engine-strict"},"config flag"),"."),(0,i.kt)("p",null,"This package is designed with multiple legacy use cases in mind."),(0,i.kt)("h3",{id:"library-usage"},"Library Usage"),(0,i.kt)("p",null,"If you use this module in a library package, be advised that any ",(0,i.kt)("inlineCode",{parentName:"p"},"*install")," script will run in the parent module when installed."),(0,i.kt)("p",null,"For example, given a module ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," with a ",(0,i.kt)("inlineCode",{parentName:"p"},'preinstall: "npx @open-sauced/check-engines"')," script, running ",(0,i.kt)("inlineCode",{parentName:"p"},"npm install @demo-org/demo-package")," will require your locally installed ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions to match the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," section of your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),". If that is not set, nothing should happen, and this package is a stray dependency in either ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," or the module you are running this command in."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/check-engines"},"@open-sauced/check-engines"),". \u2764\ufe0f"))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[5994],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>m});var a=t(7294);function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var n=1;n=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}var c=a.createContext({}),p=function(e){var n=a.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):o(o({},n),e)),t},l=function(e){var n=p(e.components);return a.createElement(c.Provider,{value:n},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},g=a.forwardRef((function(e,n){var t=e.components,i=e.mdxType,r=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),d=p(t),g=i,m=d["".concat(c,".").concat(g)]||d[g]||u[g]||r;return t?a.createElement(m,o(o({ref:n},l),{},{components:t})):a.createElement(m,o({ref:n},l))}));function m(e,n){var t=arguments,i=n&&n.mdxType;if("string"==typeof e||i){var r=t.length,o=new Array(r);o[0]=g;var s={};for(var c in n)hasOwnProperty.call(n,c)&&(s[c]=n[c]);s.originalType=e,s[d]="string"==typeof e?e:i,o[1]=s;for(var p=2;p{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var a=t(7462),i=(t(7294),t(3905));const r={id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["open sauced check engines","npm install check engines","open source dependency verification","npm package engines property","open sauced dependency management","npm run check engines"]},o=void 0,s={unversionedId:"opensauced-packages/check-engines",id:"opensauced-packages/check-engines",title:"@open-sauced/check-engines",description:"Description",source:"@site/docs/opensauced-packages/check-engines.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/check-engines",permalink:"/opensauced-packages/check-engines",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/check-engines.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"check-engines",title:"@open-sauced/check-engines",sidebar_label:"@open-sauced/check-engines",keywords:["open sauced check engines","npm install check engines","open source dependency verification","npm package engines property","open sauced dependency management","npm run check engines"]},sidebar:"docs",previous:{title:"Resolve Merge Conflicts",permalink:"/contributing/technical/resolve-merge-conflicts"},next:{title:"@open-sauced/conventional-commit",permalink:"/opensauced-packages/conventional-commit"}},c={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Usage on an Older node and npm Versions",id:"usage-on-an-older-node-and-npm-versions",level:3},{value:"Why Not Use check-engines or engine-strict?",id:"why-not-use-check-engines-or-engine-strict",level:3},{value:"Library Usage",id:"library-usage",level:3},{value:"Contributing",id:"contributing",level:2}],l={toc:p},d="wrapper";function u(e){let{components:n,...t}=e;return(0,i.kt)(d,(0,a.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"description"},"Description"),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,i.kt)("inlineCode",{parentName:"p"},"@open-sauced/check-engines")," is designed to help contributors install dependencies conforming to the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," property in ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),"."),(0,i.kt)("h2",{id:"dependencies"},"Dependencies"),(0,i.kt)("p",null,"This package uses the following modules:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://github.com/npm/npm-install-checks"},"npm-install-checks"))),(0,i.kt)("h2",{id:"installation"},"Installation"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/check-engines\n")),(0,i.kt)("p",null,"Add the verification scripts to your ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "preinstall": "npx @open-sauced/check-engines"\n }\n}\n')),(0,i.kt)("p",null,"The reason why we provide ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,i.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations or trimmed dependency trees, where using ",(0,i.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,i.kt)("h2",{id:"usage"},"Usage"),(0,i.kt)("p",null,"Use your favorite package manager to install dependencies in your project or, if you set it as a global verification system:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "preinstall": "npm run check-engines",\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,i.kt)("p",null,"If you have an API or any other non-library type of application, you can decouple this package from any install scripts and just use it as a verification:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "prestart": "npm run check-engines"\n }\n}\n')),(0,i.kt)("p",null,"A more traditional approach not using ",(0,i.kt)("inlineCode",{parentName:"p"},"pre")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"post")," scripts, this example enables the check only for local machine development:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "check-engines": "npx @open-sauced/check-engines"\n "start": "...",\n "dev": "npm run check-engines && npm start -- --watch"\n }\n}\n')),(0,i.kt)("h2",{id:"faqs"},"FAQs"),(0,i.kt)("h3",{id:"usage-on-an-older-node-and-npm-versions"},"Usage on an Older ",(0,i.kt)("inlineCode",{parentName:"h3"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"h3"},"npm")," Versions"),(0,i.kt)("p",null,"Older ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions won't be able to run this package; depending on the versions, the scripts section could be ignored completely."),(0,i.kt)("p",null,"If you have that use case, this package is only worth enabling for progressive contributors frequently missing the legacy support of the respective module and forcefully upgrading dependencies - them running newer versions will force the error message and explicitly disable."),(0,i.kt)("h3",{id:"why-not-use-check-engines-or-engine-strict"},"Why Not Use ",(0,i.kt)("inlineCode",{parentName:"h3"},"check-engines")," or ",(0,i.kt)("inlineCode",{parentName:"h3"},"engine-strict"),"?"),(0,i.kt)("p",null,"As described in the ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v6/configuring-npm/package-json#enginestrict"},"engine-strict docs"),":"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"Prior to npm 3.0.0, this feature was used to treat this package as if the user had set ",(0,i.kt)("inlineCode",{parentName:"p"},"engine-strict"),". It is no longer used.")),(0,i.kt)("p",null,"In ",(0,i.kt)("inlineCode",{parentName:"p"},"npm@6")," and later, this was re-introduced as a ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v7/using-npm/config#engine-strict"},"config flag"),"."),(0,i.kt)("p",null,"This package is designed with multiple legacy use cases in mind."),(0,i.kt)("h3",{id:"library-usage"},"Library Usage"),(0,i.kt)("p",null,"If you use this module in a library package, be advised that any ",(0,i.kt)("inlineCode",{parentName:"p"},"*install")," script will run in the parent module when installed."),(0,i.kt)("p",null,"For example, given a module ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," with a ",(0,i.kt)("inlineCode",{parentName:"p"},'preinstall: "npx @open-sauced/check-engines"')," script, running ",(0,i.kt)("inlineCode",{parentName:"p"},"npm install @demo-org/demo-package")," will require your locally installed ",(0,i.kt)("inlineCode",{parentName:"p"},"node")," and ",(0,i.kt)("inlineCode",{parentName:"p"},"npm")," versions to match the ",(0,i.kt)("inlineCode",{parentName:"p"},"engines")," section of your ",(0,i.kt)("inlineCode",{parentName:"p"},"package.json"),". If that is not set, nothing should happen, and this package is a stray dependency in either ",(0,i.kt)("inlineCode",{parentName:"p"},"@demo-org/demo-package")," or the module you are running this command in."),(0,i.kt)("h2",{id:"contributing"},"Contributing"),(0,i.kt)("p",null,"We're always happy to onboard people into open source!"),(0,i.kt)("p",null,"Check out the repository at ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/check-engines"},"@open-sauced/check-engines"),". \u2764\ufe0f"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/561e6817.edb2c7d5.js b/assets/js/561e6817.5a4fe194.js similarity index 99% rename from assets/js/561e6817.edb2c7d5.js rename to assets/js/561e6817.5a4fe194.js index 8921a613..97958ba2 100644 --- a/assets/js/561e6817.edb2c7d5.js +++ b/assets/js/561e6817.5a4fe194.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1161],{3905:(e,t,o)=>{o.d(t,{Zo:()=>s,kt:()=>h});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},s=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(o),d=r,h=p["".concat(c,".").concat(d)]||p[d]||m[d]||i;return o?n.createElement(h,a(a({ref:t},s),{},{components:o})):n.createElement(h,a({ref:t},s))}));function h(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=d;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u[p]="string"==typeof e?e:r,a[1]=u;for(var l=2;l{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>u,toc:()=>l});var n=o(7462),r=(o(7294),o(3905));const i={id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community","The community welcomes you","Get involved in the community","Join our community","Greetings from the community"]},a=void 0,u={unversionedId:"community/welcome-to-the-community",id:"community/welcome-to-the-community",title:"Welcome to the OpenSauced Community",description:"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.",source:"@site/docs/community/welcome-to-the-community.md",sourceDirName:"community",slug:"/community/welcome-to-the-community",permalink:"/community/welcome-to-the-community",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/welcome-to-the-community.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community","The community welcomes you","Get involved in the community","Join our community","Greetings from the community"]},sidebar:"docs",previous:{title:"Contributors Guide to OpenSauced",permalink:"/contributors/contributors-guide-to-open-sauced"},next:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"}},c={},l=[{value:"Community Guidelines",id:"community-guidelines",level:2},{value:"Keeping Up with OpenSauced",id:"keeping-up-with-opensauced",level:2},{value:"How to Get Involved",id:"how-to-get-involved",level:2},{value:"Resources on Getting Started with Open Source",id:"resources-on-getting-started-with-open-source",level:2}],s={toc:l},p="wrapper";function m(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,n.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open."),(0,r.kt)("h2",{id:"community-guidelines"},"Community Guidelines"),(0,r.kt)("p",null,"We pledge to create a welcoming and inclusive community for everyone at OpenSauced. We have a few guidelines to help us achieve this goal:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Be respectful and kind to others in the community."),(0,r.kt)("li",{parentName:"ul"},"Be patient with others and help them learn."),(0,r.kt)("li",{parentName:"ul"},"Be open to feedback and constructive criticism."),(0,r.kt)("li",{parentName:"ul"},"Adhere to the ",(0,r.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct"),".")),(0,r.kt)("h2",{id:"keeping-up-with-opensauced"},"Keeping Up with OpenSauced"),(0,r.kt)("p",null,"The OpenSauced community is a group of open source enthusiasts who are passionate about making open source more accessible to everyone. Here are some ways you can keep up with what we're doing:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Follow us on X ",(0,r.kt)("a",{parentName:"li",href:"https://twitter.com/saucedopen"},"@SaucedOpen")," for announcements and our frequent X Spaces."),(0,r.kt)("li",{parentName:"ul"},"Join our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord")," and hang out with us during our weekly office hours."),(0,r.kt)("li",{parentName:"ul"},"Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/@OpenSauced"},"YouTube channel")," for the latest updates and video content for OpenSauced."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcf0 Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://news.opensauced.pizza/#/portal/signup"},"newsletter")," for all things OpenSauced and open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\uddd3\ufe0f Check out the ",(0,r.kt)("a",{parentName:"li",href:"https://calendar.google.com/calendar/u/0?cid=Y19kYWRhODM2MjlhZDg4ZWM2M2IxZGFmMTE5MDIyMDg0MjU2ZmQ4NmNjNWNhYmMxMjk5MDhjMGUxOTY3NjY4ZTg0QGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20"},"calendar")," for our next weekly community chat.")),(0,r.kt)("h2",{id:"how-to-get-involved"},"How to Get Involved"),(0,r.kt)("p",null,"You can get involved in the OpenSauced community in a few ways:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Share your contributions! We love to see what you're working on. Highlight your contributions on ",(0,r.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/feed"},"OpenSauced"),"."),(0,r.kt)("li",{parentName:"ul"},"Open an issue or ask to be assigned to an existing issue on any of our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"OpenSauced repositories"),"."),(0,r.kt)("li",{parentName:"ul"},"Share what you're working on, ask questions, or mentor new contributors in our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord"),"."),(0,r.kt)("li",{parentName:"ul"},"Provide feedback on our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),".")),(0,r.kt)("h2",{id:"resources-on-getting-started-with-open-source"},"Resources on Getting Started with Open Source"),(0,r.kt)("p",null,"Getting started with open source can be challenging, so we've put together some resources to help you get started."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcdd Check out our ",(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced"},"blog on Dev.to"),", where we provide resources for open source contributors."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcd6 Take our ",(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source Course")," to help you start with open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcc5 Join our ",(0,r.kt)("a",{parentName:"li",href:"/community/100-days-of-oss"},"#100DaysOfOSS Challenge")," to help you grow your skills and gain real-world experience in open source.")))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1161],{3905:(e,t,o)=>{o.d(t,{Zo:()=>s,kt:()=>h});var n=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=n.createContext({}),l=function(e){var t=n.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},s=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(o),d=r,h=p["".concat(c,".").concat(d)]||p[d]||m[d]||i;return o?n.createElement(h,a(a({ref:t},s),{},{components:o})):n.createElement(h,a({ref:t},s))}));function h(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=d;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u[p]="string"==typeof e?e:r,a[1]=u;for(var l=2;l{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>i,metadata:()=>u,toc:()=>l});var n=o(7462),r=(o(7294),o(3905));const i={id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community","The community welcomes you","Get involved in the community","Join our community","Greetings from the community"]},a=void 0,u={unversionedId:"community/welcome-to-the-community",id:"community/welcome-to-the-community",title:"Welcome to the OpenSauced Community",description:"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.",source:"@site/docs/community/welcome-to-the-community.md",sourceDirName:"community",slug:"/community/welcome-to-the-community",permalink:"/community/welcome-to-the-community",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/welcome-to-the-community.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"welcome-to-the-community",title:"Welcome to the OpenSauced Community",sidebar_label:"Welcome to the Community",keywords:["welcome to the community","The community welcomes you","Get involved in the community","Join our community","Greetings from the community"]},sidebar:"docs",previous:{title:"Contributors Guide to OpenSauced",permalink:"/contributors/contributors-guide-to-open-sauced"},next:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"}},c={},l=[{value:"Community Guidelines",id:"community-guidelines",level:2},{value:"Keeping Up with OpenSauced",id:"keeping-up-with-opensauced",level:2},{value:"How to Get Involved",id:"how-to-get-involved",level:2},{value:"Resources on Getting Started with Open Source",id:"resources-on-getting-started-with-open-source",level:2}],s={toc:l},p="wrapper";function m(e){let{components:t,...o}=e;return(0,r.kt)(p,(0,n.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open."),(0,r.kt)("h2",{id:"community-guidelines"},"Community Guidelines"),(0,r.kt)("p",null,"We pledge to create a welcoming and inclusive community for everyone at OpenSauced. We have a few guidelines to help us achieve this goal:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Be respectful and kind to others in the community."),(0,r.kt)("li",{parentName:"ul"},"Be patient with others and help them learn."),(0,r.kt)("li",{parentName:"ul"},"Be open to feedback and constructive criticism."),(0,r.kt)("li",{parentName:"ul"},"Adhere to the ",(0,r.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct"),".")),(0,r.kt)("h2",{id:"keeping-up-with-opensauced"},"Keeping Up with OpenSauced"),(0,r.kt)("p",null,"The OpenSauced community is a group of open source enthusiasts who are passionate about making open source more accessible to everyone. Here are some ways you can keep up with what we're doing:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Follow us on X ",(0,r.kt)("a",{parentName:"li",href:"https://twitter.com/saucedopen"},"@SaucedOpen")," for announcements and our frequent X Spaces."),(0,r.kt)("li",{parentName:"ul"},"Join our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord")," and hang out with us during our weekly office hours."),(0,r.kt)("li",{parentName:"ul"},"Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://www.youtube.com/@OpenSauced"},"YouTube channel")," for the latest updates and video content for OpenSauced."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcf0 Subscribe to our ",(0,r.kt)("a",{parentName:"li",href:"https://news.opensauced.pizza/#/portal/signup"},"newsletter")," for all things OpenSauced and open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\uddd3\ufe0f Check out the ",(0,r.kt)("a",{parentName:"li",href:"https://calendar.google.com/calendar/u/0?cid=Y19kYWRhODM2MjlhZDg4ZWM2M2IxZGFmMTE5MDIyMDg0MjU2ZmQ4NmNjNWNhYmMxMjk5MDhjMGUxOTY3NjY4ZTg0QGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20"},"calendar")," for our next weekly community chat.")),(0,r.kt)("h2",{id:"how-to-get-involved"},"How to Get Involved"),(0,r.kt)("p",null,"You can get involved in the OpenSauced community in a few ways:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Share your contributions! We love to see what you're working on. Highlight your contributions on ",(0,r.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/feed"},"OpenSauced"),"."),(0,r.kt)("li",{parentName:"ul"},"Open an issue or ask to be assigned to an existing issue on any of our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"OpenSauced repositories"),"."),(0,r.kt)("li",{parentName:"ul"},"Share what you're working on, ask questions, or mentor new contributors in our ",(0,r.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord"),"."),(0,r.kt)("li",{parentName:"ul"},"Provide feedback on our ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),".")),(0,r.kt)("h2",{id:"resources-on-getting-started-with-open-source"},"Resources on Getting Started with Open Source"),(0,r.kt)("p",null,"Getting started with open source can be challenging, so we've put together some resources to help you get started."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcdd Check out our ",(0,r.kt)("a",{parentName:"li",href:"https://dev.to/opensauced"},"blog on Dev.to"),", where we provide resources for open source contributors."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcd6 Take our ",(0,r.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source Course")," to help you start with open source."),(0,r.kt)("li",{parentName:"ul"},"\ud83d\udcc5 Join our ",(0,r.kt)("a",{parentName:"li",href:"/community/100-days-of-oss"},"#100DaysOfOSS Challenge")," to help you grow your skills and gain real-world experience in open source.")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/580fd761.21b70507.js b/assets/js/580fd761.3bd7c9d9.js similarity index 99% rename from assets/js/580fd761.21b70507.js rename to assets/js/580fd761.3bd7c9d9.js index 6f85d585..eaf28b68 100644 --- a/assets/js/580fd761.21b70507.js +++ b/assets/js/580fd761.3bd7c9d9.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7607],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),s=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=s(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),m=r,f=d["".concat(l,".").concat(m)]||d[m]||p[m]||i;return n?o.createElement(f,a(a({ref:t},u),{},{components:n})):o.createElement(f,a({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:r,a[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const i={id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct","Community guidelines","Guidelines for behavior","Interaction guidelines","rules and guidelines","Behavioral expectations"]},a=void 0,c={unversionedId:"contributing/code-of-conduct",id:"contributing/code-of-conduct",title:"Code of Conduct",description:"Our Pledge",source:"@site/docs/contributing/code-of-conduct.md",sourceDirName:"contributing",slug:"/contributing/code-of-conduct",permalink:"/contributing/code-of-conduct",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/code-of-conduct.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct","Community guidelines","Guidelines for behavior","Interaction guidelines","rules and guidelines","Behavioral expectations"]},sidebar:"docs",previous:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"},next:{title:"Triage Guide",permalink:"/contributing/triage-guide"}},l={},s=[{value:"Our Pledge",id:"our-pledge",level:2},{value:"Our Standards",id:"our-standards",level:2},{value:"Our Responsibilities",id:"our-responsibilities",level:2},{value:"Scope",id:"scope",level:2},{value:"Enforcement",id:"enforcement",level:2},{value:"Attribution",id:"attribution",level:2}],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,o.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"our-pledge"},"Our Pledge"),(0,r.kt)("p",null,"In the interest of fostering an open and welcoming environment, we as\ncontributors 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, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation."),(0,r.kt)("h2",{id:"our-standards"},"Our Standards"),(0,r.kt)("p",null,"Examples of behavior that contributes to creating a positive environment\ninclude:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Using welcoming and inclusive language."),(0,r.kt)("li",{parentName:"ul"},"Being respectful of differing viewpoints and experiences."),(0,r.kt)("li",{parentName:"ul"},"Gracefully accepting constructive criticism."),(0,r.kt)("li",{parentName:"ul"},"Focusing on what is best for the community."),(0,r.kt)("li",{parentName:"ul"},"Showing empathy towards other community members.")),(0,r.kt)("p",null,"Examples of unacceptable behavior by participants include:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"The use of sexualized language or imagery and unwelcome sexual attention or advances."),(0,r.kt)("li",{parentName:"ul"},"Trolling, insulting/derogatory comments, and personal or political attacks."),(0,r.kt)("li",{parentName:"ul"},"Public or private harassment."),(0,r.kt)("li",{parentName:"ul"},"Publishing others' confidential information, such as a physical or electronic address, without explicit permission."),(0,r.kt)("li",{parentName:"ul"},"Other conduct that could reasonably be considered inappropriate in a professional setting.")),(0,r.kt)("h2",{id:"our-responsibilities"},"Our Responsibilities"),(0,r.kt)("p",null,"Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior."),(0,r.kt)("p",null,"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 with this Code of Conduct or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful."),(0,r.kt)("h2",{id:"scope"},"Scope"),(0,r.kt)("p",null,"This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Using an official project e-mail address."),(0,r.kt)("li",{parentName:"ul"},"Posting via an official social media account."),(0,r.kt)("li",{parentName:"ul"},"Acting as an appointed representative at an online or offline event.")),(0,r.kt)("p",null,"Representation of a project may be further defined and clarified by project maintainers."),(0,r.kt)("h2",{id:"enforcement"},"Enforcement"),(0,r.kt)("p",null,"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at ",(0,r.kt)("a",{parentName:"p",href:"mailto:hello@briandouglas.me."},"hello@briandouglas.me.")," All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately."),(0,r.kt)("p",null,"Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership."),(0,r.kt)("h2",{id:"attribution"},"Attribution"),(0,r.kt)("p",null,"This Code of Conduct is adapted from the ",(0,r.kt)("a",{parentName:"p",href:"https://contributor-covenant.org"},"Contributor Covenant")," version 1.4,\navailable at ",(0,r.kt)("a",{parentName:"p",href:"https://contributor-covenant.org/version/1/4/"},"https://contributor-covenant.org/version/1/4"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7607],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),s=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=s(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),m=r,f=d["".concat(l,".").concat(m)]||d[m]||p[m]||i;return n?o.createElement(f,a(a({ref:t},u),{},{components:n})):o.createElement(f,a({ref:t},u))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:r,a[1]=c;for(var s=2;s{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const i={id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct","Community guidelines","Guidelines for behavior","Interaction guidelines","rules and guidelines","Behavioral expectations"]},a=void 0,c={unversionedId:"contributing/code-of-conduct",id:"contributing/code-of-conduct",title:"Code of Conduct",description:"Our Pledge",source:"@site/docs/contributing/code-of-conduct.md",sourceDirName:"contributing",slug:"/contributing/code-of-conduct",permalink:"/contributing/code-of-conduct",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/code-of-conduct.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"code-of-conduct",title:"Code of Conduct",sidebar_label:"Code of Conduct",keywords:["code of conduct","Community guidelines","Guidelines for behavior","Interaction guidelines","rules and guidelines","Behavioral expectations"]},sidebar:"docs",previous:{title:"Introduction to Contributing",permalink:"/contributing/introduction-to-contributing"},next:{title:"Triage Guide",permalink:"/contributing/triage-guide"}},l={},s=[{value:"Our Pledge",id:"our-pledge",level:2},{value:"Our Standards",id:"our-standards",level:2},{value:"Our Responsibilities",id:"our-responsibilities",level:2},{value:"Scope",id:"scope",level:2},{value:"Enforcement",id:"enforcement",level:2},{value:"Attribution",id:"attribution",level:2}],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,o.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"our-pledge"},"Our Pledge"),(0,r.kt)("p",null,"In the interest of fostering an open and welcoming environment, we as\ncontributors 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, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation."),(0,r.kt)("h2",{id:"our-standards"},"Our Standards"),(0,r.kt)("p",null,"Examples of behavior that contributes to creating a positive environment\ninclude:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Using welcoming and inclusive language."),(0,r.kt)("li",{parentName:"ul"},"Being respectful of differing viewpoints and experiences."),(0,r.kt)("li",{parentName:"ul"},"Gracefully accepting constructive criticism."),(0,r.kt)("li",{parentName:"ul"},"Focusing on what is best for the community."),(0,r.kt)("li",{parentName:"ul"},"Showing empathy towards other community members.")),(0,r.kt)("p",null,"Examples of unacceptable behavior by participants include:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"The use of sexualized language or imagery and unwelcome sexual attention or advances."),(0,r.kt)("li",{parentName:"ul"},"Trolling, insulting/derogatory comments, and personal or political attacks."),(0,r.kt)("li",{parentName:"ul"},"Public or private harassment."),(0,r.kt)("li",{parentName:"ul"},"Publishing others' confidential information, such as a physical or electronic address, without explicit permission."),(0,r.kt)("li",{parentName:"ul"},"Other conduct that could reasonably be considered inappropriate in a professional setting.")),(0,r.kt)("h2",{id:"our-responsibilities"},"Our Responsibilities"),(0,r.kt)("p",null,"Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior."),(0,r.kt)("p",null,"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 with this Code of Conduct or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful."),(0,r.kt)("h2",{id:"scope"},"Scope"),(0,r.kt)("p",null,"This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Using an official project e-mail address."),(0,r.kt)("li",{parentName:"ul"},"Posting via an official social media account."),(0,r.kt)("li",{parentName:"ul"},"Acting as an appointed representative at an online or offline event.")),(0,r.kt)("p",null,"Representation of a project may be further defined and clarified by project maintainers."),(0,r.kt)("h2",{id:"enforcement"},"Enforcement"),(0,r.kt)("p",null,"Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at ",(0,r.kt)("a",{parentName:"p",href:"mailto:hello@briandouglas.me."},"hello@briandouglas.me.")," All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident.\nFurther details of specific enforcement policies may be posted separately."),(0,r.kt)("p",null,"Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership."),(0,r.kt)("h2",{id:"attribution"},"Attribution"),(0,r.kt)("p",null,"This Code of Conduct is adapted from the ",(0,r.kt)("a",{parentName:"p",href:"https://contributor-covenant.org"},"Contributor Covenant")," version 1.4,\navailable at ",(0,r.kt)("a",{parentName:"p",href:"https://contributor-covenant.org/version/1/4/"},"https://contributor-covenant.org/version/1/4"),"."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5a367a69.860421b7.js b/assets/js/5a367a69.e4aebccf.js similarity index 99% rename from assets/js/5a367a69.860421b7.js rename to assets/js/5a367a69.e4aebccf.js index 5a6e8264..4a52ca44 100644 --- a/assets/js/5a367a69.860421b7.js +++ b/assets/js/5a367a69.e4aebccf.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[216],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),s=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),h=r,g=u["".concat(c,".").concat(h)]||u[h]||d[h]||a;return n?o.createElement(g,i(i({ref:t},p),{},{components:n})):o.createElement(g,i({ref:t},p))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=h;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:r,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const a={id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts","solve merge conflicts","Git merge conflict","Merge conflict resolution","Merge conflict prevention","Merge conflict handling","Merge conflict management","Merge conflict avoidance","Merge conflict workflow","Merge conflict strategies","Merge conflict best practices","Merge conflict tools"]},i=void 0,l={unversionedId:"contributing/technical/resolve-merge-conflicts",id:"contributing/technical/resolve-merge-conflicts",title:"Resolve Merge Conflicts",description:"When you are working on any of the OpenSauced repositories, you might run into a merge conflict. A merge conflict occurs when multiple conflicting changes are made to the same line in a file. Merge conflicts happen the most when you open a pull request, as the release process generally updates npm-shrinkwrap.json.",source:"@site/docs/contributing/technical/resolve-merge-conflicts.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/resolve-merge-conflicts",permalink:"/contributing/technical/resolve-merge-conflicts",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/resolve-merge-conflicts.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts","solve merge conflicts","Git merge conflict","Merge conflict resolution","Merge conflict prevention","Merge conflict handling","Merge conflict management","Merge conflict avoidance","Merge conflict workflow","Merge conflict strategies","Merge conflict best practices","Merge conflict tools"]},sidebar:"docs",previous:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"},next:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"}},c={},s=[{value:"How to Keep Your Branch Updated",id:"how-to-keep-your-branch-updated",level:2},{value:"Using GitHub",id:"using-github",level:3},{value:"Using Git",id:"using-git",level:3},{value:"How to Check for Merge Conflicts Locally",id:"how-to-check-for-merge-conflicts-locally",level:2},{value:"How to Resolve Merge Conflicts",id:"how-to-resolve-merge-conflicts",level:2},{value:"Reviewing Your Pull Request",id:"reviewing-your-pull-request",level:2},{value:"Dependency Updates",id:"dependency-updates",level:2}],p={toc:s},u="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(u,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"When you are working on any of the OpenSauced repositories, you might run into a merge conflict. A merge conflict occurs when multiple conflicting changes are made to the same line in a file. Merge conflicts happen the most when you open a pull request, as the release process generally updates ",(0,r.kt)("inlineCode",{parentName:"p"},"npm-shrinkwrap.json"),"."),(0,r.kt)("p",null,"In this guide, we will talk about how to resolve merge conflicts and how to keep your branch up to date."),(0,r.kt)("h2",{id:"how-to-keep-your-branch-updated"},"How to Keep Your Branch Updated"),(0,r.kt)("p",null,"It is common for your branch to fall behind the main repository's branch. So it is important to keep it up to date as you are contributing."),(0,r.kt)("h3",{id:"using-github"},"Using GitHub"),(0,r.kt)("p",null,"To update your branch on GitHub, you can go to your forked copy of the project and click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Sync fork")," and then the ",(0,r.kt)("inlineCode",{parentName:"p"},"Update branch")," button."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"syncing your branch on GitHub",src:n(7471).Z,width:"2056",height:"1090"})),(0,r.kt)("h3",{id:"using-git"},"Using Git"),(0,r.kt)("p",null,"To update your branch using Git and the terminal, you can use the following commands:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Change directories to the correct project.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"cd project-name\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Add the ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream")," remote.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git remote add upstream https://github.com/upstream-username/upstream-repository.git\n")),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Pull the latest changes from the ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream"),".")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git pull upstream main-branch-name\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note"),": Some of the OpenSauced repositories will use ",(0,r.kt)("inlineCode",{parentName:"p"},"main")," for the main branch while others like the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"app repository"),", will use ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," for the main branch name."),(0,r.kt)("h2",{id:"how-to-check-for-merge-conflicts-locally"},"How to Check for Merge Conflicts Locally"),(0,r.kt)("p",null,"If you are actively working on a change to an OpenSauced repository, you can check for potential merge conflicts by running a few commands in the terminal."),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Make sure you are on the correct branch where the changes are being made.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"cd app\ngit checkout \n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Fetch the latest changes from the OpenSauced main repository.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git fetch upstream\n")),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"See the differences between your branch and the OpenSauced main branch.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git diff upstream/main\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note"),": Some of the OpenSauced repositories will use ",(0,r.kt)("inlineCode",{parentName:"p"},"main")," for the main branch while others, like the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"app repository"),", will use ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," for the main branch name."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"git diff output review conflicts",src:n(3032).Z,width:"1236",height:"766"})),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"NOTE"),": If you have already opened up a pull request, then you can see if there is a conflict at the bottom of the PR. Even though it is possible to resolve conflicts through GitHub, it is best practice to resolve them locally."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"merge conflicts git message",src:n(340).Z,width:"1690",height:"1144"})),(0,r.kt)("h2",{id:"how-to-resolve-merge-conflicts"},"How to Resolve Merge Conflicts"),(0,r.kt)("p",null,"If you have merge conflicts, it is best to use a text editor to resolve them. Identify the conflicting files and open them up in your editor of choice. For the conflicting sections, you have an option to either keep the incoming changes, keep your changes or keep both sets of changes. The conflicting sections will be marked with ",(0,r.kt)("inlineCode",{parentName:"p"},"<<<<<<<"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"======="),", and ",(0,r.kt)("inlineCode",{parentName:"p"},">>>>>>>")," symbols."),(0,r.kt)("p",null,"Here is a ",(0,r.kt)("a",{parentName:"p",href:"https://dev.to/opensauced/keeping-your-branch-up-to-date-and-handling-merge-conflicts-while-waiting-for-pr-reviews-3b3h"},"guide")," for an in depth walkthrough of the process. Once you have resolved all of the conflicts, then you can stage, commit and push your changes to your branch."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'git status\ngit add .\ngit commit -m "fix: resolving merge conflicts"\ngit push\n')),(0,r.kt)("h2",{id:"reviewing-your-pull-request"},"Reviewing Your Pull Request"),(0,r.kt)("p",null,"Once you have pushed up your changes, you can review them in your pull request. Under the files changed tab, you will see all of the recent changes including all conflicts resolved."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"files changed tab on GitHub",src:n(4912).Z,width:"1794",height:"942"})),(0,r.kt)("h2",{id:"dependency-updates"},"Dependency Updates"),(0,r.kt)("p",null,"When dealing with dependency and lock file updates, there are multiple use cases to consider; however, as a baseline, the OpenSauced triage team will not prioritize parallel main features as seen in the roadmap."),(0,r.kt)("p",null,"However when that happens, it is advised to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fast-forward ",(0,r.kt)("inlineCode",{parentName:"li"},"npm-shrinkwrap.json")),(0,r.kt)("li",{parentName:"ul"},"fast-forward deleted and modified ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream/beta")," changes to ",(0,r.kt)("inlineCode",{parentName:"li"},"package.json")),(0,r.kt)("li",{parentName:"ul"},"fast-forward your added lines to ",(0,r.kt)("inlineCode",{parentName:"li"},"package.json")),(0,r.kt)("li",{parentName:"ul"},"run ",(0,r.kt)("inlineCode",{parentName:"li"},"npm ci")," to delete local modules and create dependency resolution from ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream/beta"))),(0,r.kt)("p",null,"Visual diffing is advised; however, not following the git commit history procedure will result in a rogue pull request that creeps into dependency updates."),(0,r.kt)("p",null,"Generally speaking, just adding things to a lock file will not be troublesome, and since this is a licensed project, we should be careful when adding dependencies."))}d.isMDXComponent=!0},340:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/contributing-resolve-merge-conflicts-dont-do-9703e3dffc76ef8c046f2fd7b506676f.png"},3032:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/contributing-resolve-merge-conflicts-review-conflicts-5df5a5e4934e39d9e07bcd96e53d7c3f.png"},4912:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/files-changed-tab-867f60b1281f09ba23cea7234e7703b5.png"},7471:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/sync-branch-GH-36c4d46d1782388d799fee76fe10398b.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[216],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>g});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var c=o.createContext({}),s=function(e){var t=o.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),h=r,g=u["".concat(c,".").concat(h)]||u[h]||d[h]||a;return n?o.createElement(g,i(i({ref:t},p),{},{components:n})):o.createElement(g,i({ref:t},p))}));function g(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,i=new Array(a);i[0]=h;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[u]="string"==typeof e?e:r,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const a={id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts","solve merge conflicts","Git merge conflict","Merge conflict resolution","Merge conflict prevention","Merge conflict handling","Merge conflict management","Merge conflict avoidance","Merge conflict workflow","Merge conflict strategies","Merge conflict best practices","Merge conflict tools"]},i=void 0,l={unversionedId:"contributing/technical/resolve-merge-conflicts",id:"contributing/technical/resolve-merge-conflicts",title:"Resolve Merge Conflicts",description:"When you are working on any of the OpenSauced repositories, you might run into a merge conflict. A merge conflict occurs when multiple conflicting changes are made to the same line in a file. Merge conflicts happen the most when you open a pull request, as the release process generally updates npm-shrinkwrap.json.",source:"@site/docs/contributing/technical/resolve-merge-conflicts.md",sourceDirName:"contributing/technical",slug:"/contributing/technical/resolve-merge-conflicts",permalink:"/contributing/technical/resolve-merge-conflicts",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/technical/resolve-merge-conflicts.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"resolve-merge-conflicts",title:"Resolve Merge Conflicts",sidebar_label:"Resolve Merge Conflicts",keywords:["resolve merge conflicts","solve merge conflicts","Git merge conflict","Merge conflict resolution","Merge conflict prevention","Merge conflict handling","Merge conflict management","Merge conflict avoidance","Merge conflict workflow","Merge conflict strategies","Merge conflict best practices","Merge conflict tools"]},sidebar:"docs",previous:{title:"Setting Up a Repository with Git and GitHub",permalink:"/contributing/technical/setup-repo-with-git"},next:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"}},c={},s=[{value:"How to Keep Your Branch Updated",id:"how-to-keep-your-branch-updated",level:2},{value:"Using GitHub",id:"using-github",level:3},{value:"Using Git",id:"using-git",level:3},{value:"How to Check for Merge Conflicts Locally",id:"how-to-check-for-merge-conflicts-locally",level:2},{value:"How to Resolve Merge Conflicts",id:"how-to-resolve-merge-conflicts",level:2},{value:"Reviewing Your Pull Request",id:"reviewing-your-pull-request",level:2},{value:"Dependency Updates",id:"dependency-updates",level:2}],p={toc:s},u="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(u,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"When you are working on any of the OpenSauced repositories, you might run into a merge conflict. A merge conflict occurs when multiple conflicting changes are made to the same line in a file. Merge conflicts happen the most when you open a pull request, as the release process generally updates ",(0,r.kt)("inlineCode",{parentName:"p"},"npm-shrinkwrap.json"),"."),(0,r.kt)("p",null,"In this guide, we will talk about how to resolve merge conflicts and how to keep your branch up to date."),(0,r.kt)("h2",{id:"how-to-keep-your-branch-updated"},"How to Keep Your Branch Updated"),(0,r.kt)("p",null,"It is common for your branch to fall behind the main repository's branch. So it is important to keep it up to date as you are contributing."),(0,r.kt)("h3",{id:"using-github"},"Using GitHub"),(0,r.kt)("p",null,"To update your branch on GitHub, you can go to your forked copy of the project and click on ",(0,r.kt)("inlineCode",{parentName:"p"},"Sync fork")," and then the ",(0,r.kt)("inlineCode",{parentName:"p"},"Update branch")," button."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"syncing your branch on GitHub",src:n(7471).Z,width:"2056",height:"1090"})),(0,r.kt)("h3",{id:"using-git"},"Using Git"),(0,r.kt)("p",null,"To update your branch using Git and the terminal, you can use the following commands:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Change directories to the correct project.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"cd project-name\n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Add the ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream")," remote.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git remote add upstream https://github.com/upstream-username/upstream-repository.git\n")),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"Pull the latest changes from the ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream"),".")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git pull upstream main-branch-name\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note"),": Some of the OpenSauced repositories will use ",(0,r.kt)("inlineCode",{parentName:"p"},"main")," for the main branch while others like the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"app repository"),", will use ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," for the main branch name."),(0,r.kt)("h2",{id:"how-to-check-for-merge-conflicts-locally"},"How to Check for Merge Conflicts Locally"),(0,r.kt)("p",null,"If you are actively working on a change to an OpenSauced repository, you can check for potential merge conflicts by running a few commands in the terminal."),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Make sure you are on the correct branch where the changes are being made.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"cd app\ngit checkout \n")),(0,r.kt)("ol",{start:2},(0,r.kt)("li",{parentName:"ol"},"Fetch the latest changes from the OpenSauced main repository.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git fetch upstream\n")),(0,r.kt)("ol",{start:3},(0,r.kt)("li",{parentName:"ol"},"See the differences between your branch and the OpenSauced main branch.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"git diff upstream/main\n")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Note"),": Some of the OpenSauced repositories will use ",(0,r.kt)("inlineCode",{parentName:"p"},"main")," for the main branch while others, like the ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"app repository"),", will use ",(0,r.kt)("inlineCode",{parentName:"p"},"beta")," for the main branch name."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"git diff output review conflicts",src:n(3032).Z,width:"1236",height:"766"})),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"NOTE"),": If you have already opened up a pull request, then you can see if there is a conflict at the bottom of the PR. Even though it is possible to resolve conflicts through GitHub, it is best practice to resolve them locally."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"merge conflicts git message",src:n(340).Z,width:"1690",height:"1144"})),(0,r.kt)("h2",{id:"how-to-resolve-merge-conflicts"},"How to Resolve Merge Conflicts"),(0,r.kt)("p",null,"If you have merge conflicts, it is best to use a text editor to resolve them. Identify the conflicting files and open them up in your editor of choice. For the conflicting sections, you have an option to either keep the incoming changes, keep your changes or keep both sets of changes. The conflicting sections will be marked with ",(0,r.kt)("inlineCode",{parentName:"p"},"<<<<<<<"),", ",(0,r.kt)("inlineCode",{parentName:"p"},"======="),", and ",(0,r.kt)("inlineCode",{parentName:"p"},">>>>>>>")," symbols."),(0,r.kt)("p",null,"Here is a ",(0,r.kt)("a",{parentName:"p",href:"https://dev.to/opensauced/keeping-your-branch-up-to-date-and-handling-merge-conflicts-while-waiting-for-pr-reviews-3b3h"},"guide")," for an in depth walkthrough of the process. Once you have resolved all of the conflicts, then you can stage, commit and push your changes to your branch."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},'git status\ngit add .\ngit commit -m "fix: resolving merge conflicts"\ngit push\n')),(0,r.kt)("h2",{id:"reviewing-your-pull-request"},"Reviewing Your Pull Request"),(0,r.kt)("p",null,"Once you have pushed up your changes, you can review them in your pull request. Under the files changed tab, you will see all of the recent changes including all conflicts resolved."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"files changed tab on GitHub",src:n(4912).Z,width:"1794",height:"942"})),(0,r.kt)("h2",{id:"dependency-updates"},"Dependency Updates"),(0,r.kt)("p",null,"When dealing with dependency and lock file updates, there are multiple use cases to consider; however, as a baseline, the OpenSauced triage team will not prioritize parallel main features as seen in the roadmap."),(0,r.kt)("p",null,"However when that happens, it is advised to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"fast-forward ",(0,r.kt)("inlineCode",{parentName:"li"},"npm-shrinkwrap.json")),(0,r.kt)("li",{parentName:"ul"},"fast-forward deleted and modified ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream/beta")," changes to ",(0,r.kt)("inlineCode",{parentName:"li"},"package.json")),(0,r.kt)("li",{parentName:"ul"},"fast-forward your added lines to ",(0,r.kt)("inlineCode",{parentName:"li"},"package.json")),(0,r.kt)("li",{parentName:"ul"},"run ",(0,r.kt)("inlineCode",{parentName:"li"},"npm ci")," to delete local modules and create dependency resolution from ",(0,r.kt)("inlineCode",{parentName:"li"},"upstream/beta"))),(0,r.kt)("p",null,"Visual diffing is advised; however, not following the git commit history procedure will result in a rogue pull request that creeps into dependency updates."),(0,r.kt)("p",null,"Generally speaking, just adding things to a lock file will not be troublesome, and since this is a licensed project, we should be careful when adding dependencies."))}d.isMDXComponent=!0},340:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/contributing-resolve-merge-conflicts-dont-do-9703e3dffc76ef8c046f2fd7b506676f.png"},3032:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/contributing-resolve-merge-conflicts-review-conflicts-5df5a5e4934e39d9e07bcd96e53d7c3f.png"},4912:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/files-changed-tab-867f60b1281f09ba23cea7234e7703b5.png"},7471:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n.p+"assets/images/sync-branch-GH-36c4d46d1782388d799fee76fe10398b.png"}}]); \ No newline at end of file diff --git a/assets/js/5c57b204.19227d1d.js b/assets/js/5c57b204.a749f47d.js similarity index 98% rename from assets/js/5c57b204.19227d1d.js rename to assets/js/5c57b204.a749f47d.js index ba159a09..8761f155 100644 --- a/assets/js/5c57b204.19227d1d.js +++ b/assets/js/5c57b204.a749f47d.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4782],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>f});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function c(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function a(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=r.createContext({}),i=function(e){var t=r.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},u=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,c=e.originalType,s=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),d=i(o),h=n,f=d["".concat(s,".").concat(h)]||d[h]||l[h]||c;return o?r.createElement(f,a(a({ref:t},u),{},{components:o})):r.createElement(f,a({ref:t},u))}));function f(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=o.length,a=new Array(c);a[0]=h;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p[d]="string"==typeof e?e:n,a[1]=p;for(var i=2;i{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>l,frontMatter:()=>c,metadata:()=>p,toc:()=>i});var r=o(7462),n=(o(7294),o(3905));const c={id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project","Open Source Projects","Trending OpenSauced Projects","Featured Open Source Repositories","Active GitHub Projects","Noteworthy Open Source Initiatives","Popular GitHub Repositories"]},a=void 0,p={unversionedId:"tools/hot-opensauced",id:"tools/hot-opensauced",title:"Hot OpenSauced Project",description:"Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.",source:"@site/docs/tools/hot-opensauced.md",sourceDirName:"tools",slug:"/tools/hot-opensauced",permalink:"/tools/hot-opensauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/hot-opensauced.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project","Open Source Projects","Trending OpenSauced Projects","Featured Open Source Repositories","Active GitHub Projects","Noteworthy Open Source Initiatives","Popular GitHub Repositories"]},sidebar:"docs",previous:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"},next:{title:"Pizza CLI",permalink:"/tools/pizza-cli"}},s={},i=[{value:"How to Find Hot Open Source Projects to Contribute to?",id:"how-to-find-hot-open-source-projects-to-contribute-to",level:2},{value:"How to Vote for Your Favorite Open Source Projects?",id:"how-to-vote-for-your-favorite-open-source-projects",level:2}],u={toc:i},d="wrapper";function l(e){let{components:t,...c}=e;return(0,n.kt)(d,(0,r.Z)({},u,c,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects."),(0,n.kt)("h2",{id:"how-to-find-hot-open-source-projects-to-contribute-to"},"How to Find Hot Open Source Projects to Contribute to?"),(0,n.kt)("p",null,"When you visit the ",(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," site, you will see a list of open source projects that are currently trending on GitHub. You can sign in with your GitHub account and search for the most upvoted, recent, and popular projects."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced upvoted repos",src:o(1260).Z,width:"2734",height:"1450"})),(0,n.kt)("h2",{id:"how-to-vote-for-your-favorite-open-source-projects"},"How to Vote for Your Favorite Open Source Projects?"),(0,n.kt)("p",null,"You can vote for your favorite open source project by clicking on the upvote button. You can view all of your upvoted projects under the My Votes tab."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced popular repos",src:o(3167).Z,width:"2704",height:"1456"})))}l.isMDXComponent=!0},3167:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/popular-repos-hot-opensauced-05f55b2302e73e41e51817408de73de9.png"},1260:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/upvoted-repos-hot-opensauced-7b2cb4c0ada4836c56ad7b8e0484f907.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4782],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>f});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function c(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function a(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=r.createContext({}),i=function(e){var t=r.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},u=function(e){var t=i(e.components);return r.createElement(s.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,c=e.originalType,s=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),d=i(o),h=n,f=d["".concat(s,".").concat(h)]||d[h]||l[h]||c;return o?r.createElement(f,a(a({ref:t},u),{},{components:o})):r.createElement(f,a({ref:t},u))}));function f(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var c=o.length,a=new Array(c);a[0]=h;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p[d]="string"==typeof e?e:n,a[1]=p;for(var i=2;i{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>l,frontMatter:()=>c,metadata:()=>p,toc:()=>i});var r=o(7462),n=(o(7294),o(3905));const c={id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project","Open Source Projects","Trending OpenSauced Projects","Featured Open Source Repositories","Active GitHub Projects","Noteworthy Open Source Initiatives","Popular GitHub Repositories"]},a=void 0,p={unversionedId:"tools/hot-opensauced",id:"tools/hot-opensauced",title:"Hot OpenSauced Project",description:"Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.",source:"@site/docs/tools/hot-opensauced.md",sourceDirName:"tools",slug:"/tools/hot-opensauced",permalink:"/tools/hot-opensauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/hot-opensauced.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"hot-opensauced",title:"Hot OpenSauced Project",sidebar_label:"Hot OpenSauced Project",keywords:["hot opensauced project","Open Source Projects","Trending OpenSauced Projects","Featured Open Source Repositories","Active GitHub Projects","Noteworthy Open Source Initiatives","Popular GitHub Repositories"]},sidebar:"docs",previous:{title:"#100DaysOfOSS",permalink:"/community/100-days-of-oss"},next:{title:"Pizza CLI",permalink:"/tools/pizza-cli"}},s={},i=[{value:"How to Find Hot Open Source Projects to Contribute to?",id:"how-to-find-hot-open-source-projects-to-contribute-to",level:2},{value:"How to Vote for Your Favorite Open Source Projects?",id:"how-to-vote-for-your-favorite-open-source-projects",level:2}],u={toc:i},d="wrapper";function l(e){let{components:t,...c}=e;return(0,n.kt)(d,(0,r.Z)({},u,c,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects."),(0,n.kt)("h2",{id:"how-to-find-hot-open-source-projects-to-contribute-to"},"How to Find Hot Open Source Projects to Contribute to?"),(0,n.kt)("p",null,"When you visit the ",(0,n.kt)("a",{parentName:"p",href:"https://hot.opensauced.pizza/"},"Hot OpenSauced")," site, you will see a list of open source projects that are currently trending on GitHub. You can sign in with your GitHub account and search for the most upvoted, recent, and popular projects."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced upvoted repos",src:o(1260).Z,width:"2734",height:"1450"})),(0,n.kt)("h2",{id:"how-to-vote-for-your-favorite-open-source-projects"},"How to Vote for Your Favorite Open Source Projects?"),(0,n.kt)("p",null,"You can vote for your favorite open source project by clicking on the upvote button. You can view all of your upvoted projects under the My Votes tab."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"hot opensauced popular repos",src:o(3167).Z,width:"2704",height:"1456"})))}l.isMDXComponent=!0},3167:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/popular-repos-hot-opensauced-05f55b2302e73e41e51817408de73de9.png"},1260:(e,t,o)=>{o.d(t,{Z:()=>r});const r=o.p+"assets/images/upvoted-repos-hot-opensauced-7b2cb4c0ada4836c56ad7b8e0484f907.png"}}]); \ No newline at end of file diff --git a/assets/js/6308756d.c8db448c.js b/assets/js/6308756d.67362877.js similarity index 99% rename from assets/js/6308756d.c8db448c.js rename to assets/js/6308756d.67362877.js index a5e53186..a8354d50 100644 --- a/assets/js/6308756d.c8db448c.js +++ b/assets/js/6308756d.67362877.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1461],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=o.createContext({}),u=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=u(e.components);return o.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=u(n),m=i,h=c["".concat(s,".").concat(m)]||c[m]||d[m]||r;return n?o.createElement(h,a(a({ref:t},p),{},{components:n})):o.createElement(h,a({ref:t},p))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:i,a[1]=l;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var o=n(7462),i=(n(7294),n(3905));const r={id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing","Getting started with contributions","New contributor guide","How to contribute effectively","Contribution essentials","Open source contribution guide","Making your first contribution","Beginner-friendly contributions","Contributing to open source projects","Starting your contribution journey","First time contributor tips"]},a=void 0,l={unversionedId:"contributing/introduction-to-contributing",id:"contributing/introduction-to-contributing",title:"Introduction to Contributing",description:"Contributions are always welcome, no matter how large or small. Before contributing,",source:"@site/docs/contributing/introduction-to-contributing.md",sourceDirName:"contributing",slug:"/contributing/introduction-to-contributing",permalink:"/contributing/introduction-to-contributing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/introduction-to-contributing.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing","Getting started with contributions","New contributor guide","How to contribute effectively","Contribution essentials","Open source contribution guide","Making your first contribution","Beginner-friendly contributions","Contributing to open source projects","Starting your contribution journey","First time contributor tips"]},sidebar:"docs",previous:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"},next:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"}},s={},u=[{value:"Recommended Communication Style",id:"recommended-communication-style",level:2},{value:"Issues",id:"issues",level:2},{value:"Commits",id:"commits",level:2},{value:"Pull Requests (PR)",id:"pull-requests-pr",level:2},{value:"PR Validation",id:"pr-validation",level:3},{value:"Work in Progress",id:"work-in-progress",level:3},{value:"Additional Resources",id:"additional-resources",level:3},{value:"Getting Started",id:"getting-started",level:2},{value:"Setting Up Projects Locally",id:"setting-up-projects-locally",level:3},{value:"Additional Information",id:"additional-information",level:4},{value:"Building",id:"building",level:3},{value:"Testing",id:"testing",level:3},{value:"Applying Lint Styleguide",id:"applying-lint-styleguide",level:3},{value:"Coding Tips",id:"coding-tips",level:3},{value:"Community",id:"community",level:2},{value:"Triage Team",id:"triage-team",level:2},{value:"Funding",id:"funding",level:2},{value:"License",id:"license",level:2}],p={toc:u},c="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(c,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Contributions are always welcome, no matter how large or small. Before contributing,\nplease read the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"Code of Conduct")," and follow the directions below:"),(0,i.kt)("h2",{id:"recommended-communication-style"},"Recommended Communication Style"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Always leave screenshots for visual changes."),(0,i.kt)("li",{parentName:"ol"},"Always leave a detailed description in the pull request. Leave nothing ambiguous for the reviewer."),(0,i.kt)("li",{parentName:"ol"},"Always review your code first. Run the project locally and test it before requesting a review."),(0,i.kt)("li",{parentName:"ol"},"Always communicate in the GitHub repository. Whether in the issue or the pull request, keeping the lines of communication open and visible to everyone on the team helps everyone around you.")),(0,i.kt)("h2",{id:"issues"},"Issues"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If you wish to work on an open issue, please comment on the issue with ",(0,i.kt)("inlineCode",{parentName:"p"},".take"),", and it will be assigned to you."),(0,i.kt)("admonition",{parentName:"li",type:"info"},(0,i.kt)("p",{parentName:"admonition"},"If an issue is not assigned, it is assumed to be available for anyone to work on. Please assign yourself to an issue ",(0,i.kt)("em",{parentName:"p"},"before")," working on it to avoid conflicts."))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Issues with the ",(0,i.kt)("inlineCode",{parentName:"p"},"needs triage")," label are unavailable to ",(0,i.kt)("inlineCode",{parentName:"p"},".take")," until they are triaged and the label is removed. Feel free to check on the issue regularly if you want to work on it.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If you contribute to the project for the first time, you can search for issues with ",(0,i.kt)("inlineCode",{parentName:"p"},"good first issue")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"bug")," labels in the repository."),(0,i.kt)("admonition",{parentName:"li",type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Please only self-assign a ",(0,i.kt)("inlineCode",{parentName:"p"},"good first issue")," one time.")))),(0,i.kt)("p",null,"In case you get stuck, feel free to ask for help in the ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord")," server or ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),"."),(0,i.kt)("p",null,"Please follow our ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"Code of Conduct")," in all your interactions with the project and its contributors."),(0,i.kt)("h2",{id:"commits"},"Commits"),(0,i.kt)("p",null,"When contributing to OpenSauced projects, use this command to follow our conventional commits:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run push\n")),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm run push")," command is an interactive replacement for ",(0,i.kt)("inlineCode",{parentName:"p"},"git commit"),". It enforces the conventional commit specification for writing commit messages, making it easier for developers and maintainers to understand the changes made in a particular commit."),(0,i.kt)("p",null,"After running this command, you can push your changes to the remote repo."),(0,i.kt)("p",null,"See ",(0,i.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"Conventional Commits")," for more examples."),(0,i.kt)("h2",{id:"pull-requests-pr"},"Pull Requests (PR)"),(0,i.kt)("hr",null),(0,i.kt)("p",null,"We actively welcome your pull requests. However, you must ensure that ",(0,i.kt)("strong",{parentName:"p"},"you are assigned")," to an existing issue before working on changes, and you need to ",(0,i.kt)("strong",{parentName:"p"},"link your work to the issue")," in your PR form."),(0,i.kt)("hr",null),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Fork the repo and create your branch from the default branch.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Name your branch to something descriptive of your work, i.e., ",(0,i.kt)("inlineCode",{parentName:"p"},"add-navbar")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"fix/broken-links"),".")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've added code that should be tested, add tests.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've changed APIs, update the documentation.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you make visual changes, screenshots are required.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Ensure the test suite passes.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Make sure you address any lint warnings.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you improve the existing code, please let us know in your PR description.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Completing the PR form is required. Make sure to fill in the PR title, description, ",(0,i.kt)("a",{parentName:"p",href:"https://help.github.com/en/github/writing-on-github/autolinked-references-and-urls"},"link to an issue"),", and all the necessary areas."),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},'The title must begin with "feat:", "fix:", or anything related to your changes. ',(0,i.kt)("br",null)," ",(0,i.kt)("strong",{parentName:"p"},"Tips"),": You can follow your chosen option when ",(0,i.kt)("a",{parentName:"p",href:"#commits"},"committing")," your changes.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Unsolicited code is welcomed, but an issue is required to announce your intentions."))))),(0,i.kt)("p",null,"\u26a0\ufe0f ",(0,i.kt)("strong",{parentName:"p"},"PRs will be marked as invalid and may be closed if:")," "),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"the issue is not assigned to the contributor who opened the PR "),(0,i.kt)("li",{parentName:"ul"},"no issue is linked to the PR ")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("strong",{parentName:"p"},"IMPORTANT:")," ",(0,i.kt)("br",null),"\nPlease do not DM Maintainers or contact them outside of GitHub if you want a PR Review. If you haven't received a review within a week, please tag them in the PR comments to ask for an estimated time of review.")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note for maintainers"),": All PRs need a label to assist automation. See ",(0,i.kt)("a",{parentName:"em",href:"/contributing/triage-guide#adding-issue-and-pr-labels"},"this guide")," to determine which labels to use."))),(0,i.kt)("h3",{id:"pr-validation"},"PR Validation"),(0,i.kt)("p",null,"Examples of valid PR titles:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"fix: Correct typo."),(0,i.kt)("li",{parentName:"ul"},"feat: Add support for Node 12."),(0,i.kt)("li",{parentName:"ul"},"refactor!: Drop support for Node 6.")),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note"),": For any breaking changes, you have to use the ",(0,i.kt)("inlineCode",{parentName:"em"},"!")," syntax.")),(0,i.kt)("h3",{id:"work-in-progress"},"Work in Progress"),(0,i.kt)("p",null,"GitHub supports ",(0,i.kt)("a",{parentName:"p",href:"https://github.blog/2019-02-14-introducing-draft-pull-requests/"},"draft pull requests"),", which will disable the merge button until the PR is marked as ready for merge."),(0,i.kt)("h3",{id:"additional-resources"},"Additional Resources"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("em",{parentName:"li"},(0,i.kt)("a",{parentName:"em",href:"https://youtu.be/cuMeC-eZJJ4"},"3 tips for getting your Pull Request reviewed on GitHub")))),(0,i.kt)("h2",{id:"getting-started"},"Getting Started"),(0,i.kt)("h3",{id:"setting-up-projects-locally"},"Setting Up Projects Locally"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"Fork")," the repository you're working on from ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"github/open-sauced")," to your own GitHub account."),(0,i.kt)("li",{parentName:"ol"},"Clone the forked repository to your local machine."),(0,i.kt)("li",{parentName:"ol"},"Check the project's README to determine how to run the project locally.")),(0,i.kt)("h4",{id:"additional-information"},"Additional Information"),(0,i.kt)("p",null,"For many of our repositories, you'll run ",(0,i.kt)("inlineCode",{parentName:"p"},"npm ci")," to install the dependencies and set up the project locally."),(0,i.kt)("p",null,"From the ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v10/commands/npm-ci#description"},"npm official docs"),":"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm ci")," is a command that installs a project with a clean slate, skipping certain user-oriented features and being more strict than ",(0,i.kt)("inlineCode",{parentName:"p"},"npm install"),".")),(0,i.kt)("p",null,"You can also use the shell commands below to get started once you have forked the repository:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com//.git\ncd \nnpm ci\n")),(0,i.kt)("p",null,"Make sure to replace ",(0,i.kt)("inlineCode",{parentName:"p"},"")," with your GitHub username."),(0,i.kt)("h3",{id:"building"},"Building"),(0,i.kt)("p",null,"To generate a production-ready version of your code, run:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run build\n")),(0,i.kt)("h3",{id:"testing"},"Testing"),(0,i.kt)("p",null,"For running the test suite, use the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# the tests will run in watch mode by default\nnpm test\n")),(0,i.kt)("p",null,"Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to ",(0,i.kt)("a",{parentName:"p",href:"https://facebook.github.io/watchman/docs/install.html"},"install Watchman"),"."),(0,i.kt)("p",null,"Check out this course, ",(0,i.kt)("a",{parentName:"p",href:"https://testingjavascript.com/"},"Testing JavaScript"),", for more info on testing React and JavaScript."),(0,i.kt)("h3",{id:"applying-lint-styleguide"},"Applying Lint Styleguide"),(0,i.kt)("p",null,"To check the code for formatting and linting errors, run the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run lint\n")),(0,i.kt)("p",null,"These errors will also be displayed during development but won't prevent the code from compiling."),(0,i.kt)("p",null,"To fix the formatting and linting errors, run the following command instead:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run format\n")),(0,i.kt)("p",null,"These commands use ",(0,i.kt)("a",{parentName:"p",href:"https://eslint.org/"},"ESLint")," to check and fix the code."),(0,i.kt)("p",null,"If you forget to run this command, automated PR checks will also run these commands, but the PR will be blocked if there are any errors."),(0,i.kt)("h3",{id:"coding-tips"},"Coding Tips"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Ask questions if you are stuck."),(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"},"CSS variables.")),(0,i.kt)("li",{parentName:"ul"},"Always use ",(0,i.kt)("a",{parentName:"li",href:"https://web.dev/external-anchors-use-rel-noopener/"},'rel="noreferrer" on all target="',"_",'blank" links'),".")),(0,i.kt)("h2",{id:"community"},"Community"),(0,i.kt)("p",null,"Do you have questions? Join the conversation in our ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"triage-team"},"Triage Team"),(0,i.kt)("p",null,"The Triage team is inspired by ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/expressjs/express/blob/HEAD/Triager-Guide.md"},"expressjs/express"),". This team exists to create a path for making contributions to this project and open source. All Triage Team members are expected to follow the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/triage-guide"},"Triage Guide"),"."),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("strong",{parentName:"p"},"There are no minimum requirements to become a member of the Triage Team."))),(0,i.kt)("p",null,"For those interested in getting involved in the project or just open source in general and wanting to join the Triage Team, please leave a comment in the ",(0,i.kt)("inlineCode",{parentName:"p"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"funding"},"Funding"),(0,i.kt)("p",null,"OpenSauced is a part of GitHub Sponsors. If you would like to contribute, please note the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/sponsors/open-sauced"},"sponsor page")," for details on how funds are distributed. If you have made any contributions to the project directly or indirectly, please consider adding your profile to the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/.github/blob/main/FUNDING.yml"},(0,i.kt)("inlineCode",{parentName:"a"},"FUNDING.yml"))," file."),(0,i.kt)("h2",{id:"license"},"License"),(0,i.kt)("p",null,"By contributing to the OpenSauced project, you agree that your contributions will be licensed\nby a specific License. You can find this information in the ",(0,i.kt)("inlineCode",{parentName:"p"},"LICENSE")," file of the repo you are contributing to."))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[1461],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=o.createContext({}),u=function(e){var t=o.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=u(e.components);return o.createElement(s.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=u(n),m=i,h=c["".concat(s,".").concat(m)]||c[m]||d[m]||r;return n?o.createElement(h,a(a({ref:t},p),{},{components:n})):o.createElement(h,a({ref:t},p))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:i,a[1]=l;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var o=n(7462),i=(n(7294),n(3905));const r={id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing","Getting started with contributions","New contributor guide","How to contribute effectively","Contribution essentials","Open source contribution guide","Making your first contribution","Beginner-friendly contributions","Contributing to open source projects","Starting your contribution journey","First time contributor tips"]},a=void 0,l={unversionedId:"contributing/introduction-to-contributing",id:"contributing/introduction-to-contributing",title:"Introduction to Contributing",description:"Contributions are always welcome, no matter how large or small. Before contributing,",source:"@site/docs/contributing/introduction-to-contributing.md",sourceDirName:"contributing",slug:"/contributing/introduction-to-contributing",permalink:"/contributing/introduction-to-contributing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/introduction-to-contributing.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"introduction-to-contributing",title:"Introduction to Contributing",sidebar_label:"Introduction to Contributing",keywords:["introduction to contributing","Getting started with contributions","New contributor guide","How to contribute effectively","Contribution essentials","Open source contribution guide","Making your first contribution","Beginner-friendly contributions","Contributing to open source projects","Starting your contribution journey","First time contributor tips"]},sidebar:"docs",previous:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"},next:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"}},s={},u=[{value:"Recommended Communication Style",id:"recommended-communication-style",level:2},{value:"Issues",id:"issues",level:2},{value:"Commits",id:"commits",level:2},{value:"Pull Requests (PR)",id:"pull-requests-pr",level:2},{value:"PR Validation",id:"pr-validation",level:3},{value:"Work in Progress",id:"work-in-progress",level:3},{value:"Additional Resources",id:"additional-resources",level:3},{value:"Getting Started",id:"getting-started",level:2},{value:"Setting Up Projects Locally",id:"setting-up-projects-locally",level:3},{value:"Additional Information",id:"additional-information",level:4},{value:"Building",id:"building",level:3},{value:"Testing",id:"testing",level:3},{value:"Applying Lint Styleguide",id:"applying-lint-styleguide",level:3},{value:"Coding Tips",id:"coding-tips",level:3},{value:"Community",id:"community",level:2},{value:"Triage Team",id:"triage-team",level:2},{value:"Funding",id:"funding",level:2},{value:"License",id:"license",level:2}],p={toc:u},c="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(c,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"Contributions are always welcome, no matter how large or small. Before contributing,\nplease read the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"Code of Conduct")," and follow the directions below:"),(0,i.kt)("h2",{id:"recommended-communication-style"},"Recommended Communication Style"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},"Always leave screenshots for visual changes."),(0,i.kt)("li",{parentName:"ol"},"Always leave a detailed description in the pull request. Leave nothing ambiguous for the reviewer."),(0,i.kt)("li",{parentName:"ol"},"Always review your code first. Run the project locally and test it before requesting a review."),(0,i.kt)("li",{parentName:"ol"},"Always communicate in the GitHub repository. Whether in the issue or the pull request, keeping the lines of communication open and visible to everyone on the team helps everyone around you.")),(0,i.kt)("h2",{id:"issues"},"Issues"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If you wish to work on an open issue, please comment on the issue with ",(0,i.kt)("inlineCode",{parentName:"p"},".take"),", and it will be assigned to you."),(0,i.kt)("admonition",{parentName:"li",type:"info"},(0,i.kt)("p",{parentName:"admonition"},"If an issue is not assigned, it is assumed to be available for anyone to work on. Please assign yourself to an issue ",(0,i.kt)("em",{parentName:"p"},"before")," working on it to avoid conflicts."))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Issues with the ",(0,i.kt)("inlineCode",{parentName:"p"},"needs triage")," label are unavailable to ",(0,i.kt)("inlineCode",{parentName:"p"},".take")," until they are triaged and the label is removed. Feel free to check on the issue regularly if you want to work on it.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If you contribute to the project for the first time, you can search for issues with ",(0,i.kt)("inlineCode",{parentName:"p"},"good first issue")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"bug")," labels in the repository."),(0,i.kt)("admonition",{parentName:"li",type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Please only self-assign a ",(0,i.kt)("inlineCode",{parentName:"p"},"good first issue")," one time.")))),(0,i.kt)("p",null,"In case you get stuck, feel free to ask for help in the ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord")," server or ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/discussions"},"GitHub Discussions"),"."),(0,i.kt)("p",null,"Please follow our ",(0,i.kt)("a",{parentName:"p",href:"/contributing/code-of-conduct"},"Code of Conduct")," in all your interactions with the project and its contributors."),(0,i.kt)("h2",{id:"commits"},"Commits"),(0,i.kt)("p",null,"When contributing to OpenSauced projects, use this command to follow our conventional commits:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run push\n")),(0,i.kt)("p",null,"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm run push")," command is an interactive replacement for ",(0,i.kt)("inlineCode",{parentName:"p"},"git commit"),". It enforces the conventional commit specification for writing commit messages, making it easier for developers and maintainers to understand the changes made in a particular commit."),(0,i.kt)("p",null,"After running this command, you can push your changes to the remote repo."),(0,i.kt)("p",null,"See ",(0,i.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"Conventional Commits")," for more examples."),(0,i.kt)("h2",{id:"pull-requests-pr"},"Pull Requests (PR)"),(0,i.kt)("hr",null),(0,i.kt)("p",null,"We actively welcome your pull requests. However, you must ensure that ",(0,i.kt)("strong",{parentName:"p"},"you are assigned")," to an existing issue before working on changes, and you need to ",(0,i.kt)("strong",{parentName:"p"},"link your work to the issue")," in your PR form."),(0,i.kt)("hr",null),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Fork the repo and create your branch from the default branch.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Name your branch to something descriptive of your work, i.e., ",(0,i.kt)("inlineCode",{parentName:"p"},"add-navbar")," or ",(0,i.kt)("inlineCode",{parentName:"p"},"fix/broken-links"),".")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've added code that should be tested, add tests.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you've changed APIs, update the documentation.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you make visual changes, screenshots are required.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Ensure the test suite passes.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Make sure you address any lint warnings.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"If you improve the existing code, please let us know in your PR description.")),(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("p",{parentName:"li"},"Completing the PR form is required. Make sure to fill in the PR title, description, ",(0,i.kt)("a",{parentName:"p",href:"https://help.github.com/en/github/writing-on-github/autolinked-references-and-urls"},"link to an issue"),", and all the necessary areas."),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},'The title must begin with "feat:", "fix:", or anything related to your changes. ',(0,i.kt)("br",null)," ",(0,i.kt)("strong",{parentName:"p"},"Tips"),": You can follow your chosen option when ",(0,i.kt)("a",{parentName:"p",href:"#commits"},"committing")," your changes.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Unsolicited code is welcomed, but an issue is required to announce your intentions."))))),(0,i.kt)("p",null,"\u26a0\ufe0f ",(0,i.kt)("strong",{parentName:"p"},"PRs will be marked as invalid and may be closed if:")," "),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"the issue is not assigned to the contributor who opened the PR "),(0,i.kt)("li",{parentName:"ul"},"no issue is linked to the PR ")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("strong",{parentName:"p"},"IMPORTANT:")," ",(0,i.kt)("br",null),"\nPlease do not DM Maintainers or contact them outside of GitHub if you want a PR Review. If you haven't received a review within a week, please tag them in the PR comments to ask for an estimated time of review.")),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note for maintainers"),": All PRs need a label to assist automation. See ",(0,i.kt)("a",{parentName:"em",href:"/contributing/triage-guide#adding-issue-and-pr-labels"},"this guide")," to determine which labels to use."))),(0,i.kt)("h3",{id:"pr-validation"},"PR Validation"),(0,i.kt)("p",null,"Examples of valid PR titles:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"fix: Correct typo."),(0,i.kt)("li",{parentName:"ul"},"feat: Add support for Node 12."),(0,i.kt)("li",{parentName:"ul"},"refactor!: Drop support for Node 6.")),(0,i.kt)("p",null,(0,i.kt)("em",{parentName:"p"},(0,i.kt)("strong",{parentName:"em"},"Note"),": For any breaking changes, you have to use the ",(0,i.kt)("inlineCode",{parentName:"em"},"!")," syntax.")),(0,i.kt)("h3",{id:"work-in-progress"},"Work in Progress"),(0,i.kt)("p",null,"GitHub supports ",(0,i.kt)("a",{parentName:"p",href:"https://github.blog/2019-02-14-introducing-draft-pull-requests/"},"draft pull requests"),", which will disable the merge button until the PR is marked as ready for merge."),(0,i.kt)("h3",{id:"additional-resources"},"Additional Resources"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("em",{parentName:"li"},(0,i.kt)("a",{parentName:"em",href:"https://youtu.be/cuMeC-eZJJ4"},"3 tips for getting your Pull Request reviewed on GitHub")))),(0,i.kt)("h2",{id:"getting-started"},"Getting Started"),(0,i.kt)("h3",{id:"setting-up-projects-locally"},"Setting Up Projects Locally"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/quickstart/fork-a-repo"},"Fork")," the repository you're working on from ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/open-sauced"},"github/open-sauced")," to your own GitHub account."),(0,i.kt)("li",{parentName:"ol"},"Clone the forked repository to your local machine."),(0,i.kt)("li",{parentName:"ol"},"Check the project's README to determine how to run the project locally.")),(0,i.kt)("h4",{id:"additional-information"},"Additional Information"),(0,i.kt)("p",null,"For many of our repositories, you'll run ",(0,i.kt)("inlineCode",{parentName:"p"},"npm ci")," to install the dependencies and set up the project locally."),(0,i.kt)("p",null,"From the ",(0,i.kt)("a",{parentName:"p",href:"https://docs.npmjs.com/cli/v10/commands/npm-ci#description"},"npm official docs"),":"),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},"The ",(0,i.kt)("inlineCode",{parentName:"p"},"npm ci")," is a command that installs a project with a clean slate, skipping certain user-oriented features and being more strict than ",(0,i.kt)("inlineCode",{parentName:"p"},"npm install"),".")),(0,i.kt)("p",null,"You can also use the shell commands below to get started once you have forked the repository:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"git clone https://github.com//.git\ncd \nnpm ci\n")),(0,i.kt)("p",null,"Make sure to replace ",(0,i.kt)("inlineCode",{parentName:"p"},"")," with your GitHub username."),(0,i.kt)("h3",{id:"building"},"Building"),(0,i.kt)("p",null,"To generate a production-ready version of your code, run:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run build\n")),(0,i.kt)("h3",{id:"testing"},"Testing"),(0,i.kt)("p",null,"For running the test suite, use the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"# the tests will run in watch mode by default\nnpm test\n")),(0,i.kt)("p",null,"Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to ",(0,i.kt)("a",{parentName:"p",href:"https://facebook.github.io/watchman/docs/install.html"},"install Watchman"),"."),(0,i.kt)("p",null,"Check out this course, ",(0,i.kt)("a",{parentName:"p",href:"https://testingjavascript.com/"},"Testing JavaScript"),", for more info on testing React and JavaScript."),(0,i.kt)("h3",{id:"applying-lint-styleguide"},"Applying Lint Styleguide"),(0,i.kt)("p",null,"To check the code for formatting and linting errors, run the following command:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run lint\n")),(0,i.kt)("p",null,"These errors will also be displayed during development but won't prevent the code from compiling."),(0,i.kt)("p",null,"To fix the formatting and linting errors, run the following command instead:"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell"},"npm run format\n")),(0,i.kt)("p",null,"These commands use ",(0,i.kt)("a",{parentName:"p",href:"https://eslint.org/"},"ESLint")," to check and fix the code."),(0,i.kt)("p",null,"If you forget to run this command, automated PR checks will also run these commands, but the PR will be blocked if there are any errors."),(0,i.kt)("h3",{id:"coding-tips"},"Coding Tips"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Ask questions if you are stuck."),(0,i.kt)("li",{parentName:"ul"},"Use ",(0,i.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"},"CSS variables.")),(0,i.kt)("li",{parentName:"ul"},"Always use ",(0,i.kt)("a",{parentName:"li",href:"https://web.dev/external-anchors-use-rel-noopener/"},'rel="noreferrer" on all target="',"_",'blank" links'),".")),(0,i.kt)("h2",{id:"community"},"Community"),(0,i.kt)("p",null,"Do you have questions? Join the conversation in our ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"triage-team"},"Triage Team"),(0,i.kt)("p",null,"The Triage team is inspired by ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/expressjs/express/blob/HEAD/Triager-Guide.md"},"expressjs/express"),". This team exists to create a path for making contributions to this project and open source. All Triage Team members are expected to follow the ",(0,i.kt)("a",{parentName:"p",href:"/contributing/triage-guide"},"Triage Guide"),"."),(0,i.kt)("blockquote",null,(0,i.kt)("p",{parentName:"blockquote"},(0,i.kt)("strong",{parentName:"p"},"There are no minimum requirements to become a member of the Triage Team."))),(0,i.kt)("p",null,"For those interested in getting involved in the project or just open source in general and wanting to join the Triage Team, please leave a comment in the ",(0,i.kt)("inlineCode",{parentName:"p"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,i.kt)("a",{parentName:"p",href:"https://discord.gg/U2peSNf23P"},"Discord"),"."),(0,i.kt)("h2",{id:"funding"},"Funding"),(0,i.kt)("p",null,"OpenSauced is a part of GitHub Sponsors. If you would like to contribute, please note the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/sponsors/open-sauced"},"sponsor page")," for details on how funds are distributed. If you have made any contributions to the project directly or indirectly, please consider adding your profile to the ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/.github/blob/main/FUNDING.yml"},(0,i.kt)("inlineCode",{parentName:"a"},"FUNDING.yml"))," file."),(0,i.kt)("h2",{id:"license"},"License"),(0,i.kt)("p",null,"By contributing to the OpenSauced project, you agree that your contributions will be licensed\nby a specific License. You can find this information in the ",(0,i.kt)("inlineCode",{parentName:"p"},"LICENSE")," file of the repo you are contributing to."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/814ea625.9019a54b.js b/assets/js/814ea625.55042e61.js similarity index 99% rename from assets/js/814ea625.9019a54b.js rename to assets/js/814ea625.55042e61.js index 03635024..9eaa798c 100644 --- a/assets/js/814ea625.9019a54b.js +++ b/assets/js/814ea625.55042e61.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4986],{3905:(t,e,r)=>{r.d(e,{Zo:()=>l,kt:()=>d});var o=r(7294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,o)}return r}function a(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var u=o.createContext({}),c=function(t){var e=o.useContext(u),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},l=function(t){var e=c(t.components);return o.createElement(u.Provider,{value:e},t.children)},p="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},b=o.forwardRef((function(t,e){var r=t.components,n=t.mdxType,i=t.originalType,u=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),p=c(r),b=n,d=p["".concat(u,".").concat(b)]||p[b]||g[b]||i;return r?o.createElement(d,a(a({ref:e},l),{},{components:r})):o.createElement(d,a({ref:e},l))}));function d(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var i=r.length,a=new Array(i);a[0]=b;var s={};for(var u in e)hasOwnProperty.call(e,u)&&(s[u]=e[u]);s.originalType=t,s[p]="string"==typeof t?t:n,a[1]=s;for(var c=2;c{r.r(e),r.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>g,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=r(7462),n=(r(7294),r(3905));const i={id:"contributor-insights",title:"Organize and Monitor Your Contributors",sidebar_label:"Contributor Insights",keywords:["contributor insights","contributors","organize","Monitor Contributors","Organize Contributors","Contributor Contributor Insights Management"]},a=void 0,s={unversionedId:"features/contributor-insights",id:"features/contributor-insights",title:"Organize and Monitor Your Contributors",description:"The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions.",source:"@site/docs/features/contributor-insights.md",sourceDirName:"features",slug:"/features/contributor-insights",permalink:"/features/contributor-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/contributor-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"contributor-insights",title:"Organize and Monitor Your Contributors",sidebar_label:"Contributor Insights",keywords:["contributor insights","contributors","organize","Monitor Contributors","Organize Contributors","Contributor Contributor Insights Management"]},sidebar:"docs",previous:{title:"Repository Insights",permalink:"/features/repo-insights"},next:{title:"Highlights",permalink:"/features/highlights"}},u={},c=[{value:"How to Create a Contributor Insight Page",id:"how-to-create-a-contributor-insight-page",level:2}],l={toc:c},p="wrapper";function g(t){let{components:e,...i}=t;return(0,n.kt)(p,(0,o.Z)({},l,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions."),(0,n.kt)("p",null,"Monitor individual commit histories, track who is actively engaged, identify alumni or new contributors, and even compare the performance of contributors against each other. This encompasses a wide range of metrics such as code commits, created and reviewed pull requests (PRs), as well as issue creation and commenting."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Contributor Insights Page",src:r(6008).Z,width:"1440",height:"1124"})),(0,n.kt)("h2",{id:"how-to-create-a-contributor-insight-page"},"How to Create a Contributor Insight Page"),(0,n.kt)("p",null,'After logging in, navigate to "Insights" in the sidebar. Click the "+" next to it to be presented with options, and select "New Contributor Insight."'),(0,n.kt)("p",null,"There are three ways to add a list:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Explore Contributors"),": Use our explore tool to find contributors and create your list."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Sync your GitHub Team"),": Connect to your GitHub to create a Contributor Insight Page from a team in your organization."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Import your GitHub Following"),": Connect to your GitHub to create a Contributor Insight Page with all the contributors you follow.")),(0,n.kt)("p",null,"Once your Contributor Insight Page is created, you'll be able to see an overview of all the contributors in your list, a graph of their activity, and a detailed breakdown of the contributors."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"}," If you're having trouble syncing your Organization or Team, check out the \"",(0,n.kt)("a",{parentName:"p",href:"/welcome/faqs#sync-your-github-team"},"Sync Your GitHub Team"),'" section in our FAQs.')),(0,n.kt)("p",null,"By default, your Contributor Insight Page is public. If your Contributor Insight Page is private (a PRO plan feature), only those with access to your Workspace will be able to view it."))}g.isMDXComponent=!0},6008:(t,e,r)=>{r.d(e,{Z:()=>o});const o=r.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4986],{3905:(t,e,r)=>{r.d(e,{Zo:()=>l,kt:()=>d});var o=r(7294);function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,o)}return r}function a(t){for(var e=1;e=0||(n[r]=t[r]);return n}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}var u=o.createContext({}),c=function(t){var e=o.useContext(u),r=e;return t&&(r="function"==typeof t?t(e):a(a({},e),t)),r},l=function(t){var e=c(t.components);return o.createElement(u.Provider,{value:e},t.children)},p="mdxType",g={inlineCode:"code",wrapper:function(t){var e=t.children;return o.createElement(o.Fragment,{},e)}},b=o.forwardRef((function(t,e){var r=t.components,n=t.mdxType,i=t.originalType,u=t.parentName,l=s(t,["components","mdxType","originalType","parentName"]),p=c(r),b=n,d=p["".concat(u,".").concat(b)]||p[b]||g[b]||i;return r?o.createElement(d,a(a({ref:e},l),{},{components:r})):o.createElement(d,a({ref:e},l))}));function d(t,e){var r=arguments,n=e&&e.mdxType;if("string"==typeof t||n){var i=r.length,a=new Array(i);a[0]=b;var s={};for(var u in e)hasOwnProperty.call(e,u)&&(s[u]=e[u]);s.originalType=t,s[p]="string"==typeof t?t:n,a[1]=s;for(var c=2;c{r.r(e),r.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>g,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=r(7462),n=(r(7294),r(3905));const i={id:"contributor-insights",title:"Organize and Monitor Your Contributors",sidebar_label:"Contributor Insights",keywords:["contributor insights","contributors","organize","Monitor Contributors","Organize Contributors","Contributor Contributor Insights Management"]},a=void 0,s={unversionedId:"features/contributor-insights",id:"features/contributor-insights",title:"Organize and Monitor Your Contributors",description:"The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions.",source:"@site/docs/features/contributor-insights.md",sourceDirName:"features",slug:"/features/contributor-insights",permalink:"/features/contributor-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/contributor-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"contributor-insights",title:"Organize and Monitor Your Contributors",sidebar_label:"Contributor Insights",keywords:["contributor insights","contributors","organize","Monitor Contributors","Organize Contributors","Contributor Contributor Insights Management"]},sidebar:"docs",previous:{title:"Repository Insights",permalink:"/features/repo-insights"},next:{title:"Highlights",permalink:"/features/highlights"}},u={},c=[{value:"How to Create a Contributor Insight Page",id:"how-to-create-a-contributor-insight-page",level:2}],l={toc:c},p="wrapper";function g(t){let{components:e,...i}=t;return(0,n.kt)(p,(0,o.Z)({},l,i,{components:e,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions."),(0,n.kt)("p",null,"Monitor individual commit histories, track who is actively engaged, identify alumni or new contributors, and even compare the performance of contributors against each other. This encompasses a wide range of metrics such as code commits, created and reviewed pull requests (PRs), as well as issue creation and commenting."),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Contributor Insights Page",src:r(6008).Z,width:"1440",height:"1124"})),(0,n.kt)("h2",{id:"how-to-create-a-contributor-insight-page"},"How to Create a Contributor Insight Page"),(0,n.kt)("p",null,'After logging in, navigate to "Insights" in the sidebar. Click the "+" next to it to be presented with options, and select "New Contributor Insight."'),(0,n.kt)("p",null,"There are three ways to add a list:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Explore Contributors"),": Use our explore tool to find contributors and create your list."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Sync your GitHub Team"),": Connect to your GitHub to create a Contributor Insight Page from a team in your organization."),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("strong",{parentName:"li"},"Import your GitHub Following"),": Connect to your GitHub to create a Contributor Insight Page with all the contributors you follow.")),(0,n.kt)("p",null,"Once your Contributor Insight Page is created, you'll be able to see an overview of all the contributors in your list, a graph of their activity, and a detailed breakdown of the contributors."),(0,n.kt)("admonition",{type:"tip"},(0,n.kt)("p",{parentName:"admonition"}," If you're having trouble syncing your Organization or Team, check out the \"",(0,n.kt)("a",{parentName:"p",href:"/welcome/faqs#sync-your-github-team"},"Sync Your GitHub Team"),'" section in our FAQs.')),(0,n.kt)("p",null,"By default, your Contributor Insight Page is public. If your Contributor Insight Page is private (a PRO plan feature), only those with access to your Workspace will be able to view it."))}g.isMDXComponent=!0},6008:(t,e,r)=>{r.d(e,{Z:()=>o});const o=r.p+"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"}}]); \ No newline at end of file diff --git a/assets/js/88e6cb4a.97836ee1.js b/assets/js/88e6cb4a.467e19a3.js similarity index 99% rename from assets/js/88e6cb4a.97836ee1.js rename to assets/js/88e6cb4a.467e19a3.js index f92c902c..a4630cf8 100644 --- a/assets/js/88e6cb4a.97836ee1.js +++ b/assets/js/88e6cb4a.467e19a3.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8710],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>g});var n=i(7294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function o(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var l=n.createContext({}),u=function(e){var t=n.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var i=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=u(i),m=a,g=d["".concat(l,".").concat(m)]||d[m]||c[m]||r;return i?n.createElement(g,o(o({ref:t},p),{},{components:i})):n.createElement(g,o({ref:t},p))}));function g(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=i.length,o=new Array(r);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:a,o[1]=s;for(var u=2;u{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=i(7462),a=(i(7294),i(3905));const r={id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide","Issue triage best practices","GitHub triage process","Pull request triage steps","Triage workflow tutorial","Effective issue management","Open source contribution triage","Triage for project maintainers","Streamlining triage efforts","Collaborative issue handling","Contributor triage assistance"]},o=void 0,s={unversionedId:"contributing/triage-guide",id:"contributing/triage-guide",title:"Triage Guide",description:"How to Join the Triage Team",source:"@site/docs/contributing/triage-guide.md",sourceDirName:"contributing",slug:"/contributing/triage-guide",permalink:"/contributing/triage-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/triage-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide","Issue triage best practices","GitHub triage process","Pull request triage steps","Triage workflow tutorial","Effective issue management","Open source contribution triage","Triage for project maintainers","Streamlining triage efforts","Collaborative issue handling","Contributor triage assistance"]},sidebar:"docs",previous:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"},next:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/opensauced-maintainers-guide/maintainers-guide"}},l={},u=[{value:"How to Join the Triage Team",id:"how-to-join-the-triage-team",level:2},{value:"Triage Process",id:"triage-process",level:2},{value:"Adding Issue and PR Labels",id:"adding-issue-and-pr-labels",level:3},{value:"Labeling good first issue",id:"labeling-good-first-issue",level:3},{value:"Approaches and Best Practices for Getting Into Triage Contributions",id:"approaches-and-best-practices-for-getting-into-triage-contributions",level:2},{value:"Removal of Triage Role",id:"removal-of-triage-role",level:2},{value:"Helpful Hints",id:"helpful-hints",level:2}],p={toc:u},d="wrapper";function c(e){let{components:t,...i}=e;return(0,a.kt)(d,(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"how-to-join-the-triage-team"},"How to Join the Triage Team"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ol"},"Leave a comment in the ",(0,a.kt)("inlineCode",{parentName:"li"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,a.kt)("a",{parentName:"li",href:"https://discord.com/channels/714698561081704529/928693344358514698"},"Discord"),".")),(0,a.kt)("h2",{id:"triage-process"},"Triage Process"),(0,a.kt)("p",null,"When a new issue or pull request (PR) is opened, the issue will be labeled with ",(0,a.kt)("inlineCode",{parentName:"p"},"needs triage"),". If a triage team member is available, they can help ensure all the required information is provided."),(0,a.kt)("h3",{id:"adding-issue-and-pr-labels"},"Adding Issue and PR Labels"),(0,a.kt)("p",null,"Depending on the issue or PR, there are several labels the triage team can add for further classification, as follows:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"needs triage"),": This can be kept if the triager is unsure which next steps to take."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"awaiting more info"),": If more information has been requested from the author, apply this label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"question"),": User questions that do not appear to be bugs or enhancements."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"discuss"),": Topics for discussion. It might end in an ",(0,a.kt)("inlineCode",{parentName:"li"},"enhancement")," or ",(0,a.kt)("inlineCode",{parentName:"li"},"question")," label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"bug"),": Issues that present reasonable conviction there is a reproducible bug."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"enhancement"),": Issues that are found to be a reasonable candidate feature additions."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"style"),": Minor CSS or visual changes.")),(0,a.kt)("p",null,"In all cases, maintainers may close issues if they don't receive a timely response when further information is sought or when additional questions are asked."),(0,a.kt)("h3",{id:"labeling-good-first-issue"},"Labeling ",(0,a.kt)("inlineCode",{parentName:"h3"},"good first issue")),(0,a.kt)("p",null,"Issues labeled as ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," represent a curated list of easy contributions for new contributors. These issues are meant to help folks make their first contribution to open source and should not require excessive research or triaging on the contributor's part."),(0,a.kt)("p",null,"All ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," should include one or more of the following:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"A solution."),(0,a.kt)("li",{parentName:"ul"},"A suggestion for a solution."),(0,a.kt)("li",{parentName:"ul"},"Links to components or in which issue occurs.")),(0,a.kt)("p",null,"Please be noted:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Issues that ",(0,a.kt)("inlineCode",{parentName:"li"},"needs triage")," cannot be labeled as ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issues"),"."),(0,a.kt)("li",{parentName:"ul"},"It is better to have no ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," labeled issues than to have a ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," confusing enough to deter a contributor from contributing.")),(0,a.kt)("h2",{id:"approaches-and-best-practices-for-getting-into-triage-contributions"},"Approaches and Best Practices for Getting Into Triage Contributions"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the project's Contribution Guidelines if they are present. In a nutshell, commit to the community's standards and values.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the documentation; for most projects, it is just the ",(0,a.kt)("inlineCode",{parentName:"p"},"README.md"),". Ensure you understand the key APIs, semantics, configurations, and use cases.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Writing your own test apps to reaffirm your understanding of the key functions might be helpful. This may identify some gaps in documentation; record those as they might be good PRs to open.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Skim through the issues backlog; identify low-hanging and mostly new issues. From those, attempt to recreate issues based on the OP (Original Poster) description and ask questions if required. No question is a bad question!"))),(0,a.kt)("h2",{id:"removal-of-triage-role"},"Removal of Triage Role"),(0,a.kt)("p",null,"There are a few cases where members can be removed from the triage role:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Breaking the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," or ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"project contributor guidelines"),"."),(0,a.kt)("li",{parentName:"ul"},"Abuse or misuse of the role as deemed by the Triage Team."),(0,a.kt)("li",{parentName:"ul"},"Lack of participation for more than six months.")),(0,a.kt)("p",null,"If any of these happen, we will discuss them as a part of the triage portion of the regular Triage Team meetings. If you have questions, feel free to contact any Triage Team members."),(0,a.kt)("h2",{id:"helpful-hints"},"Helpful Hints"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"When reviewing the list of open issues, there are some common types and suggested actions:",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"New/unattended issues or simple questions"),": A good place to start."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Hard bugs & ongoing discussions"),": Feel free to chime in and help."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Issues that imply gaps in the documentation"),": Open PRs with changes or help the user to do so."))),(0,a.kt)("li",{parentName:"ul"},"For recurring issues, it is helpful to create functional examples to demonstrate (publish as gists or a repo)."),(0,a.kt)("li",{parentName:"ul"},"Review and identify the maintainers. If necessary, mention one or more of them with ",(0,a.kt)("inlineCode",{parentName:"li"},"@")," if you are unsure what to do."),(0,a.kt)("li",{parentName:"ul"},"Ensure all your interactions are professional, welcoming, and respectful to the parties involved.")))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8710],{3905:(e,t,i)=>{i.d(t,{Zo:()=>p,kt:()=>g});var n=i(7294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function o(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var l=n.createContext({}),u=function(e){var t=n.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=u(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var i=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=u(i),m=a,g=d["".concat(l,".").concat(m)]||d[m]||c[m]||r;return i?n.createElement(g,o(o({ref:t},p),{},{components:i})):n.createElement(g,o({ref:t},p))}));function g(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=i.length,o=new Array(r);o[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:a,o[1]=s;for(var u=2;u{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>c,frontMatter:()=>r,metadata:()=>s,toc:()=>u});var n=i(7462),a=(i(7294),i(3905));const r={id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide","Issue triage best practices","GitHub triage process","Pull request triage steps","Triage workflow tutorial","Effective issue management","Open source contribution triage","Triage for project maintainers","Streamlining triage efforts","Collaborative issue handling","Contributor triage assistance"]},o=void 0,s={unversionedId:"contributing/triage-guide",id:"contributing/triage-guide",title:"Triage Guide",description:"How to Join the Triage Team",source:"@site/docs/contributing/triage-guide.md",sourceDirName:"contributing",slug:"/contributing/triage-guide",permalink:"/contributing/triage-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/triage-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"triage-guide",title:"Triage Guide",sidebar_label:"Triage Guide",keywords:["triage guide","Issue triage best practices","GitHub triage process","Pull request triage steps","Triage workflow tutorial","Effective issue management","Open source contribution triage","Triage for project maintainers","Streamlining triage efforts","Collaborative issue handling","Contributor triage assistance"]},sidebar:"docs",previous:{title:"Code of Conduct",permalink:"/contributing/code-of-conduct"},next:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/opensauced-maintainers-guide/maintainers-guide"}},l={},u=[{value:"How to Join the Triage Team",id:"how-to-join-the-triage-team",level:2},{value:"Triage Process",id:"triage-process",level:2},{value:"Adding Issue and PR Labels",id:"adding-issue-and-pr-labels",level:3},{value:"Labeling good first issue",id:"labeling-good-first-issue",level:3},{value:"Approaches and Best Practices for Getting Into Triage Contributions",id:"approaches-and-best-practices-for-getting-into-triage-contributions",level:2},{value:"Removal of Triage Role",id:"removal-of-triage-role",level:2},{value:"Helpful Hints",id:"helpful-hints",level:2}],p={toc:u},d="wrapper";function c(e){let{components:t,...i}=e;return(0,a.kt)(d,(0,n.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"how-to-join-the-triage-team"},"How to Join the Triage Team"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ol"},"Leave a comment in the ",(0,a.kt)("inlineCode",{parentName:"li"},"\ud83c\udf55opensauced-contributors-chat")," channel on ",(0,a.kt)("a",{parentName:"li",href:"https://discord.com/channels/714698561081704529/928693344358514698"},"Discord"),".")),(0,a.kt)("h2",{id:"triage-process"},"Triage Process"),(0,a.kt)("p",null,"When a new issue or pull request (PR) is opened, the issue will be labeled with ",(0,a.kt)("inlineCode",{parentName:"p"},"needs triage"),". If a triage team member is available, they can help ensure all the required information is provided."),(0,a.kt)("h3",{id:"adding-issue-and-pr-labels"},"Adding Issue and PR Labels"),(0,a.kt)("p",null,"Depending on the issue or PR, there are several labels the triage team can add for further classification, as follows:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"needs triage"),": This can be kept if the triager is unsure which next steps to take."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"awaiting more info"),": If more information has been requested from the author, apply this label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"question"),": User questions that do not appear to be bugs or enhancements."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"discuss"),": Topics for discussion. It might end in an ",(0,a.kt)("inlineCode",{parentName:"li"},"enhancement")," or ",(0,a.kt)("inlineCode",{parentName:"li"},"question")," label."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"bug"),": Issues that present reasonable conviction there is a reproducible bug."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"enhancement"),": Issues that are found to be a reasonable candidate feature additions."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"style"),": Minor CSS or visual changes.")),(0,a.kt)("p",null,"In all cases, maintainers may close issues if they don't receive a timely response when further information is sought or when additional questions are asked."),(0,a.kt)("h3",{id:"labeling-good-first-issue"},"Labeling ",(0,a.kt)("inlineCode",{parentName:"h3"},"good first issue")),(0,a.kt)("p",null,"Issues labeled as ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," represent a curated list of easy contributions for new contributors. These issues are meant to help folks make their first contribution to open source and should not require excessive research or triaging on the contributor's part."),(0,a.kt)("p",null,"All ",(0,a.kt)("inlineCode",{parentName:"p"},"good first issue")," should include one or more of the following:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"A solution."),(0,a.kt)("li",{parentName:"ul"},"A suggestion for a solution."),(0,a.kt)("li",{parentName:"ul"},"Links to components or in which issue occurs.")),(0,a.kt)("p",null,"Please be noted:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Issues that ",(0,a.kt)("inlineCode",{parentName:"li"},"needs triage")," cannot be labeled as ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issues"),"."),(0,a.kt)("li",{parentName:"ul"},"It is better to have no ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," labeled issues than to have a ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," confusing enough to deter a contributor from contributing.")),(0,a.kt)("h2",{id:"approaches-and-best-practices-for-getting-into-triage-contributions"},"Approaches and Best Practices for Getting Into Triage Contributions"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the project's Contribution Guidelines if they are present. In a nutshell, commit to the community's standards and values.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Review the documentation; for most projects, it is just the ",(0,a.kt)("inlineCode",{parentName:"p"},"README.md"),". Ensure you understand the key APIs, semantics, configurations, and use cases.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Writing your own test apps to reaffirm your understanding of the key functions might be helpful. This may identify some gaps in documentation; record those as they might be good PRs to open.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Skim through the issues backlog; identify low-hanging and mostly new issues. From those, attempt to recreate issues based on the OP (Original Poster) description and ask questions if required. No question is a bad question!"))),(0,a.kt)("h2",{id:"removal-of-triage-role"},"Removal of Triage Role"),(0,a.kt)("p",null,"There are a few cases where members can be removed from the triage role:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Breaking the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," or ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"project contributor guidelines"),"."),(0,a.kt)("li",{parentName:"ul"},"Abuse or misuse of the role as deemed by the Triage Team."),(0,a.kt)("li",{parentName:"ul"},"Lack of participation for more than six months.")),(0,a.kt)("p",null,"If any of these happen, we will discuss them as a part of the triage portion of the regular Triage Team meetings. If you have questions, feel free to contact any Triage Team members."),(0,a.kt)("h2",{id:"helpful-hints"},"Helpful Hints"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"When reviewing the list of open issues, there are some common types and suggested actions:",(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"New/unattended issues or simple questions"),": A good place to start."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Hard bugs & ongoing discussions"),": Feel free to chime in and help."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Issues that imply gaps in the documentation"),": Open PRs with changes or help the user to do so."))),(0,a.kt)("li",{parentName:"ul"},"For recurring issues, it is helpful to create functional examples to demonstrate (publish as gists or a repo)."),(0,a.kt)("li",{parentName:"ul"},"Review and identify the maintainers. If necessary, mention one or more of them with ",(0,a.kt)("inlineCode",{parentName:"li"},"@")," if you are unsure what to do."),(0,a.kt)("li",{parentName:"ul"},"Ensure all your interactions are professional, welcoming, and respectful to the parties involved.")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/914479fa.882e621c.js b/assets/js/914479fa.16cbddfd.js similarity index 98% rename from assets/js/914479fa.882e621c.js rename to assets/js/914479fa.16cbddfd.js index 779a68c9..9593aa2d 100644 --- a/assets/js/914479fa.882e621c.js +++ b/assets/js/914479fa.16cbddfd.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[457],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),l=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(s.Provider,{value:t},e.children)},f="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),f=l(n),p=o,u=f["".concat(s,".").concat(p)]||f[p]||g[p]||a;return n?r.createElement(u,i(i({ref:t},d),{},{components:n})):r.createElement(u,i({ref:t},d))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=p;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[f]="string"==typeof e?e:o,i[1]=c;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var r=n(7462),o=(n(7294),n(3905));const a={id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing","refactoring and testing best practices","how to refactor and test code","benefits of refactoring and testing","refactoring and testing tools","refactoring and testing techniques","refactoring and testing examples","refactoring and testing tutorial"]},i=void 0,c={unversionedId:"tools/chrome-extension/refactoring-and-testing",id:"tools/chrome-extension/refactoring-and-testing",title:"Refactoring and Testing",description:"Refactoring a Block of Code",source:"@site/docs/tools/chrome-extension/refactoring-and-testing.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/refactoring-and-testing",permalink:"/tools/chrome-extension/refactoring-and-testing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/refactoring-and-testing.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing","refactoring and testing best practices","how to refactor and test code","benefits of refactoring and testing","refactoring and testing tools","refactoring and testing techniques","refactoring and testing examples","refactoring and testing tutorial"]},sidebar:"docs",previous:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"},next:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"}},s={},l=[{value:"Refactoring a Block of Code",id:"refactoring-a-block-of-code",level:2},{value:"Testing a Block of Code",id:"testing-a-block-of-code",level:2}],d={toc:l},f="wrapper";function g(e){let{components:t,...a}=e;return(0,o.kt)(f,(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"refactoring-a-block-of-code"},"Refactoring a Block of Code"),(0,o.kt)("p",null,"Refactor a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"generate code refactor",src:n(338).Z,width:"828",height:"481"})),(0,o.kt)("h2",{id:"testing-a-block-of-code"},"Testing a Block of Code"),(0,o.kt)("p",null,"Generate tests for a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"generate code refactor",src:n(3681).Z,width:"828",height:"481"})))}g.isMDXComponent=!0},338:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/pr-code-refactor-2b26ff383ff3a6351a5b4feda98abafd.gif"},3681:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/pr-code-test-90211422d3a31f62a0d0c8e073d7454a.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[457],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>u});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),l=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},d=function(e){var t=l(e.components);return r.createElement(s.Provider,{value:t},e.children)},f="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},p=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,d=c(e,["components","mdxType","originalType","parentName"]),f=l(n),p=o,u=f["".concat(s,".").concat(p)]||f[p]||g[p]||a;return n?r.createElement(u,i(i({ref:t},d),{},{components:n})):r.createElement(u,i({ref:t},d))}));function u(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=p;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[f]="string"==typeof e?e:o,i[1]=c;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>g,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var r=n(7462),o=(n(7294),n(3905));const a={id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing","refactoring and testing best practices","how to refactor and test code","benefits of refactoring and testing","refactoring and testing tools","refactoring and testing techniques","refactoring and testing examples","refactoring and testing tutorial"]},i=void 0,c={unversionedId:"tools/chrome-extension/refactoring-and-testing",id:"tools/chrome-extension/refactoring-and-testing",title:"Refactoring and Testing",description:"Refactoring a Block of Code",source:"@site/docs/tools/chrome-extension/refactoring-and-testing.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/refactoring-and-testing",permalink:"/tools/chrome-extension/refactoring-and-testing",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/refactoring-and-testing.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"refactoring-and-testing",title:"Refactoring and Testing",sidebar_label:"Refactoring and Testing",keywords:["refactoring","testing","refactoring and testing best practices","how to refactor and test code","benefits of refactoring and testing","refactoring and testing tools","refactoring and testing techniques","refactoring and testing examples","refactoring and testing tutorial"]},sidebar:"docs",previous:{title:"Highlight",permalink:"/tools/chrome-extension/highlights"},next:{title:"Insights and Invitations",permalink:"/tools/chrome-extension/viewing-insights-and-invitations"}},s={},l=[{value:"Refactoring a Block of Code",id:"refactoring-a-block-of-code",level:2},{value:"Testing a Block of Code",id:"testing-a-block-of-code",level:2}],d={toc:l},f="wrapper";function g(e){let{components:t,...a}=e;return(0,o.kt)(f,(0,r.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"refactoring-a-block-of-code"},"Refactoring a Block of Code"),(0,o.kt)("p",null,"Refactor a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"generate code refactor",src:n(338).Z,width:"828",height:"481"})),(0,o.kt)("h2",{id:"testing-a-block-of-code"},"Testing a Block of Code"),(0,o.kt)("p",null,"Generate tests for a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"generate code refactor",src:n(3681).Z,width:"828",height:"481"})))}g.isMDXComponent=!0},338:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/pr-code-refactor-2b26ff383ff3a6351a5b4feda98abafd.gif"},3681:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/pr-code-test-90211422d3a31f62a0d0c8e073d7454a.gif"}}]); \ No newline at end of file diff --git a/assets/js/9b3a7c99.2faa207d.js b/assets/js/9b3a7c99.81fc04e6.js similarity index 99% rename from assets/js/9b3a7c99.2faa207d.js rename to assets/js/9b3a7c99.81fc04e6.js index fc82107c..9f76e696 100644 --- a/assets/js/9b3a7c99.2faa207d.js +++ b/assets/js/9b3a7c99.81fc04e6.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3100],{3905:(t,e,o)=>{o.d(e,{Zo:()=>c,kt:()=>d});var i=o(7294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,i)}return o}function a(t){for(var e=1;e=0||(r[o]=t[o]);return r}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(r[o]=t[o])}return r}var u=i.createContext({}),l=function(t){var e=i.useContext(u),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},c=function(t){var e=l(t.components);return i.createElement(u.Provider,{value:e},t.children)},h="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},g=i.forwardRef((function(t,e){var o=t.components,r=t.mdxType,n=t.originalType,u=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),h=l(o),g=r,d=h["".concat(u,".").concat(g)]||h[g]||p[g]||n;return o?i.createElement(d,a(a({ref:e},c),{},{components:o})):i.createElement(d,a({ref:e},c))}));function d(t,e){var o=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var n=o.length,a=new Array(n);a[0]=g;var s={};for(var u in e)hasOwnProperty.call(e,u)&&(s[u]=e[u]);s.originalType=t,s[h]="string"==typeof t?t:r,a[1]=s;for(var l=2;l{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>p,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var i=o(7462),r=(o(7294),o(3905));const n={id:"contributors-guide-to-open-sauced",title:"Contributors Guide to OpenSauced",sidebar_label:"Contributors Guide to OpenSauced",keywords:["contributors","guides"]},a=void 0,s={unversionedId:"contributors/contributors-guide-to-open-sauced",id:"contributors/contributors-guide-to-open-sauced",title:"Contributors Guide to OpenSauced",description:"Introduction to OpenSauced for Contributors",source:"@site/docs/contributors/contributors-guide.md",sourceDirName:"contributors",slug:"/contributors/contributors-guide-to-open-sauced",permalink:"/contributors/contributors-guide-to-open-sauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributors/contributors-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"contributors-guide-to-open-sauced",title:"Contributors Guide to OpenSauced",sidebar_label:"Contributors Guide to OpenSauced",keywords:["contributors","guides"]},sidebar:"docs",previous:{title:"Understanding Contributor Insights Data",permalink:"/maintainers/understanding-contribs-insights"},next:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"}},u={},l=[{value:"Introduction to OpenSauced for Contributors",id:"introduction-to-opensauced-for-contributors",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Creating Your Profile",id:"creating-your-profile",level:2},{value:"Your Profile",id:"your-profile",level:3},{value:"Explore: Finding Your Next Open Source Project",id:"explore-finding-your-next-open-source-project",level:2},{value:"Highlights: Connecting and Recognizing Contributions",id:"highlights-connecting-and-recognizing-contributions",level:2},{value:"Creating a New Highlight",id:"creating-a-new-highlight",level:3},{value:"Writing an Effective Highlight",id:"writing-an-effective-highlight",level:3},{value:"Highlighting Issues",id:"highlighting-issues",level:4},{value:"Highlighting PRs",id:"highlighting-prs",level:4},{value:"Highlighting Dev.to Blog Posts",id:"highlighting-devto-blog-posts",level:4},{value:"Repository Insights: Connecting Your Repositories",id:"repository-insights-connecting-your-repositories",level:2},{value:"Why Create a Repository Insights Page",id:"why-create-a-repository-insights-page",level:3},{value:"Creating a New Repository Insight Page",id:"creating-a-new-repository-insight-page",level:3},{value:"Using Your Repository Insights Page",id:"using-your-repository-insights-page",level:3},{value:"Repositories Dashboard",id:"repositories-dashboard",level:4},{value:"Contributors",id:"contributors",level:4},{value:"Activity",id:"activity",level:4},{value:"Contributor Insights: Connecting with Contributors",id:"contributor-insights-connecting-with-contributors",level:2},{value:"What You can do with Contributor Insights?",id:"what-you-can-do-with-contributor-insights",level:3},{value:"Creating a New Contributor Insights Page",id:"creating-a-new-contributor-insights-page",level:3},{value:"Using Your Contributor Insights Page",id:"using-your-contributor-insights-page",level:2},{value:"Overview",id:"overview",level:3},{value:"Activity",id:"activity-1",level:3},{value:"Highlights",id:"highlights",level:3},{value:"Takeaways",id:"takeaways",level:2},{value:"Conclusion",id:"conclusion",level:2}],c={toc:l},h="wrapper";function p(t){let{components:e,...n}=t;return(0,r.kt)(h,(0,i.Z)({},c,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"introduction-to-opensauced-for-contributors"},"Introduction to OpenSauced for Contributors"),(0,r.kt)("p",null,"OpenSauced is a platform dedicated to empowering you, the contributor, in your open source journey. With OpenSauced, you can find repositories to contribute to, track your contributions, gain insights into your favorite open source projects, and find new contributors to connect with."),(0,r.kt)("h2",{id:"getting-started"},"Getting Started"),(0,r.kt)("p",null,"To get started, you will need to create an account on OpenSauced. You can do this by visiting the ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza"},"app.opensauced.pizza"),' and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard. The best place to get started is by creating your profile.'),(0,r.kt)("h2",{id:"creating-your-profile"},"Creating Your Profile"),(0,r.kt)("p",null,"Creating your profile is a great way to showcase your open source contributions, connect with other contributors and maintainers, and share during a job search. Here are some steps to help you get started:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},'After creating your account, navigate to "Settings."'),(0,r.kt)("p",{parentName:"li"},(0,r.kt)("img",{alt:"settings",src:o(1449).Z,width:"746",height:"178"}))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Once there, you will be asked to add your name, bio, links to your social media accounts, timezone, and other forms of contact information."),(0,r.kt)("admonition",{parentName:"li",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"Don't forget to add your personal site, GitHub Sponsors URL, and LinkedIn so people can connect with you and learn more about your work."))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},'In the "Interests" section, select the various programming languages and topics you are interested in. Setting them helps us recommend open source projects that fit your interests.')),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Manage your email preferences."))),(0,r.kt)("h3",{id:"your-profile"},"Your Profile"),(0,r.kt)("p",null,"Your profile is a great resource for showcasing your contributions and sharing your open source work with others."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"your profile",src:o(232).Z,width:"955",height:"994"})),(0,r.kt)("p",null,'On your profile, you will see the "Highlights" tab, which you can learn more about ',(0,r.kt)("a",{parentName:"p",href:"#highlights-connecting-and-recognizing-contributions"},"in this section"),", and three other tabs:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contributions"),": This tab includes a graph showing the number of PRs you have opened, ",(0,r.kt)("a",{parentName:"li",href:"/welcome/glossary#pr-velocity"},"the velocity of your PRs"),', and the number of repositories you have contributed to. Underneath the graph is a "Latest PRs" chart, which shows a list of current and recent PRs. This tab is helpful if you want to showcase a steady and consistent open source contribution experience.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Connections"),": For pro accounts, you can reach out to other contributors and maintainers to collaborate on projects or to learn from them."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Recommendations"),': This tab includes a list of open source projects that are chosen based on the programming languages you picked in the "Interests" section of your public profile. It is useful if you\'re looking for new projects to contribute to.')),(0,r.kt)("h2",{id:"explore-finding-your-next-open-source-project"},"Explore: Finding Your Next Open Source Project"),(0,r.kt)("p",null,'The "Explore" tab is a great place to start if you\'re looking for a new open source project to contribute to or want to find repositories for potential job opportunities. Here, you can find a list of open source projects and filter them by language, top repos, recent, most active, and more.'),(0,r.kt)("p",null,"Once you've selected your filters, you'll be able to see the contributors, spam, and activity levels of the repository. Understanding a repository's activity level and PR velocity can help you determine if it's a good fit for you to contribute to and what to expect when you submit a PR."),(0,r.kt)("p",null,'For example, if you wanted to look for a JavaScript project to contribute to, you would select "JavaScript" from the language dropdown and "Most Active" from the filter dropdown to see the most active JavaScript projects on GitHub. If you want to keep track of the repositories you\'re interested in contributing to, you can select and add them to your ',(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights Page"),"."),(0,r.kt)("h2",{id:"highlights-connecting-and-recognizing-contributions"},"Highlights: Connecting and Recognizing Contributions"),(0,r.kt)("p",null,"Leveraging OpenSauced's ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights")," feature is a great way for you to showcase your valuable contributions to open source projects. You can curate and share your achievements and milestones and bring visibility to your hard work."),(0,r.kt)("p",null,"The Highlights feature allows you to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"talk about issues that you raised,"),(0,r.kt)("li",{parentName:"ul"},"share Dev.to blog posts that you've written,"),(0,r.kt)("li",{parentName:"ul"},"display PRs that showcase your contributions.")),(0,r.kt)("h3",{id:"creating-a-new-highlight"},"Creating a New Highlight"),(0,r.kt)("p",null,"There are two ways to create a new highlight:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below)."),(0,r.kt)("li",{parentName:"ol"},"Choose from a list of suggestions (shown in orange below).")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"highlight suggestions",src:o(4173).Z,width:"626",height:"633"})),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"If you're adding a blog post, you'll need to associate it to a repository by clicking the \"Add a repo\" button.")),(0,r.kt)("p",null,"Finally, it's time to add the details of your highlight. You can write the description yourself or use the auto-summarize button to generate one."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"gif of creating a highlight",src:o(7352).Z,width:"2294",height:"1066"})),(0,r.kt)("h3",{id:"writing-an-effective-highlight"},"Writing an Effective Highlight"),(0,r.kt)("p",null,"Sharing the story of your hard work is an opportunity to connect with the reader, which could include potential collaborators or recruiters. Here are some tips to help you write effective stories for your highlights:"),(0,r.kt)("h4",{id:"highlighting-issues"},"Highlighting Issues"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Share your motivation"),': Briefly explain why you raised the issue. For example, "I\'m passionate about improving accessibility because I believe everyone should have equal access to information."'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Summarize the issue"),": Briefly describe the issue you wrote so your readers have context. For example, \"I raised an issue to add alt text to images in the project's 'About Us' page.\""),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Describe the impact:"),' Briefly state how the resolution of the issue will improve the project. For example, "This will help people who use screen readers to understand the content of the images."')),(0,r.kt)("h4",{id:"highlighting-prs"},"Highlighting PRs"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Describe the PR"),': Start with a clear summary of what your PR accomplishes. For example, "I added a new feature to the project\'s Chrome Extension that allows users to summarize content."'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Highlight your solution and its impact"),': Briefly describe the solution, any challenges you faced, or any part of the PR you\'re particularly proud of. For example, "Initially, I faced challenges with the API, but I was able to resolve them using a different endpoint."'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Reflect on your experience"),': Mention what you learned from working on the PR. For example, "I learned a lot about the Chrome Extension API and how to use it to create new features."')),(0,r.kt)("h4",{id:"highlighting-devto-blog-posts"},"Highlighting Dev.to Blog Posts"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Describe the topic"),": Begin with an interesting blog post summary to help your peers and potential recruiters understand your writing."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Discuss the inspiration"),": Explain why you wrote this blog post. Is it to guide others on improving their coding skills, raise awareness about an issue in the tech community, or display your progress in learning a new programming language?"),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"End with a call-to-action"),": Encourage readers to read and engage with the post, whether by commenting or sharing it with others on social media.")),(0,r.kt)("h2",{id:"repository-insights-connecting-your-repositories"},"Repository Insights: Connecting Your Repositories"),(0,r.kt)("p",null,"OpenSauced ",(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights")," allows you to track open source projects you are interested in. You can use Repository Insights Pages to track repositories' growth, analyze work, and connect with others."),(0,r.kt)("h3",{id:"why-create-a-repository-insights-page"},"Why Create a Repository Insights Page"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To track projects you're working on"),": Tracking projects you're working on can help you stay up-to-date with the latest activity, trends, and connect with other contributors."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To identify potential projects to contribute to"),': If you\'re looking for a new project to contribute to, you can use the Repository Insights feature to track active projects that are looking for contributors. You can use the "Explore" tab to find new projects to contribute to and track them with your Repository Insights page.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To network and engage with the community"),': Finding people to work and connect with can be challenging. You can connect with your network through the feature\'s "Contributors" tab.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To track the activity of a topic you're interested in"),": Keeping up with the latest trends and activity in a particular topic can be challenging. You can use the Repository Insights feature to track the activity of a specific topic and find new projects to contribute to. For example, you can create a ",(0,r.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/pages/BekahHW/1055/dashboard"},"Repository Insight Page for Active AI Repositories"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To track the activity of your favorite programming languages"),": If you're interested in tracking the activity of your favorite programming languages, you can use the Repository Insights feature to track the open source projects that are using them."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To aid in the job search"),": If you're looking for a job, you can use the Repository Insights feature to track the activity of the organizations you're interested in working on. This can help you understand the activity level of the repositories and the types of contributions being made, and even identify which company you want to contribute to."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Curating collections for interest groups"),": You can curate and share repositories focusing on sectors and programming languages that interest you.")),(0,r.kt)("h3",{id:"creating-a-new-repository-insight-page"},"Creating a New Repository Insight Page"),(0,r.kt)("p",null,'To track the repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.'),(0,r.kt)("p",null,"There are two ways to add repositories to your Repository Insight Page:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Sync GitHub organization"),": Syncing your GitHub organizations is a good idea if you want to keep track of their open source project activities and trends."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Connect individual repositories"),": Connecting individual repositories is a good idea if you want to keep track of the contributions of a specific repository or group of repositories.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"sync Repository Insights gif",src:o(7220).Z,width:"960",height:"543"})),(0,r.kt)("h3",{id:"using-your-repository-insights-page"},"Using Your Repository Insights Page"),(0,r.kt)("p",null,"Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them."),(0,r.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,r.kt)("h4",{id:"repositories-dashboard"},"Repositories Dashboard"),(0,r.kt)("p",null,"If you're looking for an active project to contribute to, this tab can help you as it contains information such as activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days. This information is also a good way to connect with others on the project or where to find support."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"repositories tab",src:o(7224).Z,width:"1148",height:"796"})),(0,r.kt)("h4",{id:"contributors"},"Contributors"),(0,r.kt)("p",null,'The "Contributors" tab allows you to view more detailed information about other contributors, including activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days. This can be a great way to find others to collaborate with or recommend for jobs.'),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"contributors insight list",src:o(8967).Z,width:"1212",height:"628"})),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"Want to learn more about your peers? You can select and add them to a Contributor Insight Page.")),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,r.kt)("a",{parentName:"p",href:"/maintainers/understanding-repo-insights"},"Understanding Repository Insights Data"),".")),(0,r.kt)("h4",{id:"activity"},"Activity"),(0,r.kt)("p",null,"The \"Activity\" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced."),(0,r.kt)("p",null,"This information can help you find potential repositories to contribute to and peers to collaborate with or ask for mentorship."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"activity graph",src:o(8517).Z,width:"1592",height:"791"})),(0,r.kt)("h2",{id:"contributor-insights-connecting-with-contributors"},"Contributor Insights: Connecting with Contributors"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights")," feature helps you connect with other contributors or learn more about what others are up to in open source. With this feature, you can categorize, watch, and check out different groups of contributors within open source projects."),(0,r.kt)("h3",{id:"what-you-can-do-with-contributor-insights"},"What You can do with Contributor Insights?"),(0,r.kt)("p",null,"There are many things you can do with this feature, but here are some ideas to get you started:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Track personal contributions"),": If you create a list of your personal contributions, you can track them and see how you're doing over time, as well as get a breakdown of the type of contributions you're making, including commits, created PRs, reviewed PRs, and created issues."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Learn about what other contributors are doing in open source"),": You can learn where other contributors are contributing, what they're working on, and how active they are in the open source community."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"See who's using the OpenSauced Highlights feature"),": You can see who's using the Highlights feature and show them support by giving an emoji reaction."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Track contributors for job opportunities"),": If you're looking for a job, you can track the activity of the contributors you're interested in working with. This helps you understand the activity level of the repositories and the types of contributions being made, and you can even identify which company you want to contribute to.")),(0,r.kt)("h3",{id:"creating-a-new-contributor-insights-page"},"Creating a New Contributor Insights Page"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},'Click the "+" next to "Insights" in your sidebar.'),(0,r.kt)("li",{parentName:"ol"},'Select "New Contributor Insight" to start a new Contributor Insight Page.'),(0,r.kt)("li",{parentName:"ol"},"Give your page a name."),(0,r.kt)("li",{parentName:"ol"},"Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following."),(0,r.kt)("li",{parentName:"ol"},"Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"contribution sync gif",src:o(2319).Z,width:"1324",height:"1030"})),(0,r.kt)("h2",{id:"using-your-contributor-insights-page"},"Using Your Contributor Insights Page"),(0,r.kt)("p",null,"Once you have created your list, you will be redirected to your Contributor Insights Page. Here, you will see a dashboard with an overview of the contributors."),(0,r.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,r.kt)("h3",{id:"overview"},"Overview"),(0,r.kt)("p",null,'The "Overview" tab gives you a high-level view of the contributors in your list, including the total number of commits in the last 30 days and the types of contributors: ',(0,r.kt)("a",{parentName:"p",href:"/welcome/glossary/#active-contributors"},"Active"),", ",(0,r.kt)("a",{parentName:"p",href:"/welcome/glossary#new-contributors"},"New"),", and ",(0,r.kt)("a",{parentName:"p",href:"/welcome/glossary#alumni-contributors"},"Alumni"),"."),(0,r.kt)("h3",{id:"activity-1"},"Activity"),(0,r.kt)("p",null,'The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they\'ve contributed to, and how they compare to each other.'),(0,r.kt)("p",null,"You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"list graph",src:o(7392).Z,width:"1147",height:"731"})),(0,r.kt)("h3",{id:"highlights"},"Highlights"),(0,r.kt)("p",null,'The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.'),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,r.kt)("a",{parentName:"p",href:"/maintainers/understanding-contribs-insights"},"Understanding Contributor Insights Data"),".")),(0,r.kt)("h2",{id:"takeaways"},"Takeaways"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Create Your Profile"),": Creating your profile is a great way to display your open source contributions, connect with other contributors and maintainers, and share during a job search."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Explore"),': The "Explore" tab is a great place to find new open source projects to contribute to.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Highlights"),": Leveraging OpenSauced's Highlights feature is a great way for you to showcase your valuable contributions to open source projects."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Repository Insights"),": OpenSauced Repository Insights feature allows you to track open source projects you are interested in."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contributor Insights"),": The Contributor Insights feature helps you understand other contributors or track your own work in open source.")),(0,r.kt)("h2",{id:"conclusion"},"Conclusion"),(0,r.kt)("p",null,"We hope this guide has helped you get started with OpenSauced and that you're excited to use the platform to connect with other contributors and maintainers, track your contributions, and find new open source projects to contribute to. If you have any questions or need help, please don't hesitate to reach out to us. We're here to help you succeed in your open source journey."))}p.isMDXComponent=!0},2319:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/contributors-sync-list-b427c1971ecbd190a472a1a061bf63a6.gif"},7352:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},7220:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},8517:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/activity-repos-insights-3734baf3ab38356a4de96d43dde41a3d.png"},8967:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},4173:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},7392:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},232:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/profile-d4fae85bbb516b6a5b5837a3d137c223.png"},7224:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"},1449:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/settings-748558f026c2a0b1c23cbb3648bf3a05.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3100],{3905:(t,e,o)=>{o.d(e,{Zo:()=>c,kt:()=>d});var i=o(7294);function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,i)}return o}function a(t){for(var e=1;e=0||(r[o]=t[o]);return r}(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,o)&&(r[o]=t[o])}return r}var u=i.createContext({}),l=function(t){var e=i.useContext(u),o=e;return t&&(o="function"==typeof t?t(e):a(a({},e),t)),o},c=function(t){var e=l(t.components);return i.createElement(u.Provider,{value:e},t.children)},h="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},g=i.forwardRef((function(t,e){var o=t.components,r=t.mdxType,n=t.originalType,u=t.parentName,c=s(t,["components","mdxType","originalType","parentName"]),h=l(o),g=r,d=h["".concat(u,".").concat(g)]||h[g]||p[g]||n;return o?i.createElement(d,a(a({ref:e},c),{},{components:o})):i.createElement(d,a({ref:e},c))}));function d(t,e){var o=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var n=o.length,a=new Array(n);a[0]=g;var s={};for(var u in e)hasOwnProperty.call(e,u)&&(s[u]=e[u]);s.originalType=t,s[h]="string"==typeof t?t:r,a[1]=s;for(var l=2;l{o.r(e),o.d(e,{assets:()=>u,contentTitle:()=>a,default:()=>p,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var i=o(7462),r=(o(7294),o(3905));const n={id:"contributors-guide-to-open-sauced",title:"Contributors Guide to OpenSauced",sidebar_label:"Contributors Guide to OpenSauced",keywords:["contributors","guides"]},a=void 0,s={unversionedId:"contributors/contributors-guide-to-open-sauced",id:"contributors/contributors-guide-to-open-sauced",title:"Contributors Guide to OpenSauced",description:"Introduction to OpenSauced for Contributors",source:"@site/docs/contributors/contributors-guide.md",sourceDirName:"contributors",slug:"/contributors/contributors-guide-to-open-sauced",permalink:"/contributors/contributors-guide-to-open-sauced",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributors/contributors-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"contributors-guide-to-open-sauced",title:"Contributors Guide to OpenSauced",sidebar_label:"Contributors Guide to OpenSauced",keywords:["contributors","guides"]},sidebar:"docs",previous:{title:"Understanding Contributor Insights Data",permalink:"/maintainers/understanding-contribs-insights"},next:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"}},u={},l=[{value:"Introduction to OpenSauced for Contributors",id:"introduction-to-opensauced-for-contributors",level:2},{value:"Getting Started",id:"getting-started",level:2},{value:"Creating Your Profile",id:"creating-your-profile",level:2},{value:"Your Profile",id:"your-profile",level:3},{value:"Explore: Finding Your Next Open Source Project",id:"explore-finding-your-next-open-source-project",level:2},{value:"Highlights: Connecting and Recognizing Contributions",id:"highlights-connecting-and-recognizing-contributions",level:2},{value:"Creating a New Highlight",id:"creating-a-new-highlight",level:3},{value:"Writing an Effective Highlight",id:"writing-an-effective-highlight",level:3},{value:"Highlighting Issues",id:"highlighting-issues",level:4},{value:"Highlighting PRs",id:"highlighting-prs",level:4},{value:"Highlighting Dev.to Blog Posts",id:"highlighting-devto-blog-posts",level:4},{value:"Repository Insights: Connecting Your Repositories",id:"repository-insights-connecting-your-repositories",level:2},{value:"Why Create a Repository Insights Page",id:"why-create-a-repository-insights-page",level:3},{value:"Creating a New Repository Insight Page",id:"creating-a-new-repository-insight-page",level:3},{value:"Using Your Repository Insights Page",id:"using-your-repository-insights-page",level:3},{value:"Repositories Dashboard",id:"repositories-dashboard",level:4},{value:"Contributors",id:"contributors",level:4},{value:"Activity",id:"activity",level:4},{value:"Contributor Insights: Connecting with Contributors",id:"contributor-insights-connecting-with-contributors",level:2},{value:"What You can do with Contributor Insights?",id:"what-you-can-do-with-contributor-insights",level:3},{value:"Creating a New Contributor Insights Page",id:"creating-a-new-contributor-insights-page",level:3},{value:"Using Your Contributor Insights Page",id:"using-your-contributor-insights-page",level:2},{value:"Overview",id:"overview",level:3},{value:"Activity",id:"activity-1",level:3},{value:"Highlights",id:"highlights",level:3},{value:"Takeaways",id:"takeaways",level:2},{value:"Conclusion",id:"conclusion",level:2}],c={toc:l},h="wrapper";function p(t){let{components:e,...n}=t;return(0,r.kt)(h,(0,i.Z)({},c,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"introduction-to-opensauced-for-contributors"},"Introduction to OpenSauced for Contributors"),(0,r.kt)("p",null,"OpenSauced is a platform dedicated to empowering you, the contributor, in your open source journey. With OpenSauced, you can find repositories to contribute to, track your contributions, gain insights into your favorite open source projects, and find new contributors to connect with."),(0,r.kt)("h2",{id:"getting-started"},"Getting Started"),(0,r.kt)("p",null,"To get started, you will need to create an account on OpenSauced. You can do this by visiting the ",(0,r.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza"},"app.opensauced.pizza"),' and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard. The best place to get started is by creating your profile.'),(0,r.kt)("h2",{id:"creating-your-profile"},"Creating Your Profile"),(0,r.kt)("p",null,"Creating your profile is a great way to showcase your open source contributions, connect with other contributors and maintainers, and share during a job search. Here are some steps to help you get started:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},'After creating your account, navigate to "Settings."'),(0,r.kt)("p",{parentName:"li"},(0,r.kt)("img",{alt:"settings",src:o(1449).Z,width:"746",height:"178"}))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Once there, you will be asked to add your name, bio, links to your social media accounts, timezone, and other forms of contact information."),(0,r.kt)("admonition",{parentName:"li",type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"Don't forget to add your personal site, GitHub Sponsors URL, and LinkedIn so people can connect with you and learn more about your work."))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},'In the "Interests" section, select the various programming languages and topics you are interested in. Setting them helps us recommend open source projects that fit your interests.')),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Manage your email preferences."))),(0,r.kt)("h3",{id:"your-profile"},"Your Profile"),(0,r.kt)("p",null,"Your profile is a great resource for showcasing your contributions and sharing your open source work with others."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"your profile",src:o(232).Z,width:"955",height:"994"})),(0,r.kt)("p",null,'On your profile, you will see the "Highlights" tab, which you can learn more about ',(0,r.kt)("a",{parentName:"p",href:"#highlights-connecting-and-recognizing-contributions"},"in this section"),", and three other tabs:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contributions"),": This tab includes a graph showing the number of PRs you have opened, ",(0,r.kt)("a",{parentName:"li",href:"/welcome/glossary#pr-velocity"},"the velocity of your PRs"),', and the number of repositories you have contributed to. Underneath the graph is a "Latest PRs" chart, which shows a list of current and recent PRs. This tab is helpful if you want to showcase a steady and consistent open source contribution experience.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Connections"),": For pro accounts, you can reach out to other contributors and maintainers to collaborate on projects or to learn from them."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Recommendations"),': This tab includes a list of open source projects that are chosen based on the programming languages you picked in the "Interests" section of your public profile. It is useful if you\'re looking for new projects to contribute to.')),(0,r.kt)("h2",{id:"explore-finding-your-next-open-source-project"},"Explore: Finding Your Next Open Source Project"),(0,r.kt)("p",null,'The "Explore" tab is a great place to start if you\'re looking for a new open source project to contribute to or want to find repositories for potential job opportunities. Here, you can find a list of open source projects and filter them by language, top repos, recent, most active, and more.'),(0,r.kt)("p",null,"Once you've selected your filters, you'll be able to see the contributors, spam, and activity levels of the repository. Understanding a repository's activity level and PR velocity can help you determine if it's a good fit for you to contribute to and what to expect when you submit a PR."),(0,r.kt)("p",null,'For example, if you wanted to look for a JavaScript project to contribute to, you would select "JavaScript" from the language dropdown and "Most Active" from the filter dropdown to see the most active JavaScript projects on GitHub. If you want to keep track of the repositories you\'re interested in contributing to, you can select and add them to your ',(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights Page"),"."),(0,r.kt)("h2",{id:"highlights-connecting-and-recognizing-contributions"},"Highlights: Connecting and Recognizing Contributions"),(0,r.kt)("p",null,"Leveraging OpenSauced's ",(0,r.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights")," feature is a great way for you to showcase your valuable contributions to open source projects. You can curate and share your achievements and milestones and bring visibility to your hard work."),(0,r.kt)("p",null,"The Highlights feature allows you to:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"talk about issues that you raised,"),(0,r.kt)("li",{parentName:"ul"},"share Dev.to blog posts that you've written,"),(0,r.kt)("li",{parentName:"ul"},"display PRs that showcase your contributions.")),(0,r.kt)("h3",{id:"creating-a-new-highlight"},"Creating a New Highlight"),(0,r.kt)("p",null,"There are two ways to create a new highlight:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below)."),(0,r.kt)("li",{parentName:"ol"},"Choose from a list of suggestions (shown in orange below).")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"highlight suggestions",src:o(4173).Z,width:"626",height:"633"})),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"If you're adding a blog post, you'll need to associate it to a repository by clicking the \"Add a repo\" button.")),(0,r.kt)("p",null,"Finally, it's time to add the details of your highlight. You can write the description yourself or use the auto-summarize button to generate one."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"gif of creating a highlight",src:o(7352).Z,width:"2294",height:"1066"})),(0,r.kt)("h3",{id:"writing-an-effective-highlight"},"Writing an Effective Highlight"),(0,r.kt)("p",null,"Sharing the story of your hard work is an opportunity to connect with the reader, which could include potential collaborators or recruiters. Here are some tips to help you write effective stories for your highlights:"),(0,r.kt)("h4",{id:"highlighting-issues"},"Highlighting Issues"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Share your motivation"),': Briefly explain why you raised the issue. For example, "I\'m passionate about improving accessibility because I believe everyone should have equal access to information."'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Summarize the issue"),": Briefly describe the issue you wrote so your readers have context. For example, \"I raised an issue to add alt text to images in the project's 'About Us' page.\""),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Describe the impact:"),' Briefly state how the resolution of the issue will improve the project. For example, "This will help people who use screen readers to understand the content of the images."')),(0,r.kt)("h4",{id:"highlighting-prs"},"Highlighting PRs"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Describe the PR"),': Start with a clear summary of what your PR accomplishes. For example, "I added a new feature to the project\'s Chrome Extension that allows users to summarize content."'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Highlight your solution and its impact"),': Briefly describe the solution, any challenges you faced, or any part of the PR you\'re particularly proud of. For example, "Initially, I faced challenges with the API, but I was able to resolve them using a different endpoint."'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Reflect on your experience"),': Mention what you learned from working on the PR. For example, "I learned a lot about the Chrome Extension API and how to use it to create new features."')),(0,r.kt)("h4",{id:"highlighting-devto-blog-posts"},"Highlighting Dev.to Blog Posts"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Describe the topic"),": Begin with an interesting blog post summary to help your peers and potential recruiters understand your writing."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Discuss the inspiration"),": Explain why you wrote this blog post. Is it to guide others on improving their coding skills, raise awareness about an issue in the tech community, or display your progress in learning a new programming language?"),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"End with a call-to-action"),": Encourage readers to read and engage with the post, whether by commenting or sharing it with others on social media.")),(0,r.kt)("h2",{id:"repository-insights-connecting-your-repositories"},"Repository Insights: Connecting Your Repositories"),(0,r.kt)("p",null,"OpenSauced ",(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights")," allows you to track open source projects you are interested in. You can use Repository Insights Pages to track repositories' growth, analyze work, and connect with others."),(0,r.kt)("h3",{id:"why-create-a-repository-insights-page"},"Why Create a Repository Insights Page"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To track projects you're working on"),": Tracking projects you're working on can help you stay up-to-date with the latest activity, trends, and connect with other contributors."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To identify potential projects to contribute to"),': If you\'re looking for a new project to contribute to, you can use the Repository Insights feature to track active projects that are looking for contributors. You can use the "Explore" tab to find new projects to contribute to and track them with your Repository Insights page.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To network and engage with the community"),': Finding people to work and connect with can be challenging. You can connect with your network through the feature\'s "Contributors" tab.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To track the activity of a topic you're interested in"),": Keeping up with the latest trends and activity in a particular topic can be challenging. You can use the Repository Insights feature to track the activity of a specific topic and find new projects to contribute to. For example, you can create a ",(0,r.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/pages/BekahHW/1055/dashboard"},"Repository Insight Page for Active AI Repositories"),"."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To track the activity of your favorite programming languages"),": If you're interested in tracking the activity of your favorite programming languages, you can use the Repository Insights feature to track the open source projects that are using them."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"To aid in the job search"),": If you're looking for a job, you can use the Repository Insights feature to track the activity of the organizations you're interested in working on. This can help you understand the activity level of the repositories and the types of contributions being made, and even identify which company you want to contribute to."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Curating collections for interest groups"),": You can curate and share repositories focusing on sectors and programming languages that interest you.")),(0,r.kt)("h3",{id:"creating-a-new-repository-insight-page"},"Creating a New Repository Insight Page"),(0,r.kt)("p",null,'To track the repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.'),(0,r.kt)("p",null,"There are two ways to add repositories to your Repository Insight Page:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Sync GitHub organization"),": Syncing your GitHub organizations is a good idea if you want to keep track of their open source project activities and trends."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Connect individual repositories"),": Connecting individual repositories is a good idea if you want to keep track of the contributions of a specific repository or group of repositories.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"sync Repository Insights gif",src:o(7220).Z,width:"960",height:"543"})),(0,r.kt)("h3",{id:"using-your-repository-insights-page"},"Using Your Repository Insights Page"),(0,r.kt)("p",null,"Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them."),(0,r.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,r.kt)("h4",{id:"repositories-dashboard"},"Repositories Dashboard"),(0,r.kt)("p",null,"If you're looking for an active project to contribute to, this tab can help you as it contains information such as activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days. This information is also a good way to connect with others on the project or where to find support."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"repositories tab",src:o(7224).Z,width:"1148",height:"796"})),(0,r.kt)("h4",{id:"contributors"},"Contributors"),(0,r.kt)("p",null,'The "Contributors" tab allows you to view more detailed information about other contributors, including activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days. This can be a great way to find others to collaborate with or recommend for jobs.'),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"contributors insight list",src:o(8967).Z,width:"1212",height:"628"})),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"Want to learn more about your peers? You can select and add them to a Contributor Insight Page.")),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,r.kt)("a",{parentName:"p",href:"/maintainers/understanding-repo-insights"},"Understanding Repository Insights Data"),".")),(0,r.kt)("h4",{id:"activity"},"Activity"),(0,r.kt)("p",null,"The \"Activity\" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced."),(0,r.kt)("p",null,"This information can help you find potential repositories to contribute to and peers to collaborate with or ask for mentorship."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"activity graph",src:o(8517).Z,width:"1592",height:"791"})),(0,r.kt)("h2",{id:"contributor-insights-connecting-with-contributors"},"Contributor Insights: Connecting with Contributors"),(0,r.kt)("p",null,"The ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights")," feature helps you connect with other contributors or learn more about what others are up to in open source. With this feature, you can categorize, watch, and check out different groups of contributors within open source projects."),(0,r.kt)("h3",{id:"what-you-can-do-with-contributor-insights"},"What You can do with Contributor Insights?"),(0,r.kt)("p",null,"There are many things you can do with this feature, but here are some ideas to get you started:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Track personal contributions"),": If you create a list of your personal contributions, you can track them and see how you're doing over time, as well as get a breakdown of the type of contributions you're making, including commits, created PRs, reviewed PRs, and created issues."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Learn about what other contributors are doing in open source"),": You can learn where other contributors are contributing, what they're working on, and how active they are in the open source community."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"See who's using the OpenSauced Highlights feature"),": You can see who's using the Highlights feature and show them support by giving an emoji reaction."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Track contributors for job opportunities"),": If you're looking for a job, you can track the activity of the contributors you're interested in working with. This helps you understand the activity level of the repositories and the types of contributions being made, and you can even identify which company you want to contribute to.")),(0,r.kt)("h3",{id:"creating-a-new-contributor-insights-page"},"Creating a New Contributor Insights Page"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},'Click the "+" next to "Insights" in your sidebar.'),(0,r.kt)("li",{parentName:"ol"},'Select "New Contributor Insight" to start a new Contributor Insight Page.'),(0,r.kt)("li",{parentName:"ol"},"Give your page a name."),(0,r.kt)("li",{parentName:"ol"},"Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following."),(0,r.kt)("li",{parentName:"ol"},"Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"contribution sync gif",src:o(2319).Z,width:"1324",height:"1030"})),(0,r.kt)("h2",{id:"using-your-contributor-insights-page"},"Using Your Contributor Insights Page"),(0,r.kt)("p",null,"Once you have created your list, you will be redirected to your Contributor Insights Page. Here, you will see a dashboard with an overview of the contributors."),(0,r.kt)("p",null,"There are three tabs that provide you with more information on these repositories:"),(0,r.kt)("h3",{id:"overview"},"Overview"),(0,r.kt)("p",null,'The "Overview" tab gives you a high-level view of the contributors in your list, including the total number of commits in the last 30 days and the types of contributors: ',(0,r.kt)("a",{parentName:"p",href:"/welcome/glossary/#active-contributors"},"Active"),", ",(0,r.kt)("a",{parentName:"p",href:"/welcome/glossary#new-contributors"},"New"),", and ",(0,r.kt)("a",{parentName:"p",href:"/welcome/glossary#alumni-contributors"},"Alumni"),"."),(0,r.kt)("h3",{id:"activity-1"},"Activity"),(0,r.kt)("p",null,'The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they\'ve contributed to, and how they compare to each other.'),(0,r.kt)("p",null,"You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"list graph",src:o(7392).Z,width:"1147",height:"731"})),(0,r.kt)("h3",{id:"highlights"},"Highlights"),(0,r.kt)("p",null,'The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.'),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},"To learn and understand more about the data provided, see ",(0,r.kt)("a",{parentName:"p",href:"/maintainers/understanding-contribs-insights"},"Understanding Contributor Insights Data"),".")),(0,r.kt)("h2",{id:"takeaways"},"Takeaways"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Create Your Profile"),": Creating your profile is a great way to display your open source contributions, connect with other contributors and maintainers, and share during a job search."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Explore"),': The "Explore" tab is a great place to find new open source projects to contribute to.'),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Highlights"),": Leveraging OpenSauced's Highlights feature is a great way for you to showcase your valuable contributions to open source projects."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Repository Insights"),": OpenSauced Repository Insights feature allows you to track open source projects you are interested in."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contributor Insights"),": The Contributor Insights feature helps you understand other contributors or track your own work in open source.")),(0,r.kt)("h2",{id:"conclusion"},"Conclusion"),(0,r.kt)("p",null,"We hope this guide has helped you get started with OpenSauced and that you're excited to use the platform to connect with other contributors and maintainers, track your contributions, and find new open source projects to contribute to. If you have any questions or need help, please don't hesitate to reach out to us. We're here to help you succeed in your open source journey."))}p.isMDXComponent=!0},2319:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/contributors-sync-list-b427c1971ecbd190a472a1a061bf63a6.gif"},7352:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},7220:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},8517:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/activity-repos-insights-3734baf3ab38356a4de96d43dde41a3d.png"},8967:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},4173:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},7392:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},232:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/profile-d4fae85bbb516b6a5b5837a3d137c223.png"},7224:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"},1449:(t,e,o)=>{o.d(e,{Z:()=>i});const i=o.p+"assets/images/settings-748558f026c2a0b1c23cbb3648bf3a05.png"}}]); \ No newline at end of file diff --git a/assets/js/9f7d7e44.2c6d3d0b.js b/assets/js/9f7d7e44.85f3784e.js similarity index 98% rename from assets/js/9f7d7e44.2c6d3d0b.js rename to assets/js/9f7d7e44.85f3784e.js index ef65e82a..f7add069 100644 --- a/assets/js/9f7d7e44.2c6d3d0b.js +++ b/assets/js/9f7d7e44.85f3784e.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3617],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>b});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function s(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=r.createContext({}),u=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},p=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(o),h=n,b=d["".concat(c,".").concat(h)]||d[h]||l[h]||a;return o?r.createElement(b,s(s({ref:t},p),{},{components:o})):r.createElement(b,s({ref:t},p))}));function b(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,s=new Array(a);s[0]=h;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[d]="string"==typeof e?e:n,s[1]=i;for(var u=2;u{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=o(7462),n=(o(7294),o(3905));const a={id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["open source tech job guide","open sauced tech job tips","open source career development","open source projects for tech resume","open source skills for tech employers","land your dream tech job"],"open sauced":null},s=void 0,i={unversionedId:"job-seekers-guide/job-seekers-guide-introduction",id:"job-seekers-guide/job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",description:"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through open source contributions.",source:"@site/docs/job-seekers-guide/introduction.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/job-seekers-guide-introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/introduction.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["open source tech job guide","open sauced tech job tips","open source career development","open source projects for tech resume","open source skills for tech employers","land your dream tech job"],"open sauced":null},sidebar:"docs",previous:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"},next:{title:"How to Translate Open Source Contributions into Career Opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities"}},c={},u=[],p={toc:u},d="wrapper";function l(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through open source contributions."),(0,n.kt)("p",null,"Open source provides you the opportunity to showcase your code, documentation, communication, and collaboration skills to potential employers. You also have the ability to grow your professional network and build real connections within the tech industry through open source."),(0,n.kt)("p",null,"OpenSauced can help you craft an open source profile that is attractive to hiring managers and recruiters and help you land that next role."),(0,n.kt)("p",null,"In this guide, you will learn how to use OpenSauced features like your personal ",(0,n.kt)("a",{parentName:"p",href:"/features/dev-card"},"Dev Card"),", ",(0,n.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights"),", ",(0,n.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights"),", and ",(0,n.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights")," to showcase your open source work and build connections to help you land a job."))}l.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3617],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>b});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function s(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=r.createContext({}),u=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):s(s({},t),e)),o},p=function(e){var t=u(e.components);return r.createElement(c.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),d=u(o),h=n,b=d["".concat(c,".").concat(h)]||d[h]||l[h]||a;return o?r.createElement(b,s(s({ref:t},p),{},{components:o})):r.createElement(b,s({ref:t},p))}));function b(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,s=new Array(a);s[0]=h;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[d]="string"==typeof e?e:n,s[1]=i;for(var u=2;u{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>u});var r=o(7462),n=(o(7294),o(3905));const a={id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["open source tech job guide","open sauced tech job tips","open source career development","open source projects for tech resume","open source skills for tech employers","land your dream tech job"],"open sauced":null},s=void 0,i={unversionedId:"job-seekers-guide/job-seekers-guide-introduction",id:"job-seekers-guide/job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",description:"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through open source contributions.",source:"@site/docs/job-seekers-guide/introduction.md",sourceDirName:"job-seekers-guide",slug:"/job-seekers-guide/job-seekers-guide-introduction",permalink:"/job-seekers-guide/job-seekers-guide-introduction",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/job-seekers-guide/introduction.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"job-seekers-guide-introduction",title:"Learn How to Land a Tech Job Using OpenSauced",sidebar_label:"Introduction",keywords:["open source tech job guide","open sauced tech job tips","open source career development","open source projects for tech resume","open source skills for tech employers","land your dream tech job"],"open sauced":null},sidebar:"docs",previous:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"},next:{title:"How to Translate Open Source Contributions into Career Opportunities",permalink:"/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities"}},c={},u=[],p={toc:u},d="wrapper";function l(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through open source contributions."),(0,n.kt)("p",null,"Open source provides you the opportunity to showcase your code, documentation, communication, and collaboration skills to potential employers. You also have the ability to grow your professional network and build real connections within the tech industry through open source."),(0,n.kt)("p",null,"OpenSauced can help you craft an open source profile that is attractive to hiring managers and recruiters and help you land that next role."),(0,n.kt)("p",null,"In this guide, you will learn how to use OpenSauced features like your personal ",(0,n.kt)("a",{parentName:"p",href:"/features/dev-card"},"Dev Card"),", ",(0,n.kt)("a",{parentName:"p",href:"/features/highlights"},"Highlights"),", ",(0,n.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights"),", and ",(0,n.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repository Insights")," to showcase your open source work and build connections to help you land a job."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a09c2993.cc892cd2.js b/assets/js/a09c2993.45729054.js similarity index 98% rename from assets/js/a09c2993.cc892cd2.js rename to assets/js/a09c2993.45729054.js index 0064e084..fb125587 100644 --- a/assets/js/a09c2993.cc892cd2.js +++ b/assets/js/a09c2993.45729054.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4128],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),u=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=u(n),m=o,h=d["".concat(s,".").concat(m)]||d[m]||l[m]||a;return n?r.createElement(h,i(i({ref:t},p),{},{components:n})):r.createElement(h,i({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[d]="string"==typeof e?e:o,i[1]=c;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>c,toc:()=>u});var r=n(7462),o=(n(7294),n(3905));const a={slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction","introduction to opensauced","opensauced introduction","get to know opensauced"]},i=void 0,c={unversionedId:"introduction",id:"introduction",title:"Introduction to OpenSauced \ud83c\udf55",description:"Example banner",source:"@site/docs/introduction.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/introduction.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction","introduction to opensauced","opensauced introduction","get to know opensauced"]},sidebar:"docs",next:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"}},s={},u=[],p={toc:u},d="wrapper";function l(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Example banner",src:n(4761).Z,width:"1920",height:"1080"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},'You can watch "',(0,o.kt)("a",{parentName:"p",href:"https://www.youtube.com/watch?v=h8gwrzis-dY&list=PLHyZ0Wz_A44XAE-6Gbd69pZLTdqWdwlBx&index=1&t=2s"},"What is OpenSauced?"),'" on YouTube.')),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and teams and redefining the meaning of open source contributions. We believe that every contribution, big or small, is valuable and deserves to be recognized. Our platform provides a way to track contributions through a GitHub-powered dashboard, allowing users to showcase their contributions and gain insights into their open source projects."),(0,o.kt)("p",null,"Our mission is to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/maintainers/maintainers-guide-to-open-sauced"},(0,o.kt)("strong",{parentName:"a"},"Empower maintainers and teams")),": Track and showcase your contributions and projects, connect with contributors, collaborate with your team, and gain insights into your open source projects."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/contributors/contributors-guide-to-open-sauced"},(0,o.kt)("strong",{parentName:"a"},"Support contributors")),": Showcase your contributions, tell your story, connect with new projects and other contributors, and gain insights into your open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/highlights"},(0,o.kt)("strong",{parentName:"a"},"Highlight success")),": Showcase your contributions with our shareable Highlights, inspiring others to embark on their open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/repo-insights"},(0,o.kt)("strong",{parentName:"a"},"Unlock Insights")),": Understand the health of your project, track contributions, and make data-driven decisions with OpenSauced Insights.")))}l.isMDXComponent=!0},4761:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/what-is-opensauced-borderless-0a51e6d81902d2866db643a60eae78c7.jpg"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4128],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),u=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=u(e.components);return r.createElement(s.Provider,{value:t},e.children)},d="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),d=u(n),m=o,h=d["".concat(s,".").concat(m)]||d[m]||l[m]||a;return n?r.createElement(h,i(i({ref:t},p),{},{components:n})):r.createElement(h,i({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=m;var c={};for(var s in t)hasOwnProperty.call(t,s)&&(c[s]=t[s]);c.originalType=e,c[d]="string"==typeof e?e:o,i[1]=c;for(var u=2;u{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>l,frontMatter:()=>a,metadata:()=>c,toc:()=>u});var r=n(7462),o=(n(7294),n(3905));const a={slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction","introduction to opensauced","opensauced introduction","get to know opensauced"]},i=void 0,c={unversionedId:"introduction",id:"introduction",title:"Introduction to OpenSauced \ud83c\udf55",description:"Example banner",source:"@site/docs/introduction.md",sourceDirName:".",slug:"/",permalink:"/",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/introduction.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{slug:"/",title:"Introduction to OpenSauced \ud83c\udf55",sidebar_label:"Introduction to OpenSauced \ud83c\udf55",keywords:["introduction","introduction to opensauced","opensauced introduction","get to know opensauced"]},sidebar:"docs",next:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"}},s={},u=[],p={toc:u},d="wrapper";function l(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,r.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Example banner",src:n(4761).Z,width:"1920",height:"1080"})),(0,o.kt)("admonition",{type:"info"},(0,o.kt)("p",{parentName:"admonition"},'You can watch "',(0,o.kt)("a",{parentName:"p",href:"https://www.youtube.com/watch?v=h8gwrzis-dY&list=PLHyZ0Wz_A44XAE-6Gbd69pZLTdqWdwlBx&index=1&t=2s"},"What is OpenSauced?"),'" on YouTube.')),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to empowering maintainers and teams and redefining the meaning of open source contributions. We believe that every contribution, big or small, is valuable and deserves to be recognized. Our platform provides a way to track contributions through a GitHub-powered dashboard, allowing users to showcase their contributions and gain insights into their open source projects."),(0,o.kt)("p",null,"Our mission is to:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/maintainers/maintainers-guide-to-open-sauced"},(0,o.kt)("strong",{parentName:"a"},"Empower maintainers and teams")),": Track and showcase your contributions and projects, connect with contributors, collaborate with your team, and gain insights into your open source projects."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/contributors/contributors-guide-to-open-sauced"},(0,o.kt)("strong",{parentName:"a"},"Support contributors")),": Showcase your contributions, tell your story, connect with new projects and other contributors, and gain insights into your open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/highlights"},(0,o.kt)("strong",{parentName:"a"},"Highlight success")),": Showcase your contributions with our shareable Highlights, inspiring others to embark on their open source journey."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"/features/repo-insights"},(0,o.kt)("strong",{parentName:"a"},"Unlock Insights")),": Understand the health of your project, track contributions, and make data-driven decisions with OpenSauced Insights.")))}l.isMDXComponent=!0},4761:(e,t,n)=>{n.d(t,{Z:()=>r});const r=n.p+"assets/images/what-is-opensauced-borderless-0a51e6d81902d2866db643a60eae78c7.jpg"}}]); \ No newline at end of file diff --git a/assets/js/a93463cf.f367a9b1.js b/assets/js/a93463cf.850029f4.js similarity index 99% rename from assets/js/a93463cf.f367a9b1.js rename to assets/js/a93463cf.850029f4.js index c728d104..f8a9d1bd 100644 --- a/assets/js/a93463cf.f367a9b1.js +++ b/assets/js/a93463cf.850029f4.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9277],{3905:(t,e,n)=>{n.d(e,{Zo:()=>u,kt:()=>h});var i=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var c=i.createContext({}),d=function(t){var e=i.useContext(c),n=e;return t&&(n="function"==typeof t?t(e):a(a({},e),t)),n},u=function(t){var e=d(t.components);return i.createElement(c.Provider,{value:e},t.children)},l="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},g=i.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,c=t.parentName,u=s(t,["components","mdxType","originalType","parentName"]),l=d(n),g=r,h=l["".concat(c,".").concat(g)]||l[g]||p[g]||o;return n?i.createElement(h,a(a({ref:e},u),{},{components:n})):i.createElement(h,a({ref:e},u))}));function h(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,a=new Array(o);a[0]=g;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s[l]="string"==typeof t?t:r,a[1]=s;for(var d=2;d{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var i=n(7462),r=(n(7294),n(3905));const o={id:"understanding-contribs-insights",title:"Understanding Contributor Insights Data",sidebar_label:"Understanding Contributor Insights Data",keywords:["maintainers","guides","Contributor Insights Analysis","List Data Exploration","Data Organization","Data Insight from Contributor Insights ","List Visualization","Data Representation in Contributor Insights ","List Data Interpretation","Organizing Data in Contributor Insights "]},a=void 0,s={unversionedId:"maintainers/understanding-contribs-insights",id:"maintainers/understanding-contribs-insights",title:"Understanding Contributor Insights Data",description:"Once you've created your Contributor Insight Page, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-contrib-insights.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-contribs-insights",permalink:"/maintainers/understanding-contribs-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-contrib-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"understanding-contribs-insights",title:"Understanding Contributor Insights Data",sidebar_label:"Understanding Contributor Insights Data",keywords:["maintainers","guides","Contributor Insights Analysis","List Data Exploration","Data Organization","Data Insight from Contributor Insights ","List Visualization","Data Representation in Contributor Insights ","List Data Interpretation","Organizing Data in Contributor Insights "]},sidebar:"docs",previous:{title:"Understanding Repo Insights Data",permalink:"/maintainers/understanding-repo-insights"},next:{title:"Contributors Guide to OpenSauced",permalink:"/contributors/contributors-guide-to-open-sauced"}},c={},d=[{value:"Understanding Contributor Insights Data",id:"understanding-contributor-insights-data",level:2},{value:"Interpreting Total Commits in the Last 30 Days",id:"interpreting-total-commits-in-the-last-30-days",level:3},{value:"Monitoring Active Contributors",id:"monitoring-active-contributors",level:3},{value:"Understanding Types of Contributors",id:"understanding-types-of-contributors",level:3},{value:"New Contributors",id:"new-contributors",level:4},{value:"Alumni Contributors",id:"alumni-contributors",level:4},{value:"Most Active Contributors",id:"most-active-contributors",level:4},{value:"Activity Across Other Repositories",id:"activity-across-other-repositories",level:3}],u={toc:d},l="wrapper";function p(t){let{components:e,...n}=t;return(0,r.kt)(l,(0,i.Z)({},u,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once you've created your Contributor Insight Page, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-contributor-insights-data"},"Understanding Contributor Insights Data"),(0,r.kt)("h3",{id:"interpreting-total-commits-in-the-last-30-days"},"Interpreting Total Commits in the Last 30 Days"),(0,r.kt)("p",null,"Understanding the commits over the last 30 days helps in gauging the overall activity and productivity of the group."),(0,r.kt)("p",null,"High commit volume might indicate a highly active and engaged team. A sudden drop could signal potential issues or a need for additional support or motivation."),(0,r.kt)("h3",{id:"monitoring-active-contributors"},"Monitoring Active Contributors"),(0,r.kt)("p",null,"Identifying active contributors helps in recognizing reliable team members and planning future tasks."),(0,r.kt)("p",null,"Trends in active contributor numbers can indicate the health of the project community and the effectiveness of engagement strategies. Notice the ebbs and flows in individual contributors\u2019 activity."),(0,r.kt)("p",null,"A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"understanding-types-of-contributors"},"Understanding Types of Contributors"),(0,r.kt)("h4",{id:"new-contributors"},"New Contributors"),(0,r.kt)("p",null,"Tracking new contributors is key to understanding the growth and influx of new talent."),(0,r.kt)("p",null,"An influx of new contributors might be a positive sign of project popularity, successful outreach efforts, or the community health of your project. However, it could also indicate a need for more support and guidance for new contributors."),(0,r.kt)("h4",{id:"alumni-contributors"},"Alumni Contributors"),(0,r.kt)("p",null,"Alumni contributors are contributors who haven't been active in the last 30 days. Identifying contributors who have stopped contributing helps in assessing potential issues or dissatisfaction."),(0,r.kt)("p",null,"High churn rates could signal deeper problems within the project environment or community management."),(0,r.kt)("h4",{id:"most-active-contributors"},"Most Active Contributors"),(0,r.kt)("p",null,"Identifying key contributors and potential leaders is important for project health and growth. It can help with delegation of responsibilities and recognition of top performers. It can also identify potential mentors for new contributors and help in planning for succession."),(0,r.kt)("p",null,"If you see that a few active contributors are doing most of the work, it might be a sign that the project needs more support or that the workload needs to be better distributed."),(0,r.kt)("h3",{id:"activity-across-other-repositories"},"Activity Across Other Repositories"),(0,r.kt)("p",null,"Understanding the range of repositories to which contributors in a list have recently contributed shows the broader interests and skills of the community. It reveals contributors' engagement levels and potential specializations, which allows for effective task allocation and identifying mentorship or leadership candidates."),(0,r.kt)("p",null,"Additionally, it opens paths for potential cross-project collaborations and strategic project planning, aligning the project\u2019s goals with trends and interests in the open source ecosystem."),(0,r.kt)("p",null,"Understanding the recent history of each contributor's engagement assists in tracking individual contribution patterns and identifying potentially cooling interests."))}p.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9277],{3905:(t,e,n)=>{n.d(e,{Zo:()=>u,kt:()=>h});var i=n(7294);function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function a(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var c=i.createContext({}),d=function(t){var e=i.useContext(c),n=e;return t&&(n="function"==typeof t?t(e):a(a({},e),t)),n},u=function(t){var e=d(t.components);return i.createElement(c.Provider,{value:e},t.children)},l="mdxType",p={inlineCode:"code",wrapper:function(t){var e=t.children;return i.createElement(i.Fragment,{},e)}},g=i.forwardRef((function(t,e){var n=t.components,r=t.mdxType,o=t.originalType,c=t.parentName,u=s(t,["components","mdxType","originalType","parentName"]),l=d(n),g=r,h=l["".concat(c,".").concat(g)]||l[g]||p[g]||o;return n?i.createElement(h,a(a({ref:e},u),{},{components:n})):i.createElement(h,a({ref:e},u))}));function h(t,e){var n=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var o=n.length,a=new Array(o);a[0]=g;var s={};for(var c in e)hasOwnProperty.call(e,c)&&(s[c]=e[c]);s.originalType=t,s[l]="string"==typeof t?t:r,a[1]=s;for(var d=2;d{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>d});var i=n(7462),r=(n(7294),n(3905));const o={id:"understanding-contribs-insights",title:"Understanding Contributor Insights Data",sidebar_label:"Understanding Contributor Insights Data",keywords:["maintainers","guides","Contributor Insights Analysis","List Data Exploration","Data Organization","Data Insight from Contributor Insights ","List Visualization","Data Representation in Contributor Insights ","List Data Interpretation","Organizing Data in Contributor Insights "]},a=void 0,s={unversionedId:"maintainers/understanding-contribs-insights",id:"maintainers/understanding-contribs-insights",title:"Understanding Contributor Insights Data",description:"Once you've created your Contributor Insight Page, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-contrib-insights.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-contribs-insights",permalink:"/maintainers/understanding-contribs-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-contrib-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"understanding-contribs-insights",title:"Understanding Contributor Insights Data",sidebar_label:"Understanding Contributor Insights Data",keywords:["maintainers","guides","Contributor Insights Analysis","List Data Exploration","Data Organization","Data Insight from Contributor Insights ","List Visualization","Data Representation in Contributor Insights ","List Data Interpretation","Organizing Data in Contributor Insights "]},sidebar:"docs",previous:{title:"Understanding Repo Insights Data",permalink:"/maintainers/understanding-repo-insights"},next:{title:"Contributors Guide to OpenSauced",permalink:"/contributors/contributors-guide-to-open-sauced"}},c={},d=[{value:"Understanding Contributor Insights Data",id:"understanding-contributor-insights-data",level:2},{value:"Interpreting Total Commits in the Last 30 Days",id:"interpreting-total-commits-in-the-last-30-days",level:3},{value:"Monitoring Active Contributors",id:"monitoring-active-contributors",level:3},{value:"Understanding Types of Contributors",id:"understanding-types-of-contributors",level:3},{value:"New Contributors",id:"new-contributors",level:4},{value:"Alumni Contributors",id:"alumni-contributors",level:4},{value:"Most Active Contributors",id:"most-active-contributors",level:4},{value:"Activity Across Other Repositories",id:"activity-across-other-repositories",level:3}],u={toc:d},l="wrapper";function p(t){let{components:e,...n}=t;return(0,r.kt)(l,(0,i.Z)({},u,n,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once you've created your Contributor Insight Page, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-contributor-insights-data"},"Understanding Contributor Insights Data"),(0,r.kt)("h3",{id:"interpreting-total-commits-in-the-last-30-days"},"Interpreting Total Commits in the Last 30 Days"),(0,r.kt)("p",null,"Understanding the commits over the last 30 days helps in gauging the overall activity and productivity of the group."),(0,r.kt)("p",null,"High commit volume might indicate a highly active and engaged team. A sudden drop could signal potential issues or a need for additional support or motivation."),(0,r.kt)("h3",{id:"monitoring-active-contributors"},"Monitoring Active Contributors"),(0,r.kt)("p",null,"Identifying active contributors helps in recognizing reliable team members and planning future tasks."),(0,r.kt)("p",null,"Trends in active contributor numbers can indicate the health of the project community and the effectiveness of engagement strategies. Notice the ebbs and flows in individual contributors\u2019 activity."),(0,r.kt)("p",null,"A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"understanding-types-of-contributors"},"Understanding Types of Contributors"),(0,r.kt)("h4",{id:"new-contributors"},"New Contributors"),(0,r.kt)("p",null,"Tracking new contributors is key to understanding the growth and influx of new talent."),(0,r.kt)("p",null,"An influx of new contributors might be a positive sign of project popularity, successful outreach efforts, or the community health of your project. However, it could also indicate a need for more support and guidance for new contributors."),(0,r.kt)("h4",{id:"alumni-contributors"},"Alumni Contributors"),(0,r.kt)("p",null,"Alumni contributors are contributors who haven't been active in the last 30 days. Identifying contributors who have stopped contributing helps in assessing potential issues or dissatisfaction."),(0,r.kt)("p",null,"High churn rates could signal deeper problems within the project environment or community management."),(0,r.kt)("h4",{id:"most-active-contributors"},"Most Active Contributors"),(0,r.kt)("p",null,"Identifying key contributors and potential leaders is important for project health and growth. It can help with delegation of responsibilities and recognition of top performers. It can also identify potential mentors for new contributors and help in planning for succession."),(0,r.kt)("p",null,"If you see that a few active contributors are doing most of the work, it might be a sign that the project needs more support or that the workload needs to be better distributed."),(0,r.kt)("h3",{id:"activity-across-other-repositories"},"Activity Across Other Repositories"),(0,r.kt)("p",null,"Understanding the range of repositories to which contributors in a list have recently contributed shows the broader interests and skills of the community. It reveals contributors' engagement levels and potential specializations, which allows for effective task allocation and identifying mentorship or leadership candidates."),(0,r.kt)("p",null,"Additionally, it opens paths for potential cross-project collaborations and strategic project planning, aligning the project\u2019s goals with trends and interests in the open source ecosystem."),(0,r.kt)("p",null,"Understanding the recent history of each contributor's engagement assists in tracking individual contribution patterns and identifying potentially cooling interests."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ac97b6b0.c8ee3271.js b/assets/js/ac97b6b0.e602253c.js similarity index 98% rename from assets/js/ac97b6b0.c8ee3271.js rename to assets/js/ac97b6b0.e602253c.js index d13dcd0f..06a692e4 100644 --- a/assets/js/ac97b6b0.c8ee3271.js +++ b/assets/js/ac97b6b0.e602253c.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[300],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>m});var o=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function i(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=o.createContext({}),u=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},l=function(e){var n=u(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},f=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,c=e.originalType,s=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),p=u(t),f=r,m=p["".concat(s,".").concat(f)]||p[f]||d[f]||c;return t?o.createElement(m,i(i({ref:n},l),{},{components:t})):o.createElement(m,i({ref:n},l))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var c=t.length,i=new Array(c);i[0]=f;var a={};for(var s in n)hasOwnProperty.call(n,s)&&(a[s]=n[s]);a.originalType=e,a[p]="string"==typeof e?e:r,i[1]=a;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>a,toc:()=>u});var o=t(7462),r=(t(7294),t(3905));const c={id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections","Network connections","Professional connections","Building connections","Online connections","Networking opportunities","tech connections","grow network","grow connection","Community connections"]},i=void 0,a={unversionedId:"features/connections",id:"features/connections",title:"Grow Your Network with Our Connections Feature!",description:"What are Connections?",source:"@site/docs/features/connections.md",sourceDirName:"features",slug:"/features/connections",permalink:"/features/connections",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/connections.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections","Network connections","Professional connections","Building connections","Online connections","Networking opportunities","tech connections","grow network","grow connection","Community connections"]}},s={},u=[{value:"What are Connections?",id:"what-are-connections",level:2},{value:"How do Connections Work?",id:"how-do-connections-work",level:2}],l={toc:u},p="wrapper";function d(e){let{components:n,...c}=e;return(0,r.kt)(p,(0,o.Z)({},l,c,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"what-are-connections"},"What are Connections?"),(0,r.kt)("p",null,"Connections on OpenSauced serve as a way to build and nurture your professional network within the open source ecosystem. Imagine you're searching for experts in Artificial Intelligence using our ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights")," feature, and you come across several promising developers. What's next?"),(0,r.kt)("p",null,"With Connections, you can now send a request to connect, bringing these experts into your professional circle for easy communication and collaboration."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"connections demo",src:t(89).Z,width:"3064",height:"2016"})),(0,r.kt)("h2",{id:"how-do-connections-work"},"How do Connections Work?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Sending connection requests"),": Once you identify users you'd like to connect with, you can send them a connection request."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Acceptance"),": Upon acceptance of your connection request, both parties become 1st-degree connections."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Following highlights"),": After becoming 1st-degree connections, you can follow each other's highlights, keeping up-to-date with accomplishments, contributions, and other notable activities."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contact information"),": Post-acceptance, you'll have access to contact information to foster direct communication and ongoing dialogue.")),(0,r.kt)("p",null,"Are you interested? Navigate to ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/"},"OpenSauced"),", create your Pro account, and start building!"))}d.isMDXComponent=!0},89:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/connections-fdbdf5ac9efdf36b2a8453bd48708302.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[300],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>m});var o=t(7294);function r(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function c(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function i(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var s=o.createContext({}),u=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):i(i({},n),e)),t},l=function(e){var n=u(e.components);return o.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},f=o.forwardRef((function(e,n){var t=e.components,r=e.mdxType,c=e.originalType,s=e.parentName,l=a(e,["components","mdxType","originalType","parentName"]),p=u(t),f=r,m=p["".concat(s,".").concat(f)]||p[f]||d[f]||c;return t?o.createElement(m,i(i({ref:n},l),{},{components:t})):o.createElement(m,i({ref:n},l))}));function m(e,n){var t=arguments,r=n&&n.mdxType;if("string"==typeof e||r){var c=t.length,i=new Array(c);i[0]=f;var a={};for(var s in n)hasOwnProperty.call(n,s)&&(a[s]=n[s]);a.originalType=e,a[p]="string"==typeof e?e:r,i[1]=a;for(var u=2;u{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>i,default:()=>d,frontMatter:()=>c,metadata:()=>a,toc:()=>u});var o=t(7462),r=(t(7294),t(3905));const c={id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections","Network connections","Professional connections","Building connections","Online connections","Networking opportunities","tech connections","grow network","grow connection","Community connections"]},i=void 0,a={unversionedId:"features/connections",id:"features/connections",title:"Grow Your Network with Our Connections Feature!",description:"What are Connections?",source:"@site/docs/features/connections.md",sourceDirName:"features",slug:"/features/connections",permalink:"/features/connections",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/connections.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"connections",title:"Grow Your Network with Our Connections Feature!",sidebar_label:"Connections",keywords:["connections","Network connections","Professional connections","Building connections","Online connections","Networking opportunities","tech connections","grow network","grow connection","Community connections"]}},s={},u=[{value:"What are Connections?",id:"what-are-connections",level:2},{value:"How do Connections Work?",id:"how-do-connections-work",level:2}],l={toc:u},p="wrapper";function d(e){let{components:n,...c}=e;return(0,r.kt)(p,(0,o.Z)({},l,c,{components:n,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"what-are-connections"},"What are Connections?"),(0,r.kt)("p",null,"Connections on OpenSauced serve as a way to build and nurture your professional network within the open source ecosystem. Imagine you're searching for experts in Artificial Intelligence using our ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributor Insights")," feature, and you come across several promising developers. What's next?"),(0,r.kt)("p",null,"With Connections, you can now send a request to connect, bringing these experts into your professional circle for easy communication and collaboration."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"connections demo",src:t(89).Z,width:"3064",height:"2016"})),(0,r.kt)("h2",{id:"how-do-connections-work"},"How do Connections Work?"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Sending connection requests"),": Once you identify users you'd like to connect with, you can send them a connection request."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Acceptance"),": Upon acceptance of your connection request, both parties become 1st-degree connections."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Following highlights"),": After becoming 1st-degree connections, you can follow each other's highlights, keeping up-to-date with accomplishments, contributions, and other notable activities."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Contact information"),": Post-acceptance, you'll have access to contact information to foster direct communication and ongoing dialogue.")),(0,r.kt)("p",null,"Are you interested? Navigate to ",(0,r.kt)("a",{parentName:"p",href:"https://opensauced.pizza/"},"OpenSauced"),", create your Pro account, and start building!"))}d.isMDXComponent=!0},89:(e,n,t)=>{t.d(n,{Z:()=>o});const o=t.p+"assets/images/connections-fdbdf5ac9efdf36b2a8453bd48708302.gif"}}]); \ No newline at end of file diff --git a/assets/js/aef95fb0.0c667c3d.js b/assets/js/aef95fb0.b676a682.js similarity index 99% rename from assets/js/aef95fb0.0c667c3d.js rename to assets/js/aef95fb0.b676a682.js index aebce4b8..7b2ae7ba 100644 --- a/assets/js/aef95fb0.0c667c3d.js +++ b/assets/js/aef95fb0.b676a682.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6138],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>h});var i=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=i.createContext({}),c=function(e){var t=i.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=c(e.components);return i.createElement(d.Provider,{value:t},e.children)},g="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,d=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),g=c(n),p=r,h=g["".concat(d,".").concat(p)]||g[p]||u[p]||a;return n?i.createElement(h,o(o({ref:t},l),{},{components:n})):i.createElement(h,o({ref:t},l))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var d in t)hasOwnProperty.call(t,d)&&(s[d]=t[d]);s.originalType=e,s[g]="string"==typeof e?e:r,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var i=n(7462),r=(n(7294),n(3905));const a={id:"understanding-repo-insights",title:"Understanding Repo Insights Data",sidebar_label:"Understanding Repo Insights Data",keywords:["maintainers","guides","Insights Interpretation","Analytical Understanding","Insights Overview","Maintainer Insights","Guide to Data Understanding","Data Interpretation Methods","Insightful Data Examination","Guide to Understanding Data"]},o=void 0,s={unversionedId:"maintainers/understanding-repo-insights",id:"maintainers/understanding-repo-insights",title:"Understanding Repo Insights Data",description:"Once your repositories are connected, it's time to understand the data provided on your page. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-repo-insights.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-repo-insights",permalink:"/maintainers/understanding-repo-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-repo-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"understanding-repo-insights",title:"Understanding Repo Insights Data",sidebar_label:"Understanding Repo Insights Data",keywords:["maintainers","guides","Insights Interpretation","Analytical Understanding","Insights Overview","Maintainer Insights","Guide to Data Understanding","Data Interpretation Methods","Insightful Data Examination","Guide to Understanding Data"]},sidebar:"docs",previous:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"},next:{title:"Understanding Contributor Insights Data",permalink:"/maintainers/understanding-contribs-insights"}},d={},c=[{value:"Understanding Repository Insights Data",id:"understanding-repository-insights-data",level:2},{value:"Analyzing Contribution Trends",id:"analyzing-contribution-trends",level:3},{value:"Monitoring PR Activity",id:"monitoring-pr-activity",level:3},{value:"Measuring and Improving PR Velocity",id:"measuring-and-improving-pr-velocity",level:3},{value:"Understanding Repository Insights Contributor Data",id:"understanding-repository-insights-contributor-data",level:2},{value:"Identifying and Engaging with Key Contributors",id:"identifying-and-engaging-with-key-contributors",level:3},{value:"Tracking and Responding to Contributor Activity Levels",id:"tracking-and-responding-to-contributor-activity-levels",level:3},{value:"Activity Levels Across Repositories",id:"activity-levels-across-repositories",level:3},{value:"Understanding Activity Levels Over Time",id:"understanding-activity-levels-over-time",level:3},{value:"Using Programming Language Data",id:"using-programming-language-data",level:3},{value:"Creating Opportunities",id:"creating-opportunities",level:3}],l={toc:c},g="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(g,(0,i.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once your repositories are connected, it's time to understand the data provided on your page. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-repository-insights-data"},"Understanding Repository Insights Data"),(0,r.kt)("h3",{id:"analyzing-contribution-trends"},"Analyzing Contribution Trends"),(0,r.kt)("p",null,"Discover patterns in contributions over time. Look for spikes or drops in activity and correlate these with specific events or milestones. This can help you understand what drives engagement in your projects."),(0,r.kt)("h3",{id:"monitoring-pr-activity"},"Monitoring PR Activity"),(0,r.kt)("p",null,"Knowing the status of PRs (open, closed, draft, merged) helps in understanding the workflow efficiency and backlog. High volumes of open or draft PRs might indicate a need for more resources or a revision of your review process. Conversely, a steady flow of merged PRs can indicate a healthy, active development process."),(0,r.kt)("h3",{id:"measuring-and-improving-pr-velocity"},"Measuring and Improving PR Velocity"),(0,r.kt)("p",null,"Track how quickly PRs are being merged. The average time taken for PRs to merge is a critical metric for understanding the efficiency of the code review and deployment process. Longer PR merge times might signal issues in the review process or resource allocation or could indicate complex code changes that require more thorough checks. Use this data to set benchmarks and identify opportunities for streamlining your review and integration processes."),(0,r.kt)("h2",{id:"understanding-repository-insights-contributor-data"},"Understanding Repository Insights Contributor Data"),(0,r.kt)("h3",{id:"identifying-and-engaging-with-key-contributors"},"Identifying and Engaging with Key Contributors"),(0,r.kt)("p",null,"Recognizing key contributors helps in understanding the project's most active and influential members. Consider reaching out to them for deeper collaboration or acknowledging their efforts to keep them motivated and engaged."),(0,r.kt)("h3",{id:"tracking-and-responding-to-contributor-activity-levels"},"Tracking and Responding to Contributor Activity Levels"),(0,r.kt)("p",null,"Tracking how active contributors are and the trends in their activity levels is crucial for project health. Understanding the activity patterns of contributors helps in assessing their engagement and reliability. Regular contributors are often more familiar with the project and can be more dependable for critical tasks."),(0,r.kt)("p",null,"Notice the ebbs and flows in individual contributors\u2019 activity. A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"activity-levels-across-repositories"},"Activity Levels Across Repositories"),(0,r.kt)("p",null,"This indicates the breadth of a contributor's involvement in open source projects. A contributor active across multiple repositories might bring diverse experiences and ideas but may also have divided attention. Alternatively, a contributor active in a single repository might be more focused and familiar with the project."),(0,r.kt)("h3",{id:"understanding-activity-levels-over-time"},"Understanding Activity Levels Over Time"),(0,r.kt)("p",null,"Past activity levels can be a predictor of future contributions. Regular past contributions might suggest continued involvement. However, a contributor who has been inactive for a while might be less likely to contribute in the future."),(0,r.kt)("p",null,"Trends in activity levels and contributions can be indicators of the overall health of the project community. A decline in activity might signal issues that need addressing to keep the community vibrant and engaged."),(0,r.kt)("h3",{id:"using-programming-language-data"},"Using Programming Language Data"),(0,r.kt)("p",null,"Awareness of the programming languages a contributor is comfortable with enables maintainers to assign tasks more effectively, ensuring that contributors work in areas where they are most skilled and interested. This can help in identifying contributors for specific tasks or projects."),(0,r.kt)("h3",{id:"creating-opportunities"},"Creating Opportunities"),(0,r.kt)("p",null,"Understanding who contributes to what open source projects and when they do can help maintainers manage team dynamics. With this information, maintainers can make decisions to ensure workloads are balanced and contributors are working in areas that match their skills and interests. Identifying less experienced contributors who are active and showing potential can lead to mentorship opportunities, helping to grow the project\u2019s contributor base."))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6138],{3905:(e,t,n)=>{n.d(t,{Zo:()=>l,kt:()=>h});var i=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=i.createContext({}),c=function(e){var t=i.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},l=function(e){var t=c(e.components);return i.createElement(d.Provider,{value:t},e.children)},g="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var n=e.components,r=e.mdxType,a=e.originalType,d=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),g=c(n),p=r,h=g["".concat(d,".").concat(p)]||g[p]||u[p]||a;return n?i.createElement(h,o(o({ref:t},l),{},{components:n})):i.createElement(h,o({ref:t},l))}));function h(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=n.length,o=new Array(a);o[0]=p;var s={};for(var d in t)hasOwnProperty.call(t,d)&&(s[d]=t[d]);s.originalType=e,s[g]="string"==typeof e?e:r,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var i=n(7462),r=(n(7294),n(3905));const a={id:"understanding-repo-insights",title:"Understanding Repo Insights Data",sidebar_label:"Understanding Repo Insights Data",keywords:["maintainers","guides","Insights Interpretation","Analytical Understanding","Insights Overview","Maintainer Insights","Guide to Data Understanding","Data Interpretation Methods","Insightful Data Examination","Guide to Understanding Data"]},o=void 0,s={unversionedId:"maintainers/understanding-repo-insights",id:"maintainers/understanding-repo-insights",title:"Understanding Repo Insights Data",description:"Once your repositories are connected, it's time to understand the data provided on your page. Understanding this data is key to effectively managing your projects and contributors.",source:"@site/docs/maintainers/understanding-repo-insights.md",sourceDirName:"maintainers",slug:"/maintainers/understanding-repo-insights",permalink:"/maintainers/understanding-repo-insights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/maintainers/understanding-repo-insights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"understanding-repo-insights",title:"Understanding Repo Insights Data",sidebar_label:"Understanding Repo Insights Data",keywords:["maintainers","guides","Insights Interpretation","Analytical Understanding","Insights Overview","Maintainer Insights","Guide to Data Understanding","Data Interpretation Methods","Insightful Data Examination","Guide to Understanding Data"]},sidebar:"docs",previous:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"},next:{title:"Understanding Contributor Insights Data",permalink:"/maintainers/understanding-contribs-insights"}},d={},c=[{value:"Understanding Repository Insights Data",id:"understanding-repository-insights-data",level:2},{value:"Analyzing Contribution Trends",id:"analyzing-contribution-trends",level:3},{value:"Monitoring PR Activity",id:"monitoring-pr-activity",level:3},{value:"Measuring and Improving PR Velocity",id:"measuring-and-improving-pr-velocity",level:3},{value:"Understanding Repository Insights Contributor Data",id:"understanding-repository-insights-contributor-data",level:2},{value:"Identifying and Engaging with Key Contributors",id:"identifying-and-engaging-with-key-contributors",level:3},{value:"Tracking and Responding to Contributor Activity Levels",id:"tracking-and-responding-to-contributor-activity-levels",level:3},{value:"Activity Levels Across Repositories",id:"activity-levels-across-repositories",level:3},{value:"Understanding Activity Levels Over Time",id:"understanding-activity-levels-over-time",level:3},{value:"Using Programming Language Data",id:"using-programming-language-data",level:3},{value:"Creating Opportunities",id:"creating-opportunities",level:3}],l={toc:c},g="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(g,(0,i.Z)({},l,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Once your repositories are connected, it's time to understand the data provided on your page. Understanding this data is key to effectively managing your projects and contributors."),(0,r.kt)("h2",{id:"understanding-repository-insights-data"},"Understanding Repository Insights Data"),(0,r.kt)("h3",{id:"analyzing-contribution-trends"},"Analyzing Contribution Trends"),(0,r.kt)("p",null,"Discover patterns in contributions over time. Look for spikes or drops in activity and correlate these with specific events or milestones. This can help you understand what drives engagement in your projects."),(0,r.kt)("h3",{id:"monitoring-pr-activity"},"Monitoring PR Activity"),(0,r.kt)("p",null,"Knowing the status of PRs (open, closed, draft, merged) helps in understanding the workflow efficiency and backlog. High volumes of open or draft PRs might indicate a need for more resources or a revision of your review process. Conversely, a steady flow of merged PRs can indicate a healthy, active development process."),(0,r.kt)("h3",{id:"measuring-and-improving-pr-velocity"},"Measuring and Improving PR Velocity"),(0,r.kt)("p",null,"Track how quickly PRs are being merged. The average time taken for PRs to merge is a critical metric for understanding the efficiency of the code review and deployment process. Longer PR merge times might signal issues in the review process or resource allocation or could indicate complex code changes that require more thorough checks. Use this data to set benchmarks and identify opportunities for streamlining your review and integration processes."),(0,r.kt)("h2",{id:"understanding-repository-insights-contributor-data"},"Understanding Repository Insights Contributor Data"),(0,r.kt)("h3",{id:"identifying-and-engaging-with-key-contributors"},"Identifying and Engaging with Key Contributors"),(0,r.kt)("p",null,"Recognizing key contributors helps in understanding the project's most active and influential members. Consider reaching out to them for deeper collaboration or acknowledging their efforts to keep them motivated and engaged."),(0,r.kt)("h3",{id:"tracking-and-responding-to-contributor-activity-levels"},"Tracking and Responding to Contributor Activity Levels"),(0,r.kt)("p",null,"Tracking how active contributors are and the trends in their activity levels is crucial for project health. Understanding the activity patterns of contributors helps in assessing their engagement and reliability. Regular contributors are often more familiar with the project and can be more dependable for critical tasks."),(0,r.kt)("p",null,"Notice the ebbs and flows in individual contributors\u2019 activity. A decline in a normally active contributor\u2019s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate."),(0,r.kt)("h3",{id:"activity-levels-across-repositories"},"Activity Levels Across Repositories"),(0,r.kt)("p",null,"This indicates the breadth of a contributor's involvement in open source projects. A contributor active across multiple repositories might bring diverse experiences and ideas but may also have divided attention. Alternatively, a contributor active in a single repository might be more focused and familiar with the project."),(0,r.kt)("h3",{id:"understanding-activity-levels-over-time"},"Understanding Activity Levels Over Time"),(0,r.kt)("p",null,"Past activity levels can be a predictor of future contributions. Regular past contributions might suggest continued involvement. However, a contributor who has been inactive for a while might be less likely to contribute in the future."),(0,r.kt)("p",null,"Trends in activity levels and contributions can be indicators of the overall health of the project community. A decline in activity might signal issues that need addressing to keep the community vibrant and engaged."),(0,r.kt)("h3",{id:"using-programming-language-data"},"Using Programming Language Data"),(0,r.kt)("p",null,"Awareness of the programming languages a contributor is comfortable with enables maintainers to assign tasks more effectively, ensuring that contributors work in areas where they are most skilled and interested. This can help in identifying contributors for specific tasks or projects."),(0,r.kt)("h3",{id:"creating-opportunities"},"Creating Opportunities"),(0,r.kt)("p",null,"Understanding who contributes to what open source projects and when they do can help maintainers manage team dynamics. With this information, maintainers can make decisions to ensure workloads are balanced and contributors are working in areas that match their skills and interests. Identifying less experienced contributors who are active and showing potential can lead to mentorship opportunities, helping to grow the project\u2019s contributor base."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b44b9bb7.a119e698.js b/assets/js/b44b9bb7.3b9dfb6b.js similarity index 99% rename from assets/js/b44b9bb7.a119e698.js rename to assets/js/b44b9bb7.3b9dfb6b.js index eee10afb..8efd2fa2 100644 --- a/assets/js/b44b9bb7.a119e698.js +++ b/assets/js/b44b9bb7.3b9dfb6b.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7899],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var s=n.createContext({}),p=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(a),m=i,h=u["".concat(s,".").concat(m)]||u[m]||d[m]||r;return a?n.createElement(h,o(o({ref:t},c),{},{components:a})):n.createElement(h,o({ref:t},c))}));function h(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,o=new Array(r);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[u]="string"==typeof e?e:i,o[1]=l;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var n=a(7462),i=(a(7294),a(3905));const r={id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli","Pizza CLI Overview","Command Line Interface Introduction","CLI Basics","Pizza Command Line Tool","CLI Usage Guide","Pizza CLI Commands","Introduction to Command-Line Interfaces","Command Line Tool Features","CLI for Pizza Enthusiasts","Pizza Ordering CLI","Getting Started with Pizza CLI"]},o=void 0,l={unversionedId:"tools/pizza-cli",id:"tools/pizza-cli",title:"Introduction to the Pizza CLI",description:"The OpenSauced Pizza CLI",source:"@site/docs/tools/pizza-cli.md",sourceDirName:"tools",slug:"/tools/pizza-cli",permalink:"/tools/pizza-cli",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/pizza-cli.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli","Pizza CLI Overview","Command Line Interface Introduction","CLI Basics","Pizza Command Line Tool","CLI Usage Guide","Pizza CLI Commands","Introduction to Command-Line Interfaces","Command Line Tool Features","CLI for Pizza Enthusiasts","Pizza Ordering CLI","Getting Started with Pizza CLI"]},sidebar:"docs",previous:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"},next:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"}},s={},p=[{value:"The OpenSauced Pizza CLI",id:"the-opensauced-pizza-cli",level:2},{value:"Key Features",id:"key-features",level:2},{value:"Installation and Instructions",id:"installation-and-instructions",level:2},{value:"\ud83d\udce6 Download and Install",id:"-download-and-install",level:3},{value:"\ud83d\udda5\ufe0f Local Development Setup",id:"\ufe0f-local-development-setup",level:3}],c={toc:p},u="wrapper";function d(e){let{components:t,...a}=e;return(0,i.kt)(u,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"the-opensauced-pizza-cli"},"The OpenSauced Pizza CLI"),(0,i.kt)("p",null,"The OpenSauced Pizza CLI is a command-line utility designed specifically for OpenSauced. It provides a comprehensive set of functionalities that make it easier for users to gain insights and metrics and manage various tasks related to open source projects through OpenSauced."),(0,i.kt)("p",null,"Beyond just code commits, the pizza CLI reports on different ways individuals contribute to the open source ecosystem through community engagement, issue reporting, blog post writings, or pull request creations."),(0,i.kt)("h2",{id:"key-features"},"Key Features"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Bake"),": Seamlessly source git commits into OpenSauced with the metaphorical 'oven' of technology."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Insights"),": Dive deep into data about git contributors, repositories, users, and pull requests."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Repo-query"),": Get your questions about any GitHub repository answered."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Show"),": Visualize the metrics of a repository, providing a holistic view of its health and activity."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Login"),": Securely log into the application via GitHub, ensuring a streamlined and safe experience.")),(0,i.kt)("h2",{id:"installation-and-instructions"},"Installation and Instructions"),(0,i.kt)("h3",{id:"-download-and-install"},"\ud83d\udce6 Download and Install"),(0,i.kt)("p",null,"The pizza CLI provides multiple installation methods to cater to the varied preferences of its users:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Homebrew"),": For macOS users who prefer the Homebrew package manager."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"brew install open-sauced/tap/pizza\n"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"NPM"),": For those who are fond of the Node Package Manager."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"npm i -g pizza\n"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Direct script"),": A quick way to get started by directly fetching the installation script from GitHub."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh\n")),(0,i.kt)("p",{parentName:"li"},"\u26a0\ufe0f ",(0,i.kt)("strong",{parentName:"p"},"Warning"),": Piping scripts directly from the web to your shell can be risky. Always ensure you trust the source. For a safer approach, download, inspect, and then execute the following commands:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh > install.sh\nvim install.sh\n./install.sh\n"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Manual build and install"),": For those who like a hands-on approach."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"make install\n")),(0,i.kt)("p",{parentName:"li"},"Ensure ",(0,i.kt)("inlineCode",{parentName:"p"},"/usr/local/bin/")," is in your path with:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'export PATH="$PATH:/usr/local/bin"\n')),(0,i.kt)("p",{parentName:"li"},"Alternatively, after building with ",(0,i.kt)("inlineCode",{parentName:"p"},"make build"),", move the binary to your desired location:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"mv build/pizza \n")))),(0,i.kt)("h3",{id:"\ufe0f-local-development-setup"},"\ud83d\udda5\ufe0f Local Development Setup"),(0,i.kt)("p",null,"To contribute to or modify the pizza CLI, you need a specific set of tools:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://go.dev/doc/install"},(0,i.kt)("strong",{parentName:"a"},"Go Toolchain")),": The foundational tool for building and managing Go applications.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},(0,i.kt)("strong",{parentName:"a"},"Docker")),": Required for linting and other auxiliary tooling.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Make"),": A build automation tool."),(0,i.kt)("p",{parentName:"li"},"Development commands:"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Linting"),": Ensure code quality with ",(0,i.kt)("inlineCode",{parentName:"li"},"make lint"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Testing"),": Verify functionality with ",(0,i.kt)("inlineCode",{parentName:"li"},"make test"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Building"),": Create the executable with ",(0,i.kt)("inlineCode",{parentName:"li"},"make build"),".")))))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7899],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function o(e){for(var t=1;t=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var s=n.createContext({}),p=function(e){var t=n.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):o(o({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(s.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=p(a),m=i,h=u["".concat(s,".").concat(m)]||u[m]||d[m]||r;return a?n.createElement(h,o(o({ref:t},c),{},{components:a})):n.createElement(h,o({ref:t},c))}));function h(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,o=new Array(r);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[u]="string"==typeof e?e:i,o[1]=l;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>p});var n=a(7462),i=(a(7294),a(3905));const r={id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli","Pizza CLI Overview","Command Line Interface Introduction","CLI Basics","Pizza Command Line Tool","CLI Usage Guide","Pizza CLI Commands","Introduction to Command-Line Interfaces","Command Line Tool Features","CLI for Pizza Enthusiasts","Pizza Ordering CLI","Getting Started with Pizza CLI"]},o=void 0,l={unversionedId:"tools/pizza-cli",id:"tools/pizza-cli",title:"Introduction to the Pizza CLI",description:"The OpenSauced Pizza CLI",source:"@site/docs/tools/pizza-cli.md",sourceDirName:"tools",slug:"/tools/pizza-cli",permalink:"/tools/pizza-cli",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/pizza-cli.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"pizza-cli",title:"Introduction to the Pizza CLI",sidebar_label:"Pizza CLI",keywords:["introduction to the pizza cli","Pizza CLI Overview","Command Line Interface Introduction","CLI Basics","Pizza Command Line Tool","CLI Usage Guide","Pizza CLI Commands","Introduction to Command-Line Interfaces","Command Line Tool Features","CLI for Pizza Enthusiasts","Pizza Ordering CLI","Getting Started with Pizza CLI"]},sidebar:"docs",previous:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"},next:{title:"Introduction to the Chrome Extension",permalink:"/tools/chrome-extension/introduction-to-the-chrome-extension"}},s={},p=[{value:"The OpenSauced Pizza CLI",id:"the-opensauced-pizza-cli",level:2},{value:"Key Features",id:"key-features",level:2},{value:"Installation and Instructions",id:"installation-and-instructions",level:2},{value:"\ud83d\udce6 Download and Install",id:"-download-and-install",level:3},{value:"\ud83d\udda5\ufe0f Local Development Setup",id:"\ufe0f-local-development-setup",level:3}],c={toc:p},u="wrapper";function d(e){let{components:t,...a}=e;return(0,i.kt)(u,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"the-opensauced-pizza-cli"},"The OpenSauced Pizza CLI"),(0,i.kt)("p",null,"The OpenSauced Pizza CLI is a command-line utility designed specifically for OpenSauced. It provides a comprehensive set of functionalities that make it easier for users to gain insights and metrics and manage various tasks related to open source projects through OpenSauced."),(0,i.kt)("p",null,"Beyond just code commits, the pizza CLI reports on different ways individuals contribute to the open source ecosystem through community engagement, issue reporting, blog post writings, or pull request creations."),(0,i.kt)("h2",{id:"key-features"},"Key Features"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Bake"),": Seamlessly source git commits into OpenSauced with the metaphorical 'oven' of technology."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Insights"),": Dive deep into data about git contributors, repositories, users, and pull requests."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Repo-query"),": Get your questions about any GitHub repository answered."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Show"),": Visualize the metrics of a repository, providing a holistic view of its health and activity."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Login"),": Securely log into the application via GitHub, ensuring a streamlined and safe experience.")),(0,i.kt)("h2",{id:"installation-and-instructions"},"Installation and Instructions"),(0,i.kt)("h3",{id:"-download-and-install"},"\ud83d\udce6 Download and Install"),(0,i.kt)("p",null,"The pizza CLI provides multiple installation methods to cater to the varied preferences of its users:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Homebrew"),": For macOS users who prefer the Homebrew package manager."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"brew install open-sauced/tap/pizza\n"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"NPM"),": For those who are fond of the Node Package Manager."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"npm i -g pizza\n"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Direct script"),": A quick way to get started by directly fetching the installation script from GitHub."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh\n")),(0,i.kt)("p",{parentName:"li"},"\u26a0\ufe0f ",(0,i.kt)("strong",{parentName:"p"},"Warning"),": Piping scripts directly from the web to your shell can be risky. Always ensure you trust the source. For a safer approach, download, inspect, and then execute the following commands:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh > install.sh\nvim install.sh\n./install.sh\n"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Manual build and install"),": For those who like a hands-on approach."),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"make install\n")),(0,i.kt)("p",{parentName:"li"},"Ensure ",(0,i.kt)("inlineCode",{parentName:"p"},"/usr/local/bin/")," is in your path with:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},'export PATH="$PATH:/usr/local/bin"\n')),(0,i.kt)("p",{parentName:"li"},"Alternatively, after building with ",(0,i.kt)("inlineCode",{parentName:"p"},"make build"),", move the binary to your desired location:"),(0,i.kt)("pre",{parentName:"li"},(0,i.kt)("code",{parentName:"pre",className:"language-bash"},"mv build/pizza \n")))),(0,i.kt)("h3",{id:"\ufe0f-local-development-setup"},"\ud83d\udda5\ufe0f Local Development Setup"),(0,i.kt)("p",null,"To contribute to or modify the pizza CLI, you need a specific set of tools:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://go.dev/doc/install"},(0,i.kt)("strong",{parentName:"a"},"Go Toolchain")),": The foundational tool for building and managing Go applications.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},(0,i.kt)("strong",{parentName:"a"},"Docker")),": Required for linting and other auxiliary tooling.")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},(0,i.kt)("strong",{parentName:"p"},"Make"),": A build automation tool."),(0,i.kt)("p",{parentName:"li"},"Development commands:"),(0,i.kt)("ul",{parentName:"li"},(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Linting"),": Ensure code quality with ",(0,i.kt)("inlineCode",{parentName:"li"},"make lint"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Testing"),": Verify functionality with ",(0,i.kt)("inlineCode",{parentName:"li"},"make test"),"."),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("strong",{parentName:"li"},"Building"),": Create the executable with ",(0,i.kt)("inlineCode",{parentName:"li"},"make build"),".")))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b77a626d.4027a7e9.js b/assets/js/b77a626d.d642a6ff.js similarity index 99% rename from assets/js/b77a626d.4027a7e9.js rename to assets/js/b77a626d.d642a6ff.js index 28ab3e45..0d9e61cb 100644 --- a/assets/js/b77a626d.4027a7e9.js +++ b/assets/js/b77a626d.d642a6ff.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8573],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>g});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=i.createContext({}),c=function(e){var t=i.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return i.createElement(u.Provider,{value:t},e.children)},p="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,u=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,g=p["".concat(u,".").concat(m)]||p[m]||l[m]||r;return n?i.createElement(g,o(o({ref:t},d),{},{components:n})):i.createElement(g,o({ref:t},d))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=m;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:a,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=n(7462),a=(n(7294),n(3905));const r={id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide","open source maintainers guide","open source maintainer","open source project management","community management in open-source"]},o=void 0,s={unversionedId:"contributing/opensauced-maintainers-guide/maintainers-guide",id:"contributing/opensauced-maintainers-guide/maintainers-guide",title:"OpenSauced Maintainers Guide",description:"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.",source:"@site/docs/contributing/opensauced-maintainers-guide/maintainers-guide.md",sourceDirName:"contributing/opensauced-maintainers-guide",slug:"/contributing/opensauced-maintainers-guide/maintainers-guide",permalink:"/contributing/opensauced-maintainers-guide/maintainers-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/opensauced-maintainers-guide/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide","open source maintainers guide","open source maintainer","open source project management","community management in open-source"]},sidebar:"docs",previous:{title:"Triage Guide",permalink:"/contributing/triage-guide"},next:{title:"Community Maintainers Guidelines",permalink:"/contributing/opensauced-maintainers-guide/community-maintainers-guide"}},u={},c=[{value:"How to Join the Maintainers Team",id:"how-to-join-the-maintainers-team",level:2},{value:"What does the Maintainers Team do?",id:"what-does-the-maintainers-team-do",level:2},{value:"Core Responsibilities",id:"core-responsibilities",level:3},{value:"Committing and Merging Changes",id:"committing-and-merging-changes",level:2}],d={toc:c},p="wrapper";function l(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories."),(0,a.kt)("p",null,"At OpenSauced, we empower contributors to work in the open and support maintainers to make data-driven decisions for their projects."),(0,a.kt)("p",null,"It's important to us that we maintain a healthy environment for contributors and maintainers of our projects."),(0,a.kt)("h2",{id:"how-to-join-the-maintainers-team"},"How to Join the Maintainers Team"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ul"},"Join our ",(0,a.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord community"),"."),(0,a.kt)("li",{parentName:"ul"},"Prove your pizza's worth!")),(0,a.kt)("h2",{id:"what-does-the-maintainers-team-do"},"What does the Maintainers Team do?"),(0,a.kt)("p",null,"Well, like all things in tech, it depends. We have different maintainer teams for each of the repositories. So, it's important that you communicate with the admin maintainer if you have any questions."),(0,a.kt)("h3",{id:"core-responsibilities"},"Core Responsibilities"),(0,a.kt)("p",null,"Your responsibilities may include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Reviewing and merging pull requests (PRs)."),(0,a.kt)("li",{parentName:"ul"},"Providing comments and responses on PRs, issues, discussions, and Discord messages."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/contributing/triage-guide#triage-process"},"Triage issues")," and bug reports."),(0,a.kt)("li",{parentName:"ul"},"Maintaining project documentation."),(0,a.kt)("li",{parentName:"ul"},"Collaborating with the community.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Creating a positive space for contributors at all stages is one of your most important responsibilities.")),(0,a.kt)("p",null,"As a maintainer, you must:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"adhere to our ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," and be an example for treating contributors with respect,"),(0,a.kt)("li",{parentName:"ul"},"communicate with the other maintainers in a timely and reasonable manner,"),(0,a.kt)("li",{parentName:"ul"},"understand and adhere to project standards.")),(0,a.kt)("h2",{id:"committing-and-merging-changes"},"Committing and Merging Changes"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"For commit and pull request standards, please refer to the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"introduction to contributing"),"."),(0,a.kt)("li",{parentName:"ol"},"Before merging in changes, always run the project locally if UI changes were made."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Squash and merge commits")," when you merge in a PR.")),(0,a.kt)("p",null,"Thank you for being so interested in becoming a maintainer! Please reach out in our ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/docs/discussions/categories/team-discussions"},"team discussions")," if you need help, guidance, or clarification at any time."))}l.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8573],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>g});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=i.createContext({}),c=function(e){var t=i.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return i.createElement(u.Provider,{value:t},e.children)},p="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,u=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=c(n),m=a,g=p["".concat(u,".").concat(m)]||p[m]||l[m]||r;return n?i.createElement(g,o(o({ref:t},d),{},{components:n})):i.createElement(g,o({ref:t},d))}));function g(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,o=new Array(r);o[0]=m;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:a,o[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>o,default:()=>l,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=n(7462),a=(n(7294),n(3905));const r={id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide","open source maintainers guide","open source maintainer","open source project management","community management in open-source"]},o=void 0,s={unversionedId:"contributing/opensauced-maintainers-guide/maintainers-guide",id:"contributing/opensauced-maintainers-guide/maintainers-guide",title:"OpenSauced Maintainers Guide",description:"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.",source:"@site/docs/contributing/opensauced-maintainers-guide/maintainers-guide.md",sourceDirName:"contributing/opensauced-maintainers-guide",slug:"/contributing/opensauced-maintainers-guide/maintainers-guide",permalink:"/contributing/opensauced-maintainers-guide/maintainers-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/opensauced-maintainers-guide/maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"maintainers-guide",title:"OpenSauced Maintainers Guide",sidebar_label:"OpenSauced Maintainers Guide",keywords:["maintainers guide","open source maintainers guide","open source maintainer","open source project management","community management in open-source"]},sidebar:"docs",previous:{title:"Triage Guide",permalink:"/contributing/triage-guide"},next:{title:"Community Maintainers Guidelines",permalink:"/contributing/opensauced-maintainers-guide/community-maintainers-guide"}},u={},c=[{value:"How to Join the Maintainers Team",id:"how-to-join-the-maintainers-team",level:2},{value:"What does the Maintainers Team do?",id:"what-does-the-maintainers-team-do",level:2},{value:"Core Responsibilities",id:"core-responsibilities",level:3},{value:"Committing and Merging Changes",id:"committing-and-merging-changes",level:2}],d={toc:c},p="wrapper";function l(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories."),(0,a.kt)("p",null,"At OpenSauced, we empower contributors to work in the open and support maintainers to make data-driven decisions for their projects."),(0,a.kt)("p",null,"It's important to us that we maintain a healthy environment for contributors and maintainers of our projects."),(0,a.kt)("h2",{id:"how-to-join-the-maintainers-team"},"How to Join the Maintainers Team"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Sign up for ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"opensauced.pizza"),"."),(0,a.kt)("li",{parentName:"ul"},"Join our ",(0,a.kt)("a",{parentName:"li",href:"https://discord.gg/opensauced"},"Discord community"),"."),(0,a.kt)("li",{parentName:"ul"},"Prove your pizza's worth!")),(0,a.kt)("h2",{id:"what-does-the-maintainers-team-do"},"What does the Maintainers Team do?"),(0,a.kt)("p",null,"Well, like all things in tech, it depends. We have different maintainer teams for each of the repositories. So, it's important that you communicate with the admin maintainer if you have any questions."),(0,a.kt)("h3",{id:"core-responsibilities"},"Core Responsibilities"),(0,a.kt)("p",null,"Your responsibilities may include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Reviewing and merging pull requests (PRs)."),(0,a.kt)("li",{parentName:"ul"},"Providing comments and responses on PRs, issues, discussions, and Discord messages."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"/contributing/triage-guide#triage-process"},"Triage issues")," and bug reports."),(0,a.kt)("li",{parentName:"ul"},"Maintaining project documentation."),(0,a.kt)("li",{parentName:"ul"},"Collaborating with the community.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Creating a positive space for contributors at all stages is one of your most important responsibilities.")),(0,a.kt)("p",null,"As a maintainer, you must:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"adhere to our ",(0,a.kt)("a",{parentName:"li",href:"/contributing/code-of-conduct"},"Code of Conduct")," and be an example for treating contributors with respect,"),(0,a.kt)("li",{parentName:"ul"},"communicate with the other maintainers in a timely and reasonable manner,"),(0,a.kt)("li",{parentName:"ul"},"understand and adhere to project standards.")),(0,a.kt)("h2",{id:"committing-and-merging-changes"},"Committing and Merging Changes"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"For commit and pull request standards, please refer to the ",(0,a.kt)("a",{parentName:"li",href:"/contributing/introduction-to-contributing"},"introduction to contributing"),"."),(0,a.kt)("li",{parentName:"ol"},"Before merging in changes, always run the project locally if UI changes were made."),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("strong",{parentName:"li"},"Squash and merge commits")," when you merge in a PR.")),(0,a.kt)("p",null,"Thank you for being so interested in becoming a maintainer! Please reach out in our ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/docs/discussions/categories/team-discussions"},"team discussions")," if you need help, guidance, or clarification at any time."))}l.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b8d96084.30d7e58f.js b/assets/js/b8d96084.e280eb49.js similarity index 99% rename from assets/js/b8d96084.30d7e58f.js rename to assets/js/b8d96084.e280eb49.js index b8a540c7..71c6a98a 100644 --- a/assets/js/b8d96084.30d7e58f.js +++ b/assets/js/b8d96084.e280eb49.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8222],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=p(o),m=a,h=c["".concat(l,".").concat(m)]||c[m]||d[m]||r;return o?n.createElement(h,i(i({ref:t},u),{},{components:o})):n.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=o.length,i=new Array(r);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:a,i[1]=s;for(var p=2;p{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=o(7462),a=(o(7294),o(3905));const r={id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source","100 days of OSS","Open source contribution","Open source software development","Open source projects for beginners","Open source development"]},i=void 0,s={unversionedId:"community/100-days-of-oss",id:"community/100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",description:"Inspired by the great work of the #100DaysOfCode challenge, we're starting #100DaysOfOSS.",source:"@site/docs/community/100-days-of-oss.md",sourceDirName:"community",slug:"/community/100-days-of-oss",permalink:"/community/100-days-of-oss",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/100-days-of-oss.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",sidebarPosition:100,frontMatter:{id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source","100 days of OSS","Open source contribution","Open source software development","Open source projects for beginners","Open source development"]},sidebar:"docs",previous:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"},next:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"}},l={},p=[{value:"How to Participate",id:"how-to-participate",level:2},{value:"Content Creation",id:"content-creation",level:3},{value:"Project Management",id:"project-management",level:3},{value:"Community Engagement and Leadership",id:"community-engagement-and-leadership",level:3},{value:"Technical Skills",id:"technical-skills",level:3},{value:"Tracking Your Progress",id:"tracking-your-progress",level:3},{value:"The Official Kickoff",id:"the-official-kickoff",level:2},{value:"Support",id:"support",level:2},{value:"Where to Start?",id:"where-to-start",level:2},{value:"The Power of the #100DaysOfOSS Challenge",id:"the-power-of-the-100daysofoss-challenge",level:2},{value:"Why Join the #100DaysOfOSS Challenge?",id:"why-join-the-100daysofoss-challenge",level:2},{value:"Weekly Office Hours",id:"weekly-office-hours",level:3}],u={toc:p},c="wrapper";function d(e){let{components:t,...o}=e;return(0,a.kt)(c,(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Inspired by the great work of the ",(0,a.kt)("a",{parentName:"p",href:"https://www.100daysofcode.com/"},"#100DaysOfCode challenge"),", we're starting #100DaysOfOSS."),(0,a.kt)("p",null,"With this challenge, OpenSauced hopes to help contributors enhance their skills, expand their abilities, gain practical experience over 100 days, support maintainers, onboard more contributors into open source, and expand the open source community. With a focus on open source software (OSS), we encourage contributors of all technical backgrounds to immerse themselves in the world of collaborative development and engage with a supportive community."),(0,a.kt)("h2",{id:"how-to-participate"},"How to Participate"),(0,a.kt)("p",null,"The beauty of this challenge is that you're not required to code. The main purpose is to grow in your understanding of open source software (OSS), contribute in ways that are meaningful to you, and further develop the skills and knowledge you're interested in pursuing. It's all about personal growth and making a positive impact on the OSS community. Because this challenge is focused on growth, you can participate in any way that helps you achieve your goals, including taking days off when you need it."),(0,a.kt)("p",null,"There are numerous ways to participate in the #100DaysOfOSS challenge, including:"),(0,a.kt)("h3",{id:"content-creation"},"Content Creation"),(0,a.kt)("p",null,"Love creating content? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Give a talk or presentation on OSS."),(0,a.kt)("li",{parentName:"ul"},"Participate in or even start an X Space."),(0,a.kt)("li",{parentName:"ul"},"Write a blog post or create a video about OSS.")),(0,a.kt)("h3",{id:"project-management"},"Project Management"),(0,a.kt)("p",null,"Want to improve your project management skills? Need to get better at communicating or giving feedback to others? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Review pull requests."),(0,a.kt)("li",{parentName:"ul"},"Triage issues."),(0,a.kt)("li",{parentName:"ul"},"Start meaningful discussions."),(0,a.kt)("li",{parentName:"ul"},"Write issues to identify bugs or suggest new features.")),(0,a.kt)("h3",{id:"community-engagement-and-leadership"},"Community Engagement and Leadership"),(0,a.kt)("p",null,"Community experience is involved in many different tech jobs, including support, success, Developer Relations, Developer Experience, and more. Community experience can be a valuable skill to develop. Some ways you can do this:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Engage in the community by sharing your insights and knowledge."),(0,a.kt)("li",{parentName:"ul"},"Support contributors working on OSS projects, providing guidance and support."),(0,a.kt)("li",{parentName:"ul"},"Create a study group or accountability group where you work on your goals.")),(0,a.kt)("h3",{id:"technical-skills"},"Technical Skills"),(0,a.kt)("p",null,"Now is a great time to show your technical growth. Here are some paths you can take:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Update or write documentation to improve clarity and usability."),(0,a.kt)("li",{parentName:"ul"},"Maintain a project: review pull requests, triage issues, and respond to questions."),(0,a.kt)("li",{parentName:"ul"},"Submit pull requests to contribute code changes.")),(0,a.kt)("h3",{id:"tracking-your-progress"},"Tracking Your Progress"),(0,a.kt)("p",null,"To keep track of your progress, post on social media, your blog, or any other platform you prefer with:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"progress you made,"),(0,a.kt)("li",{parentName:"ul"},"the day of the challenge indicated by 'D',"),(0,a.kt)("li",{parentName:"ul"},"the hashtag #100DaysOfOSS.")),(0,a.kt)("p",null,"For example, if you're on day one, you could say, \"Today, I reviewed the documentation for the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"OpenSauced/App"),' repository. D1 #100daysOfOSS." Then, on day two, you would continue with D2, and so on.'),(0,a.kt)("p",null,"Here's what you can do if you're ready to join this challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://twitter.com/intent/tweet?text=I%27m%20joining%20the%20%23100DaysOfOSS%20challenge%20with%20%40saucedopen%20to%20grow%20my%20skills%2C%20gain%20real-world%20experience%20in%20open%20source%2C%20and%20to%20make%20a%20positive%20impact%20on%20the%20OSS%20Community!"},"Post your commitment today on X")," or share on your platform of choice!")),(0,a.kt)("h2",{id:"the-official-kickoff"},"The Official Kickoff"),(0,a.kt)("p",null," The #100DaysOfOSS challenge is flexible; you can join whenever you're ready. Just jump in at any point and begin with day one of your personal challenge."),(0,a.kt)("h2",{id:"support"},"Support"),(0,a.kt)("p",null,"To make the most of your #100DaysOfOSS journey, here are some additional resources and events you can explore:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly X Spaces:")," Join our X Spaces, where we discuss open source topics, share insights, and connect with like-minded individuals. Follow us on ",(0,a.kt)("a",{parentName:"p",href:"https://twitter.com/saucedopen"},"X")," to stay updated on upcoming sessions.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Community events:")," Discover a wide range of events on our ",(0,a.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/community/welcome-to-the-community"},"community docs page"),". Whether hack days, workshops, or office hours, these events provide excellent opportunities to learn, collaborate, and find new projects to contribute to.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Contribution opportunities:")," If you're actively looking for open source projects to contribute to, check out the ",(0,a.kt)("a",{parentName:"p",href:"https://dev.to/bekahhw/series/23323"},"post")," for new contribution opportunities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly office hours:")," Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/dXvGd8mz"},"Discord")," during our office hours or post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"))),(0,a.kt)("h2",{id:"where-to-start"},"Where to Start?"),(0,a.kt)("p",null,"If you're ready to start your #100DaysOfOSS journey, here are some tips to help you get started:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Find a project:")," Explore the ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"OpenSauced")," website to find a project that interests you. You can also check out the ",(0,a.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/"},"weekly post")," for exciting contribution opportunities."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Take our Intro To Open Source course:")," If you're new to open source, we recommend taking our ",(0,a.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source course")," to learn more about open source and how to get started."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Record your journey:")," You will learn a lot as you navigate this challenge, so we highly recommend using our ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/open-sauced/100-days-of-oss-template"},"#100DaysOfOSS journal template")," on GitHub or ",(0,a.kt)("a",{parentName:"li",href:"https://www.notion.so/a0m0rajab/100-Days-Of-Open-Source-2615e66772e14152897002e348c5f1bc?pvs=13"},"Notion")," to help you reflect. Remember, this is ",(0,a.kt)("em",{parentName:"li"},"your")," journey, so feel free to customize them however you like."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Check our Contributors Guide:")," If you're new to contributing to open source, we recommend checking out our ",(0,a.kt)("a",{parentName:"li",href:"https://docs.opensauced.pizza/contributors/contributors-guide-to-open-sauced/"},"Contributors Guide to OpenSauced")," to learn more about the process and best practices.")),(0,a.kt)("h2",{id:"the-power-of-the-100daysofoss-challenge"},"The Power of the #100DaysOfOSS Challenge"),(0,a.kt)("p",null,"The #100DaysOfOSS challenge offers a supportive community where developers can find encouragement, share experiences, and overcome roadblocks together."),(0,a.kt)("p",null,"Our hope is that the community will provide a safe space to discuss challenges, celebrate achievements, and exchange insights, creating an environment that helps individuals stay on track and avoid giving up."),(0,a.kt)("h2",{id:"why-join-the-100daysofoss-challenge"},"Why Join the #100DaysOfOSS Challenge?"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Skill enhancement"),": By working on real-world projects, you'll gain practical experience and exposure to different projects, documentation, communities, programming languages, frameworks, and tools. You'll also learn from experienced developers, receive feedback on your code, and improve your problem-solving abilities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Collaboration and networking"),": You'll have the opportunity to work alongside other contributors, collaborate on shared goals, and build professional relationships. This experience can lead to networking opportunities, mentorship, and exposure to diverse perspectives in tech.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Resume and portfolio boost"),": Experience in open source demonstrates your ability to work in a team, follow best practices, and contribute to larger codebases. Open source contributions are tangible evidence of your skills, commitment, and ability to grow.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Learning from peers"),": By examining the codebase, participating in discussions, engaging in the community, and reviewing pull requests, contributors can gain insights into different approaches to community, projects, coding styles, architecture patterns, and software development best practices, accelerating a developer's learning curve.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Making a positive impact"),": Your contributions benefit other contributors who rely on these projects, fostering a sense of fulfillment and giving back to the community."))),(0,a.kt)("h3",{id:"weekly-office-hours"},"Weekly Office Hours"),(0,a.kt)("p",null,"Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/opensauced"},"Discord")," and post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"),(0,a.kt)("p",null,"Happy contributing, and best of luck on your #100DaysOfOSS adventure!"))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[8222],{3905:(e,t,o)=>{o.d(t,{Zo:()=>u,kt:()=>h});var n=o(7294);function a(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e){for(var t=1;t=0||(a[o]=e[o]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(a[o]=e[o])}return a}var l=n.createContext({}),p=function(e){var t=n.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},u=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var o=e.components,a=e.mdxType,r=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),c=p(o),m=a,h=c["".concat(l,".").concat(m)]||c[m]||d[m]||r;return o?n.createElement(h,i(i({ref:t},u),{},{components:o})):n.createElement(h,i({ref:t},u))}));function h(e,t){var o=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=o.length,i=new Array(r);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[c]="string"==typeof e?e:a,i[1]=s;for(var p=2;p{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=o(7462),a=(o(7294),o(3905));const r={id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source","100 days of OSS","Open source contribution","Open source software development","Open source projects for beginners","Open source development"]},i=void 0,s={unversionedId:"community/100-days-of-oss",id:"community/100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",description:"Inspired by the great work of the #100DaysOfCode challenge, we're starting #100DaysOfOSS.",source:"@site/docs/community/100-days-of-oss.md",sourceDirName:"community",slug:"/community/100-days-of-oss",permalink:"/community/100-days-of-oss",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/100-days-of-oss.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",sidebarPosition:100,frontMatter:{id:"100-days-of-oss",title:"#100DaysOfOSS: Growing Skills and Real-World Experience",sidebar_label:"#100DaysOfOSS",keywords:["100 days of open source","100 days of OSS","Open source contribution","Open source software development","Open source projects for beginners","Open source development"]},sidebar:"docs",previous:{title:"Welcome to the Community",permalink:"/community/welcome-to-the-community"},next:{title:"Hot OpenSauced Project",permalink:"/tools/hot-opensauced"}},l={},p=[{value:"How to Participate",id:"how-to-participate",level:2},{value:"Content Creation",id:"content-creation",level:3},{value:"Project Management",id:"project-management",level:3},{value:"Community Engagement and Leadership",id:"community-engagement-and-leadership",level:3},{value:"Technical Skills",id:"technical-skills",level:3},{value:"Tracking Your Progress",id:"tracking-your-progress",level:3},{value:"The Official Kickoff",id:"the-official-kickoff",level:2},{value:"Support",id:"support",level:2},{value:"Where to Start?",id:"where-to-start",level:2},{value:"The Power of the #100DaysOfOSS Challenge",id:"the-power-of-the-100daysofoss-challenge",level:2},{value:"Why Join the #100DaysOfOSS Challenge?",id:"why-join-the-100daysofoss-challenge",level:2},{value:"Weekly Office Hours",id:"weekly-office-hours",level:3}],u={toc:p},c="wrapper";function d(e){let{components:t,...o}=e;return(0,a.kt)(c,(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Inspired by the great work of the ",(0,a.kt)("a",{parentName:"p",href:"https://www.100daysofcode.com/"},"#100DaysOfCode challenge"),", we're starting #100DaysOfOSS."),(0,a.kt)("p",null,"With this challenge, OpenSauced hopes to help contributors enhance their skills, expand their abilities, gain practical experience over 100 days, support maintainers, onboard more contributors into open source, and expand the open source community. With a focus on open source software (OSS), we encourage contributors of all technical backgrounds to immerse themselves in the world of collaborative development and engage with a supportive community."),(0,a.kt)("h2",{id:"how-to-participate"},"How to Participate"),(0,a.kt)("p",null,"The beauty of this challenge is that you're not required to code. The main purpose is to grow in your understanding of open source software (OSS), contribute in ways that are meaningful to you, and further develop the skills and knowledge you're interested in pursuing. It's all about personal growth and making a positive impact on the OSS community. Because this challenge is focused on growth, you can participate in any way that helps you achieve your goals, including taking days off when you need it."),(0,a.kt)("p",null,"There are numerous ways to participate in the #100DaysOfOSS challenge, including:"),(0,a.kt)("h3",{id:"content-creation"},"Content Creation"),(0,a.kt)("p",null,"Love creating content? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Give a talk or presentation on OSS."),(0,a.kt)("li",{parentName:"ul"},"Participate in or even start an X Space."),(0,a.kt)("li",{parentName:"ul"},"Write a blog post or create a video about OSS.")),(0,a.kt)("h3",{id:"project-management"},"Project Management"),(0,a.kt)("p",null,"Want to improve your project management skills? Need to get better at communicating or giving feedback to others? Here's how you can use this skill for the challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Review pull requests."),(0,a.kt)("li",{parentName:"ul"},"Triage issues."),(0,a.kt)("li",{parentName:"ul"},"Start meaningful discussions."),(0,a.kt)("li",{parentName:"ul"},"Write issues to identify bugs or suggest new features.")),(0,a.kt)("h3",{id:"community-engagement-and-leadership"},"Community Engagement and Leadership"),(0,a.kt)("p",null,"Community experience is involved in many different tech jobs, including support, success, Developer Relations, Developer Experience, and more. Community experience can be a valuable skill to develop. Some ways you can do this:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Engage in the community by sharing your insights and knowledge."),(0,a.kt)("li",{parentName:"ul"},"Support contributors working on OSS projects, providing guidance and support."),(0,a.kt)("li",{parentName:"ul"},"Create a study group or accountability group where you work on your goals.")),(0,a.kt)("h3",{id:"technical-skills"},"Technical Skills"),(0,a.kt)("p",null,"Now is a great time to show your technical growth. Here are some paths you can take:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Update or write documentation to improve clarity and usability."),(0,a.kt)("li",{parentName:"ul"},"Maintain a project: review pull requests, triage issues, and respond to questions."),(0,a.kt)("li",{parentName:"ul"},"Submit pull requests to contribute code changes.")),(0,a.kt)("h3",{id:"tracking-your-progress"},"Tracking Your Progress"),(0,a.kt)("p",null,"To keep track of your progress, post on social media, your blog, or any other platform you prefer with:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"progress you made,"),(0,a.kt)("li",{parentName:"ul"},"the day of the challenge indicated by 'D',"),(0,a.kt)("li",{parentName:"ul"},"the hashtag #100DaysOfOSS.")),(0,a.kt)("p",null,"For example, if you're on day one, you could say, \"Today, I reviewed the documentation for the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/app"},"OpenSauced/App"),' repository. D1 #100daysOfOSS." Then, on day two, you would continue with D2, and so on.'),(0,a.kt)("p",null,"Here's what you can do if you're ready to join this challenge:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://twitter.com/intent/tweet?text=I%27m%20joining%20the%20%23100DaysOfOSS%20challenge%20with%20%40saucedopen%20to%20grow%20my%20skills%2C%20gain%20real-world%20experience%20in%20open%20source%2C%20and%20to%20make%20a%20positive%20impact%20on%20the%20OSS%20Community!"},"Post your commitment today on X")," or share on your platform of choice!")),(0,a.kt)("h2",{id:"the-official-kickoff"},"The Official Kickoff"),(0,a.kt)("p",null," The #100DaysOfOSS challenge is flexible; you can join whenever you're ready. Just jump in at any point and begin with day one of your personal challenge."),(0,a.kt)("h2",{id:"support"},"Support"),(0,a.kt)("p",null,"To make the most of your #100DaysOfOSS journey, here are some additional resources and events you can explore:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly X Spaces:")," Join our X Spaces, where we discuss open source topics, share insights, and connect with like-minded individuals. Follow us on ",(0,a.kt)("a",{parentName:"p",href:"https://twitter.com/saucedopen"},"X")," to stay updated on upcoming sessions.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Community events:")," Discover a wide range of events on our ",(0,a.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/community/welcome-to-the-community"},"community docs page"),". Whether hack days, workshops, or office hours, these events provide excellent opportunities to learn, collaborate, and find new projects to contribute to.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Contribution opportunities:")," If you're actively looking for open source projects to contribute to, check out the ",(0,a.kt)("a",{parentName:"p",href:"https://dev.to/bekahhw/series/23323"},"post")," for new contribution opportunities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Weekly office hours:")," Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/dXvGd8mz"},"Discord")," during our office hours or post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"))),(0,a.kt)("h2",{id:"where-to-start"},"Where to Start?"),(0,a.kt)("p",null,"If you're ready to start your #100DaysOfOSS journey, here are some tips to help you get started:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Find a project:")," Explore the ",(0,a.kt)("a",{parentName:"li",href:"https://opensauced.pizza/"},"OpenSauced")," website to find a project that interests you. You can also check out the ",(0,a.kt)("a",{parentName:"li",href:"https://dev.to/bekahhw/series/"},"weekly post")," for exciting contribution opportunities."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Take our Intro To Open Source course:")," If you're new to open source, we recommend taking our ",(0,a.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source course")," to learn more about open source and how to get started."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Record your journey:")," You will learn a lot as you navigate this challenge, so we highly recommend using our ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/open-sauced/100-days-of-oss-template"},"#100DaysOfOSS journal template")," on GitHub or ",(0,a.kt)("a",{parentName:"li",href:"https://www.notion.so/a0m0rajab/100-Days-Of-Open-Source-2615e66772e14152897002e348c5f1bc?pvs=13"},"Notion")," to help you reflect. Remember, this is ",(0,a.kt)("em",{parentName:"li"},"your")," journey, so feel free to customize them however you like."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Check our Contributors Guide:")," If you're new to contributing to open source, we recommend checking out our ",(0,a.kt)("a",{parentName:"li",href:"https://docs.opensauced.pizza/contributors/contributors-guide-to-open-sauced/"},"Contributors Guide to OpenSauced")," to learn more about the process and best practices.")),(0,a.kt)("h2",{id:"the-power-of-the-100daysofoss-challenge"},"The Power of the #100DaysOfOSS Challenge"),(0,a.kt)("p",null,"The #100DaysOfOSS challenge offers a supportive community where developers can find encouragement, share experiences, and overcome roadblocks together."),(0,a.kt)("p",null,"Our hope is that the community will provide a safe space to discuss challenges, celebrate achievements, and exchange insights, creating an environment that helps individuals stay on track and avoid giving up."),(0,a.kt)("h2",{id:"why-join-the-100daysofoss-challenge"},"Why Join the #100DaysOfOSS Challenge?"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Skill enhancement"),": By working on real-world projects, you'll gain practical experience and exposure to different projects, documentation, communities, programming languages, frameworks, and tools. You'll also learn from experienced developers, receive feedback on your code, and improve your problem-solving abilities.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Collaboration and networking"),": You'll have the opportunity to work alongside other contributors, collaborate on shared goals, and build professional relationships. This experience can lead to networking opportunities, mentorship, and exposure to diverse perspectives in tech.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Resume and portfolio boost"),": Experience in open source demonstrates your ability to work in a team, follow best practices, and contribute to larger codebases. Open source contributions are tangible evidence of your skills, commitment, and ability to grow.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Learning from peers"),": By examining the codebase, participating in discussions, engaging in the community, and reviewing pull requests, contributors can gain insights into different approaches to community, projects, coding styles, architecture patterns, and software development best practices, accelerating a developer's learning curve.")),(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"Making a positive impact"),": Your contributions benefit other contributors who rely on these projects, fostering a sense of fulfillment and giving back to the community."))),(0,a.kt)("h3",{id:"weekly-office-hours"},"Weekly Office Hours"),(0,a.kt)("p",null,"Have questions or need help? Join us on ",(0,a.kt)("a",{parentName:"p",href:"https://discord.gg/opensauced"},"Discord")," and post on our ",(0,a.kt)("inlineCode",{parentName:"p"},"#100DaysOfOSS")," channel. We're here to help you succeed!"),(0,a.kt)("p",null,"Happy contributing, and best of luck on your #100DaysOfOSS adventure!"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c01322eb.3d7b287b.js b/assets/js/c01322eb.62ad04f5.js similarity index 98% rename from assets/js/c01322eb.3d7b287b.js rename to assets/js/c01322eb.62ad04f5.js index 9e69325b..3fb704c4 100644 --- a/assets/js/c01322eb.3d7b287b.js +++ b/assets/js/c01322eb.62ad04f5.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4205],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=o.createContext({}),h=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=h(e.components);return o.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=h(n),g=i,m=p["".concat(l,".").concat(g)]||p[g]||u[g]||r;return n?o.createElement(m,a(a({ref:t},c),{},{components:n})):o.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:i,a[1]=s;for(var h=2;h{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>h});var o=n(7462),i=(n(7294),n(3905));const r={id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting","Content Highlights","Featured Content","Noteworthy Points","Key Takeaways","Highlighted Information","Standout Features","Important Details","Highlighted Sections",'Posting Highlights"',"Notable Content","Highlighted Insights"]},a=void 0,s={unversionedId:"tools/chrome-extension/highlights",id:"tools/chrome-extension/highlights",title:"Highlight",description:"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.",source:"@site/docs/tools/chrome-extension/highlights.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/highlights",permalink:"/tools/chrome-extension/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/highlights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting","Content Highlights","Featured Content","Noteworthy Points","Key Takeaways","Highlighted Information","Standout Features","Important Details","Highlighted Sections",'Posting Highlights"',"Notable Content","Highlighted Insights"]},sidebar:"docs",previous:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"},next:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"}},l={},h=[],c={toc:h},p="wrapper";function u(e){let{components:t,...n}=e;return(0,i.kt)(p,(0,o.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary."),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241761099-e7a745c8-204e-4a4d-b313-867ab99af0b2.png",alt:"location of post to highlight"})),(0,i.kt)("p",null,"If your Highlight is successfully posted, you will get a message with an option to see the Highlight on the OpenSauced website."),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/723ac624-e996-45f8-acdf-0d3ff08af90b",alt:"Successful message example"})),(0,i.kt)("p",null,"But if there is an error with the summarization, you will see it in the text area, as in the example below:"),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241762187-f6968a71-c344-495f-8eed-f1de9aff7599.gif",alt:"Error message"})))}u.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4205],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>m});var o=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=o.createContext({}),h=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},c=function(e){var t=h(e.components);return o.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),p=h(n),g=i,m=p["".concat(l,".").concat(g)]||p[g]||u[g]||r;return n?o.createElement(m,a(a({ref:t},c),{},{components:n})):o.createElement(m,a({ref:t},c))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,a=new Array(r);a[0]=g;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:i,a[1]=s;for(var h=2;h{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>h});var o=n(7462),i=(n(7294),n(3905));const r={id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting","Content Highlights","Featured Content","Noteworthy Points","Key Takeaways","Highlighted Information","Standout Features","Important Details","Highlighted Sections",'Posting Highlights"',"Notable Content","Highlighted Insights"]},a=void 0,s={unversionedId:"tools/chrome-extension/highlights",id:"tools/chrome-extension/highlights",title:"Highlight",description:"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.",source:"@site/docs/tools/chrome-extension/highlights.md",sourceDirName:"tools/chrome-extension",slug:"/tools/chrome-extension/highlights",permalink:"/tools/chrome-extension/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/tools/chrome-extension/highlights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"highlights",title:"Highlight",sidebar_label:"Highlight",keywords:["highlights","posting","Content Highlights","Featured Content","Noteworthy Points","Key Takeaways","Highlighted Information","Standout Features","Important Details","Highlighted Sections",'Posting Highlights"',"Notable Content","Highlighted Insights"]},sidebar:"docs",previous:{title:"PR Description",permalink:"/tools/chrome-extension/pr-description"},next:{title:"Refactoring and Testing",permalink:"/tools/chrome-extension/refactoring-and-testing"}},l={},h=[],c={toc:h},p="wrapper";function u(e){let{components:t,...n}=e;return(0,i.kt)(p,(0,o.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary."),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241761099-e7a745c8-204e-4a4d-b313-867ab99af0b2.png",alt:"location of post to highlight"})),(0,i.kt)("p",null,"If your Highlight is successfully posted, you will get a message with an option to see the Highlight on the OpenSauced website."),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://github.com/open-sauced/docs.opensauced.pizza/assets/18273833/723ac624-e996-45f8-acdf-0d3ff08af90b",alt:"Successful message example"})),(0,i.kt)("p",null,"But if there is an error with the summarization, you will see it in the text area, as in the example below:"),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/18273833/241762187-f6968a71-c344-495f-8eed-f1de9aff7599.gif",alt:"Error message"})))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cf3cdde3.475d9369.js b/assets/js/cf3cdde3.83e406e2.js similarity index 98% rename from assets/js/cf3cdde3.475d9369.js rename to assets/js/cf3cdde3.83e406e2.js index 69662f02..f74701fd 100644 --- a/assets/js/cf3cdde3.475d9369.js +++ b/assets/js/cf3cdde3.83e406e2.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3644],{3905:(e,t,r)=>{r.d(t,{Zo:()=>h,kt:()=>d});var o=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var u=o.createContext({}),l=function(e){var t=o.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},h=function(e){var t=l(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,u=e.parentName,h=s(e,["components","mdxType","originalType","parentName"]),p=l(r),g=i,d=p["".concat(u,".").concat(g)]||p[g]||c[g]||n;return r?o.createElement(d,a(a({ref:t},h),{},{components:r})):o.createElement(d,a({ref:t},h))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,a=new Array(n);a[0]=g;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:i,a[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var o=r(7462),i=(r(7294),r(3905));const n={id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["Highlights","Open Source Highlights","Contribution Highlights","Highlight your open source contributiions","Open Source Contribution Highlights"]},a=void 0,s={unversionedId:"features/highlights",id:"features/highlights",title:"Highlight Your Open Source Contributions",description:"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors.",source:"@site/docs/features/highlights.md",sourceDirName:"features",slug:"/features/highlights",permalink:"/features/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/highlights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["Highlights","Open Source Highlights","Contribution Highlights","Highlight your open source contributiions","Open Source Contribution Highlights"]},sidebar:"docs",previous:{title:"Contributor Insights",permalink:"/features/contributor-insights"},next:{title:"Dev Card",permalink:"/features/dev-card"}},u={},l=[{value:"How to Add a Highlight",id:"how-to-add-a-highlight",level:2}],h={toc:l},p="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(p,(0,o.Z)({},h,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors."),(0,i.kt)("p",null,"There are currently three types of highlights you can add to your profile:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Dev.to blog post"),(0,i.kt)("li",{parentName:"ul"},"Pull request"),(0,i.kt)("li",{parentName:"ul"},"Issue")),(0,i.kt)("h2",{id:"how-to-add-a-highlight"},"How to Add a Highlight"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Go to ",(0,i.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/feed"},"OpenSauced's Highlights feed"),"."),(0,i.kt)("li",{parentName:"ul"},'Click the "Post a highlight to show your work!" input.'),(0,i.kt)("li",{parentName:"ul"},"Paste the URL to your blog post, pull request, or issue in the bottom input."),(0,i.kt)("li",{parentName:"ul"},"Either use our Auto-Summarize feature or write your own summary.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"highlights demo",src:r(7352).Z,width:"2294",height:"1066"})),(0,i.kt)("p",null,"For more examples of highlights, go to the ",(0,i.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"OpenSauced Highlights feed"),"."),(0,i.kt)("p",null,"Eager to get started? Check out the ",(0,i.kt)("a",{parentName:"p",href:"https://intro.opensauced.pizza/#/06-the-secret-sauce?id=effectively-highlight-your-contributions"},"Effectively Highlight Your Contribution"),' section in our free "Intro to Open Source" course to learn more.'))}c.isMDXComponent=!0},7352:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[3644],{3905:(e,t,r)=>{r.d(t,{Zo:()=>h,kt:()=>d});var o=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var u=o.createContext({}),l=function(e){var t=o.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},h=function(e){var t=l(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},g=o.forwardRef((function(e,t){var r=e.components,i=e.mdxType,n=e.originalType,u=e.parentName,h=s(e,["components","mdxType","originalType","parentName"]),p=l(r),g=i,d=p["".concat(u,".").concat(g)]||p[g]||c[g]||n;return r?o.createElement(d,a(a({ref:t},h),{},{components:r})):o.createElement(d,a({ref:t},h))}));function d(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var n=r.length,a=new Array(n);a[0]=g;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:i,a[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>c,frontMatter:()=>n,metadata:()=>s,toc:()=>l});var o=r(7462),i=(r(7294),r(3905));const n={id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["Highlights","Open Source Highlights","Contribution Highlights","Highlight your open source contributiions","Open Source Contribution Highlights"]},a=void 0,s={unversionedId:"features/highlights",id:"features/highlights",title:"Highlight Your Open Source Contributions",description:"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors.",source:"@site/docs/features/highlights.md",sourceDirName:"features",slug:"/features/highlights",permalink:"/features/highlights",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/highlights.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"highlights",title:"Highlight Your Open Source Contributions",sidebar_label:"Highlights",keywords:["Highlights","Open Source Highlights","Contribution Highlights","Highlight your open source contributiions","Open Source Contribution Highlights"]},sidebar:"docs",previous:{title:"Contributor Insights",permalink:"/features/contributor-insights"},next:{title:"Dev Card",permalink:"/features/dev-card"}},u={},l=[{value:"How to Add a Highlight",id:"how-to-add-a-highlight",level:2}],h={toc:l},p="wrapper";function c(e){let{components:t,...n}=e;return(0,i.kt)(p,(0,o.Z)({},h,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors."),(0,i.kt)("p",null,"There are currently three types of highlights you can add to your profile:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Dev.to blog post"),(0,i.kt)("li",{parentName:"ul"},"Pull request"),(0,i.kt)("li",{parentName:"ul"},"Issue")),(0,i.kt)("h2",{id:"how-to-add-a-highlight"},"How to Add a Highlight"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Go to ",(0,i.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/feed"},"OpenSauced's Highlights feed"),"."),(0,i.kt)("li",{parentName:"ul"},'Click the "Post a highlight to show your work!" input.'),(0,i.kt)("li",{parentName:"ul"},"Paste the URL to your blog post, pull request, or issue in the bottom input."),(0,i.kt)("li",{parentName:"ul"},"Either use our Auto-Summarize feature or write your own summary.")),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"highlights demo",src:r(7352).Z,width:"2294",height:"1066"})),(0,i.kt)("p",null,"For more examples of highlights, go to the ",(0,i.kt)("a",{parentName:"p",href:"https://app.opensauced.pizza/feed"},"OpenSauced Highlights feed"),"."),(0,i.kt)("p",null,"Eager to get started? Check out the ",(0,i.kt)("a",{parentName:"p",href:"https://intro.opensauced.pizza/#/06-the-secret-sauce?id=effectively-highlight-your-contributions"},"Effectively Highlight Your Contribution"),' section in our free "Intro to Open Source" course to learn more.'))}c.isMDXComponent=!0},7352:(e,t,r)=>{r.d(t,{Z:()=>o});const o=r.p+"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"}}]); \ No newline at end of file diff --git a/assets/js/d55a4e5f.6ced2a21.js b/assets/js/d55a4e5f.6ced2a21.js new file mode 100644 index 00000000..8a0f6344 --- /dev/null +++ b/assets/js/d55a4e5f.6ced2a21.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4955],{3905:(e,t,o)=>{o.d(t,{Zo:()=>l,kt:()=>k});var a=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function s(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function n(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=a.createContext({}),p=function(e){var t=a.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):n(n({},t),e)),o},l=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var o=e.components,r=e.mdxType,s=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),u=p(o),h=r,k=u["".concat(c,".").concat(h)]||u[h]||d[h]||s;return o?a.createElement(k,n(n({ref:t},l),{},{components:o})):a.createElement(k,n({ref:t},l))}));function k(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=o.length,n=new Array(s);n[0]=h;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[u]="string"==typeof e?e:r,n[1]=i;for(var p=2;p{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var a=o(7462),r=(o(7294),o(3905));const s={id:"workspaces",title:"Share, Collaborate, and Track with Workspaces",sidebar_label:"Workspaces",keywords:["contributors","Monitor Contributors","Track open source projects","open source teams","open source companies","open source contributors","open source maintainers"]},n=void 0,i={unversionedId:"features/workspaces",id:"features/workspaces",title:"Share, Collaborate, and Track with Workspaces",description:"In the OpenSauced app, your work unfolds within a Workspace: a virtual environment for managing information\u2014whether for individual productivity, team collaboration, or company-wide operations. Workspaces serve as a centralized hub for sharing, collaborating on, and tracking multiple repositories and organizations and their contributors in one place. This feature is designed to streamline your open source involvement, making it more efficient and interconnected.",source:"@site/docs/features/workspaces.md",sourceDirName:"features",slug:"/features/workspaces",permalink:"/features/workspaces",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/workspaces.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"workspaces",title:"Share, Collaborate, and Track with Workspaces",sidebar_label:"Workspaces",keywords:["contributors","Monitor Contributors","Track open source projects","open source teams","open source companies","open source contributors","open source maintainers"]},sidebar:"docs",previous:{title:"FAQs",permalink:"/welcome/faqs"},next:{title:"Repository Insights",permalink:"/features/repo-insights"}},c={},p=[{value:"Understanding Workspaces",id:"understanding-workspaces",level:2},{value:"The Sidebar",id:"the-sidebar",level:3},{value:"Your Workspaces",id:"your-workspaces",level:3},{value:"Repositories Dashboard",id:"repositories-dashboard",level:4},{value:"How to Create or Access a Workspace",id:"how-to-create-or-access-a-workspace",level:2},{value:"How to Add Repositories to a Workspace",id:"how-to-add-repositories-to-a-workspace",level:3},{value:"Changing Workspaces",id:"changing-workspaces",level:3},{value:"How to Share a Workspace",id:"how-to-share-a-workspace",level:2},{value:"Team Workspaces",id:"team-workspaces",level:2}],l={toc:p},u="wrapper";function d(e){let{components:t,...s}=e;return(0,r.kt)(u,(0,a.Z)({},l,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"In the OpenSauced app, your work unfolds within a Workspace: a virtual environment for managing information\u2014whether for individual productivity, team collaboration, or company-wide operations. Workspaces serve as a centralized hub for sharing, collaborating on, and ",(0,r.kt)("strong",{parentName:"p"},"tracking multiple repositories and organizations and their contributors in one place"),". This feature is designed to streamline your open source involvement, making it more efficient and interconnected."),(0,r.kt)("h2",{id:"understanding-workspaces"},"Understanding Workspaces"),(0,r.kt)("p",null,"You can navigate your workspaces from the sidebar. Each workspace has its own dashboard, which includes the repositories you're tracking in the workspace."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Workspace Access",src:o(96).Z,width:"1257",height:"477"})),(0,r.kt)("p",null,"By default, all workspaces are public. This means that anyone with the link to your workspace can view it, including all of your Insight Pages in the workspace. If you want to make your workspace private, you can upgrade your account to a PRO plan."),(0,r.kt)("h3",{id:"the-sidebar"},"The Sidebar"),(0,r.kt)("p",null,"The expandable sidebar includes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Options for creating and viewing workspaces."),(0,r.kt)("li",{parentName:"ul"},"Access to your Contributor and Repository Insights pages."),(0,r.kt)("li",{parentName:"ul"},"Links to support.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Sidebar",src:o(7769).Z,width:"1444",height:"965"})),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"We recently had a naming change. The ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributors Insights")," feature was previously called Lists, and the ",(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repositories Insights")," feature was previously called Insights.")),(0,r.kt)("h3",{id:"your-workspaces"},"Your Workspaces"),(0,r.kt)("p",null,"In your workspace dashboards, you can create, view, and manage your workspaces."),(0,r.kt)("h4",{id:"repositories-dashboard"},"Repositories Dashboard"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Workspaces",src:o(4255).Z,width:"3200",height:"1800"})),(0,r.kt)("p",null,"Within the repositories dashboard, you can view the following metrics, which are over a period of thirty days by default:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Pull Requests"),": This includes the total opened and merged pull requests for the repositories included in your workspace, as well as the velocity of pull requests being merged."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Issues"),": This includes the total opened and closed issues for the repositories included in your workspace, as well as the velocity of issues being closed."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Engagement"),": This includes the total stars, forks, and activity ratio for the repositories included in your workspace.")),(0,r.kt)("h2",{id:"how-to-create-or-access-a-workspace"},"How to Create or Access a Workspace"),(0,r.kt)("p",null,"To create a workspace, start by accessing the ",(0,r.kt)("strong",{parentName:"p"},"Workspace switcher")," in the sidebar. From there, you can create a new workspace or view an existing one."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"workspace switcher",src:o(7281).Z,width:"1877",height:"888"})),(0,r.kt)("br",null),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},'Whenever you select "Home", you\'ll be taken to the last workspace you opened.')),(0,r.kt)("h3",{id:"how-to-add-repositories-to-a-workspace"},"How to Add Repositories to a Workspace"),(0,r.kt)("p",null,"If you're creating a new workspace, you'll have the option to add repositories at the time of creation."),(0,r.kt)("p",null,'Start by creating a workspace name, then click "Add repositories." You\'ll have three options for adding repositories:'),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Search for Repositories"),": Use our search tool by adding an organization name, followed by the repository name, and add them to your workspace."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Import a GitHub Organization"),": Connect to your GitHub organizations to create a workspace from an organization. (If you're having trouble with this, see the \"",(0,r.kt)("a",{parentName:"li",href:"/welcome/faqs#sync-your-github-team"},"Sync Your GitHub Team"),'" section in our FAQs.)'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Import Repositories"),": Paste a list of repositories to add to your workspace.")),(0,r.kt)("p",null,"Once your repositories are added, you'll be able to see them in your repository dashboard. You can also edit your workspace to add or remove repositories anytime."),(0,r.kt)("h3",{id:"changing-workspaces"},"Changing Workspaces"),(0,r.kt)("p",null,"Anything you create in a workspace is specific to that workspace. When you switch workspaces, you'll see the Repository and Contributor Insights specific to that workspace."),(0,r.kt)("h2",{id:"how-to-share-a-workspace"},"How to Share a Workspace"),(0,r.kt)("p",null,"You can share your workspace with others by copying the URL and sending it to them. If your workspace is private (a PRO plan feature), only those with access to the workspace will be able to view it."),(0,r.kt)("h2",{id:"team-workspaces"},"Team Workspaces"),(0,r.kt)("p",null,"Team workspaces are part of the PRO plan and are designed to help teams collaborate on and understand open source projects. Team workspaces are public by default. However, you can switch it to private in your settings so only team members can view the workspace."),(0,r.kt)("p",null,"By upgrading to a team workspace, you'll have unlimited Contributor and Repository Insights, as well as the ability to toggle between private and public visibility. "),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"The visibility of your Insights Pages is determined by the visibility of the workspace. If your workspace is public, your insights will be public. If your workspace is private, your insights will be private.")),(0,r.kt)("p",null,'You can add someone to your workspace by clicking on the "Edit" button located at the top right of the workspace dashboard and entering the username of the workspace member you would like to add.'),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Add People",src:o(4958).Z,width:"916",height:"141"})),(0,r.kt)("p",null,"Once you add a member to a workspace, they will be able to view the workspace and its contents. You will also be able to edit their permissions for the workspace, including owner, editor, or viewer permissions. This workspace will now appear in their workspace switcher."))}d.isMDXComponent=!0},4958:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/add-to-workspace-e8e843efa9c124bbce60110af201612a.png"},96:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/workspace-access-72e8f9933caa4b45be55046d94f84fdb.png"},7769:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/workspace-sidebar-258a48d99ed9cb31f7449da2de965d86.png"},7281:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/workspace-switcher-b2400ec5c309a762f822268b44779930.png"},4255:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/workspace-644e59bed496d2a0df7502aaa833129e.png"}}]); \ No newline at end of file diff --git a/assets/js/d55a4e5f.bee165ea.js b/assets/js/d55a4e5f.bee165ea.js deleted file mode 100644 index 464e521d..00000000 --- a/assets/js/d55a4e5f.bee165ea.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[4955],{3905:(e,t,o)=>{o.d(t,{Zo:()=>l,kt:()=>k});var a=o(7294);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function s(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,a)}return o}function n(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var c=a.createContext({}),p=function(e){var t=a.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):n(n({},t),e)),o},l=function(e){var t=p(e.components);return a.createElement(c.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},h=a.forwardRef((function(e,t){var o=e.components,r=e.mdxType,s=e.originalType,c=e.parentName,l=i(e,["components","mdxType","originalType","parentName"]),u=p(o),h=r,k=u["".concat(c,".").concat(h)]||u[h]||d[h]||s;return o?a.createElement(k,n(n({ref:t},l),{},{components:o})):a.createElement(k,n({ref:t},l))}));function k(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var s=o.length,n=new Array(s);n[0]=h;var i={};for(var c in t)hasOwnProperty.call(t,c)&&(i[c]=t[c]);i.originalType=e,i[u]="string"==typeof e?e:r,n[1]=i;for(var p=2;p{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>n,default:()=>d,frontMatter:()=>s,metadata:()=>i,toc:()=>p});var a=o(7462),r=(o(7294),o(3905));const s={id:"workspaces",title:"Share, Collaborate, and Track with Workspaces",sidebar_label:"Workspaces",keywords:["contributors","Monitor Contributors","Track open source projects","open source teams","open source companies","open source contributors","open source maintainers"]},n=void 0,i={unversionedId:"features/workspaces",id:"features/workspaces",title:"Share, Collaborate, and Track with Workspaces",description:"In the OpenSauced app, your work unfolds within a Workspace: a virtual environment for managing information\u2014whether for individual productivity, team collaboration, or company-wide operations. Workspaces serve as a centralized hub for sharing, collaborating on, and tracking multiple repositories and organizations and their contributors in one place. This feature is designed to streamline your open source involvement, making it more efficient and interconnected.",source:"@site/docs/features/workspaces.md",sourceDirName:"features",slug:"/features/workspaces",permalink:"/features/workspaces",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/workspaces.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"workspaces",title:"Share, Collaborate, and Track with Workspaces",sidebar_label:"Workspaces",keywords:["contributors","Monitor Contributors","Track open source projects","open source teams","open source companies","open source contributors","open source maintainers"]},sidebar:"docs",previous:{title:"FAQs",permalink:"/welcome/faqs"},next:{title:"Repository Insights",permalink:"/features/repo-insights"}},c={},p=[{value:"Understanding Workspaces",id:"understanding-workspaces",level:2},{value:"The Sidebar",id:"the-sidebar",level:3},{value:"Your Workspaces",id:"your-workspaces",level:3},{value:"Repositories Dashboard",id:"repositories-dashboard",level:4},{value:"How to Create or Access a Workspace",id:"how-to-create-or-access-a-workspace",level:2},{value:"How to Add Repositories to a Workspace",id:"how-to-add-repositories-to-a-workspace",level:3},{value:"Changing Workspaces",id:"changing-workspaces",level:3},{value:"How to Share a Workspace",id:"how-to-share-a-workspace",level:2},{value:"Team Workspaces",id:"team-workspaces",level:2}],l={toc:p},u="wrapper";function d(e){let{components:t,...s}=e;return(0,r.kt)(u,(0,a.Z)({},l,s,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"In the OpenSauced app, your work unfolds within a Workspace: a virtual environment for managing information\u2014whether for individual productivity, team collaboration, or company-wide operations. Workspaces serve as a centralized hub for sharing, collaborating on, and ",(0,r.kt)("strong",{parentName:"p"},"tracking multiple repositories and organizations and their contributors in one place"),". This feature is designed to streamline your open source involvement, making it more efficient and interconnected."),(0,r.kt)("h2",{id:"understanding-workspaces"},"Understanding Workspaces"),(0,r.kt)("p",null,"You can navigate your workspaces from the sidebar. Each workspace has its own dashboard, which includes the repositories you're tracking in the workspace."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Workspace Access",src:o(9675).Z,width:"2044",height:"832"})),(0,r.kt)("p",null,"By default, all workspaces are public. This means that anyone with the link to your workspace can view it, including all of your Insight Pages in the workspace. If you want to make your workspace private, you can upgrade your account to a PRO plan."),(0,r.kt)("h3",{id:"the-sidebar"},"The Sidebar"),(0,r.kt)("p",null,"The expandable sidebar includes:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Options for creating and viewing workspaces."),(0,r.kt)("li",{parentName:"ul"},"Access to your Contributor and Repository Insights pages."),(0,r.kt)("li",{parentName:"ul"},"Links to support.")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Sidebar",src:o(7769).Z,width:"2986",height:"1560"})),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"We recently had a naming change. The ",(0,r.kt)("a",{parentName:"p",href:"/features/contributor-insights"},"Contributors Insights")," feature was previously called Lists, and the ",(0,r.kt)("a",{parentName:"p",href:"/features/repo-insights"},"Repositories Insights")," feature was previously called Insights.")),(0,r.kt)("h3",{id:"your-workspaces"},"Your Workspaces"),(0,r.kt)("p",null,"In your workspace dashboards, you can create, view, and manage your workspaces."),(0,r.kt)("h4",{id:"repositories-dashboard"},"Repositories Dashboard"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Workspaces",src:o(4255).Z,width:"2986",height:"1560"})),(0,r.kt)("p",null,"Within the repositories dashboard, you can view the following metrics, which are over a period of thirty days by default:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Pull Requests"),": This includes the total opened and merged pull requests for the repositories included in your workspace, as well as the velocity of pull requests being merged."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Issues"),": This includes the total opened and closed issues for the repositories included in your workspace, as well as the velocity of issues being closed."),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("strong",{parentName:"li"},"Engagement"),": This includes the total stars, forks, and activity ratio for the repositories included in your workspace.")),(0,r.kt)("h2",{id:"how-to-create-or-access-a-workspace"},"How to Create or Access a Workspace"),(0,r.kt)("p",null,"To create a workspace, start by accessing the ",(0,r.kt)("strong",{parentName:"p"},"Workspace switcher")," in the sidebar. From there, you can create a new workspace or view an existing one."),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"workspace switcher",src:o(7281).Z,width:"1877",height:"888"})),(0,r.kt)("br",null),(0,r.kt)("admonition",{type:"note"},(0,r.kt)("p",{parentName:"admonition"},'Whenever you select "Home", you\'ll be taken to the last workspace you opened.')),(0,r.kt)("h3",{id:"how-to-add-repositories-to-a-workspace"},"How to Add Repositories to a Workspace"),(0,r.kt)("p",null,"If you're creating a new workspace, you'll have the option to add repositories at the time of creation."),(0,r.kt)("p",null,'Start by creating a workspace name, then click "Add repositories." You\'ll have three options for adding repositories:'),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Search for Repositories"),": Use our search tool by adding an organization name, followed by the repository name, and add them to your workspace."),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Import a GitHub Organization"),": Connect to your GitHub organizations to create a workspace from an organization. (If you're having trouble with this, see the \"",(0,r.kt)("a",{parentName:"li",href:"/welcome/faqs#sync-your-github-team"},"Sync Your GitHub Team"),'" section in our FAQs.)'),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("strong",{parentName:"li"},"Import Repositories"),": Paste a list of repositories to add to your workspace.")),(0,r.kt)("p",null,"Once your repositories are added, you'll be able to see them in your repository dashboard. You can also edit your workspace to add or remove repositories anytime."),(0,r.kt)("h3",{id:"changing-workspaces"},"Changing Workspaces"),(0,r.kt)("p",null,"Anything you create in a workspace is specific to that workspace. When you switch workspaces, you'll see the Repository and Contributor Insights specific to that workspace."),(0,r.kt)("h2",{id:"how-to-share-a-workspace"},"How to Share a Workspace"),(0,r.kt)("p",null,"You can share your workspace with others by copying the URL and sending it to them. If your workspace is private (a PRO plan feature), only those with access to the workspace will be able to view it."),(0,r.kt)("h2",{id:"team-workspaces"},"Team Workspaces"),(0,r.kt)("p",null,"Team workspaces are part of the PRO plan and are designed to help teams collaborate on and understand open source projects. Team workspaces are public by default. However, you can switch it to private in your settings so only team members can view the workspace."),(0,r.kt)("p",null,"By upgrading to a team workspace, you'll have unlimited Contributor and Repository Insights, as well as the ability to toggle between private and public visibility. "),(0,r.kt)("admonition",{type:"info"},(0,r.kt)("p",{parentName:"admonition"},"The visibility of your Insights Pages is determined by the visibility of the workspace. If your workspace is public, your insights will be public. If your workspace is private, your insights will be private.")),(0,r.kt)("p",null,'You can add someone to your workspace by clicking on the "Edit" button located at the top right of the workspace dashboard and entering the username of the workspace member you would like to add.'),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"Add People",src:o(4958).Z,width:"916",height:"141"})),(0,r.kt)("p",null,"Once you add a member to a workspace, they will be able to view the workspace and its contents. You will also be able to edit their permissions for the workspace, including owner, editor, or viewer permissions. This workspace will now appear in their workspace switcher."))}d.isMDXComponent=!0},9675:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/access-workspace-547a99c3e2b489313f19aa5d5a73d73e.png"},4958:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/add-to-workspace-e8e843efa9c124bbce60110af201612a.png"},7769:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/workspace-sidebar-b94b7d7a5e2643911f2b66c157ce53b7.png"},7281:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/workspace-switcher-b2400ec5c309a762f822268b44779930.png"},4255:(e,t,o)=>{o.d(t,{Z:()=>a});const a=o.p+"assets/images/workspace-a7b3cbb522d0e99c0c233eec200a038c.png"}}]); \ No newline at end of file diff --git a/assets/js/e0315c91.8987dbdc.js b/assets/js/e0315c91.50ac15cf.js similarity index 99% rename from assets/js/e0315c91.8987dbdc.js rename to assets/js/e0315c91.50ac15cf.js index b89317c5..3c8dedfc 100644 --- a/assets/js/e0315c91.8987dbdc.js +++ b/assets/js/e0315c91.50ac15cf.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6519],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=o.createContext({}),u=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},c=function(e){var t=u(e.components);return o.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},y=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=u(r),y=n,m=p["".concat(l,".").concat(y)]||p[y]||d[y]||i;return r?o.createElement(m,s(s({ref:t},c),{},{components:r})):o.createElement(m,s({ref:t},c))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,s=new Array(i);s[0]=y;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[p]="string"==typeof e?e:n,s[1]=a;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var o=r(7462),n=(r(7294),r(3905));const i={id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary","openSauced","OpenSauced Glossary","Tech Glossary","OpenSauced Glossary Guide","Open Source Project Glossary"]},s=void 0,a={unversionedId:"welcome/glossary",id:"welcome/glossary",title:"OpenSauced Glossary",description:"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.",source:"@site/docs/welcome/glossary.md",sourceDirName:"welcome",slug:"/welcome/glossary",permalink:"/welcome/glossary",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/glossary.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary","openSauced","OpenSauced Glossary","Tech Glossary","OpenSauced Glossary Guide","Open Source Project Glossary"]},sidebar:"docs",previous:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"},next:{title:"FAQs",permalink:"/welcome/faqs"}},l={},u=[{value:"Active Contributors",id:"active-contributors",level:2},{value:"Activity",id:"activity",level:2},{value:"Alumni Contributors",id:"alumni-contributors",level:2},{value:"Contributor Insights",id:"contributor-insights",level:2},{value:"New Contributors",id:"new-contributors",level:2},{value:"PR Overview",id:"pr-overview",level:2},{value:"PR Velocity",id:"pr-velocity",level:2},{value:"Repository Insights",id:"repository-insights",level:2}],c={toc:u},p="wrapper";function d(e){let{components:t,...r}=e;return(0,n.kt)(p,(0,o.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced."),(0,n.kt)("h2",{id:"active-contributors"},"Active Contributors"),(0,n.kt)("p",null,"A contributor who has been active in the last 30 days."),(0,n.kt)("h2",{id:"activity"},"Activity"),(0,n.kt)("p",null,"Activity tracks Pull Requests (PRs) over the last 30 days:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"High"),": More than 80 PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Medium"),": Between 5 and 80 PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Low"),": Below 5 PRs.")),(0,n.kt)("h2",{id:"alumni-contributors"},"Alumni Contributors"),(0,n.kt)("p",null,"A contributor who has not been active on a project in the last 30 days."),(0,n.kt)("h2",{id:"contributor-insights"},"Contributor Insights"),(0,n.kt)("p",null,"The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions."),(0,n.kt)("h2",{id:"new-contributors"},"New Contributors"),(0,n.kt)("p",null,"A contributor who has recently made their first contribution to a project."),(0,n.kt)("h2",{id:"pr-overview"},"PR Overview"),(0,n.kt)("p",null,"PR Overview tells the story of the Pull Requests (PRs) submitted in the last 30 days:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Green line"),": Open PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Red line"),": Closed PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Purple line"),": Merged PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Grey line"),": Draft PRs.")),(0,n.kt)("h2",{id:"pr-velocity"},"PR Velocity"),(0,n.kt)("p",null,"PR Velocity tracks how quickly Pull Requests (PRs) are being merged in by identifying the average time to completion from the request submission."),(0,n.kt)("h2",{id:"repository-insights"},"Repository Insights"),(0,n.kt)("p",null,"The Repository Insights feature is a one-stop solution for understanding the pulse of your open-source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions."))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[6519],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>m});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=o.createContext({}),u=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},c=function(e){var t=u(e.components);return o.createElement(l.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},y=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,l=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=u(r),y=n,m=p["".concat(l,".").concat(y)]||p[y]||d[y]||i;return r?o.createElement(m,s(s({ref:t},c),{},{components:r})):o.createElement(m,s({ref:t},c))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,s=new Array(i);s[0]=y;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[p]="string"==typeof e?e:n,s[1]=a;for(var u=2;u{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var o=r(7462),n=(r(7294),r(3905));const i={id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary","openSauced","OpenSauced Glossary","Tech Glossary","OpenSauced Glossary Guide","Open Source Project Glossary"]},s=void 0,a={unversionedId:"welcome/glossary",id:"welcome/glossary",title:"OpenSauced Glossary",description:"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.",source:"@site/docs/welcome/glossary.md",sourceDirName:"welcome",slug:"/welcome/glossary",permalink:"/welcome/glossary",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/glossary.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"glossary",title:"OpenSauced Glossary",sidebar_label:"OpenSauced Glossary",keywords:["glossary","openSauced","OpenSauced Glossary","Tech Glossary","OpenSauced Glossary Guide","Open Source Project Glossary"]},sidebar:"docs",previous:{title:"What is OpenSauced?",permalink:"/welcome/opensauced-intro"},next:{title:"FAQs",permalink:"/welcome/faqs"}},l={},u=[{value:"Active Contributors",id:"active-contributors",level:2},{value:"Activity",id:"activity",level:2},{value:"Alumni Contributors",id:"alumni-contributors",level:2},{value:"Contributor Insights",id:"contributor-insights",level:2},{value:"New Contributors",id:"new-contributors",level:2},{value:"PR Overview",id:"pr-overview",level:2},{value:"PR Velocity",id:"pr-velocity",level:2},{value:"Repository Insights",id:"repository-insights",level:2}],c={toc:u},p="wrapper";function d(e){let{components:t,...r}=e;return(0,n.kt)(p,(0,o.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced."),(0,n.kt)("h2",{id:"active-contributors"},"Active Contributors"),(0,n.kt)("p",null,"A contributor who has been active in the last 30 days."),(0,n.kt)("h2",{id:"activity"},"Activity"),(0,n.kt)("p",null,"Activity tracks Pull Requests (PRs) over the last 30 days:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"High"),": More than 80 PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Medium"),": Between 5 and 80 PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Low"),": Below 5 PRs.")),(0,n.kt)("h2",{id:"alumni-contributors"},"Alumni Contributors"),(0,n.kt)("p",null,"A contributor who has not been active on a project in the last 30 days."),(0,n.kt)("h2",{id:"contributor-insights"},"Contributor Insights"),(0,n.kt)("p",null,"The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions."),(0,n.kt)("h2",{id:"new-contributors"},"New Contributors"),(0,n.kt)("p",null,"A contributor who has recently made their first contribution to a project."),(0,n.kt)("h2",{id:"pr-overview"},"PR Overview"),(0,n.kt)("p",null,"PR Overview tells the story of the Pull Requests (PRs) submitted in the last 30 days:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Green line"),": Open PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Red line"),": Closed PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Purple line"),": Merged PRs."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Grey line"),": Draft PRs.")),(0,n.kt)("h2",{id:"pr-velocity"},"PR Velocity"),(0,n.kt)("p",null,"PR Velocity tracks how quickly Pull Requests (PRs) are being merged in by identifying the average time to completion from the request submission."),(0,n.kt)("h2",{id:"repository-insights"},"Repository Insights"),(0,n.kt)("p",null,"The Repository Insights feature is a one-stop solution for understanding the pulse of your open-source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e4e25c8b.289388c6.js b/assets/js/e4e25c8b.e35c44f4.js similarity index 99% rename from assets/js/e4e25c8b.289388c6.js rename to assets/js/e4e25c8b.e35c44f4.js index 7a7767c7..c9f94090 100644 --- a/assets/js/e4e25c8b.289388c6.js +++ b/assets/js/e4e25c8b.e35c44f4.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9708],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>h});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=i.createContext({}),l=function(e){var t=i.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},m=function(e){var t=l(e.components);return i.createElement(u.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,s=e.originalType,u=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),p=l(n),d=a,h=p["".concat(u,".").concat(d)]||p[d]||c[d]||s;return n?i.createElement(h,r(r({ref:t},m),{},{components:n})):i.createElement(h,r({ref:t},m))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=n.length,r=new Array(s);r[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[p]="string"==typeof e?e:a,r[1]=o;for(var l=2;l{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var i=n(7462),a=(n(7294),n(3905));const s={id:"community-maintainers-guide",title:"OpenSauced Community Maintainers Guidelines",sidebar_label:"Community Maintainers Guidelines",keywords:["opensauced community maintainers guidelines","opensauced community maintainers","maintainers guidelines","open source maintainers guidelines","open source maintainer","open source project management","community management in open source"]},r=void 0,o={unversionedId:"contributing/opensauced-maintainers-guide/community-maintainers-guide",id:"contributing/opensauced-maintainers-guide/community-maintainers-guide",title:"OpenSauced Community Maintainers Guidelines",description:"Welcome to OpenSauced Community Maintainers guidelines!",source:"@site/docs/contributing/opensauced-maintainers-guide/community-maintainers-guide.md",sourceDirName:"contributing/opensauced-maintainers-guide",slug:"/contributing/opensauced-maintainers-guide/community-maintainers-guide",permalink:"/contributing/opensauced-maintainers-guide/community-maintainers-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/opensauced-maintainers-guide/community-maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"community-maintainers-guide",title:"OpenSauced Community Maintainers Guidelines",sidebar_label:"Community Maintainers Guidelines",keywords:["opensauced community maintainers guidelines","opensauced community maintainers","maintainers guidelines","open source maintainers guidelines","open source maintainer","open source project management","community management in open source"]},sidebar:"docs",previous:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/opensauced-maintainers-guide/maintainers-guide"},next:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"}},u={},l=[{value:"Maintainers Best Practices",id:"maintainers-best-practices",level:2},{value:"Issues Management",id:"issues-management",level:2},{value:"Triaging Issues",id:"triaging-issues",level:3},{value:"Creating Issues",id:"creating-issues",level:3},{value:"Good First Issue",id:"good-first-issue",level:3},{value:"Assigning Issues",id:"assigning-issues",level:3},{value:"Pull Request Management",id:"pull-request-management",level:2},{value:"Timeline",id:"timeline",level:3},{value:"Pull Request Review",id:"pull-request-review",level:3},{value:"Merging Pull Request",id:"merging-pull-request",level:3},{value:"Closing Pull Requests",id:"closing-pull-requests",level:3},{value:"OpenSauced Community Maintainers",id:"opensauced-community-maintainers",level:2},{value:"OpenSauced Community Repositories",id:"opensauced-community-repositories",level:2}],m={toc:l},p="wrapper";function c(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to OpenSauced Community Maintainers guidelines!"),(0,a.kt)("p",null,"These guidelines provide expectations and responsibilities for OpenSauced Community Maintainers to foster a welcoming, supportive, and inclusive community and encourage healthy collaboration."),(0,a.kt)("h2",{id:"maintainers-best-practices"},"Maintainers Best Practices"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Open communication"),": Always communicate everything as much as you can openly on GitHub to keep the community in the loop."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Courtesy"),": Always use polite and clear words when asking for changes or giving feedback."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Intention"),": Always tell the reason behind closing an issue or pull request."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Take the time needed"),": Maintainers are human. It\u2019s okay to take time to respond.")),(0,a.kt)("h2",{id:"issues-management"},"Issues Management"),(0,a.kt)("h3",{id:"triaging-issues"},"Triaging Issues"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},'Label issues to classify them. Refer to the "',(0,a.kt)("a",{parentName:"li",href:"/contributing/triage-guide#adding-issue-and-pr-labels"},"Adding Issue and PR Labels"),'" section on the OpenSauced docs.'),(0,a.kt)("li",{parentName:"ul"},"If a feature request needs to be more convincing, ask contributors to convince you why OpenSauced wants to enhance the project with the feature."),(0,a.kt)("li",{parentName:"ul"},"When unsure whether to go on or close the issue, seek the opinions of other maintainers by tagging them in the comment.")),(0,a.kt)("h3",{id:"creating-issues"},"Creating Issues"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Create an issue whenever there's a necessity for change, even without discussing it first with the team."),(0,a.kt)("li",{parentName:"ul"},'All issues should start with a descriptive title that begins with a verb. For example, "',(0,a.kt)("strong",{parentName:"li"},"Add"),' a section on how to use X feature."'),(0,a.kt)("li",{parentName:"ul"},"Creating several small issues is better than one consisting of big changes. Contributors can work on the issues faster, and it can save time for maintainers to review the pull requests."),(0,a.kt)("li",{parentName:"ul"},"Leave the ",(0,a.kt)("inlineCode",{parentName:"li"},"needs triage")," label and tag other maintainers to triage before releasing it for contributions when in doubt."),(0,a.kt)("li",{parentName:"ul"},"Add a ",(0,a.kt)("inlineCode",{parentName:"li"},"beginner"),' label for low-effort issues requiring less expectation for the maintainers\' time and support. Provide clear and enough information about how you want the change to be. For example, "Add a section about X. Give a brief explanation about it. You can read these resources to help you."')),(0,a.kt)("h3",{id:"good-first-issue"},"Good First Issue"),(0,a.kt)("p",null,"Good first issues mainly aim for complete beginners and someone new to OpenSauced projects. A good first issue has to have:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Clear description"),": Why do you want to have the change? What do you want to achieve with the change?"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Proposed solution"),": How can this issue be solved?"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Files and code blocks"),": Point to the file and the code blocks causing the issue. Read the instructions on the GitHub documentation to ",(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet"},"create a permanent link to a code snippet"),".")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Tip"),": Add checkboxes to the issue and ask the contributor to check them as they complete them to help create a clear path to completion."),(0,a.kt)("h3",{id:"assigning-issues"},"Assigning Issues"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"The ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," can only be assigned ",(0,a.kt)("strong",{parentName:"li"},"once per contributor"),". ",(0,a.kt)("br",null),' Respond with something like, "Hey {username}, we appreciate all the contributions lately! We\'d love to give someone new a chance to take on this good first issue, but keep checking back as we post new issues frequently."'),(0,a.kt)("li",{parentName:"ul"},"Issues outside the ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," can be assigned ",(0,a.kt)("strong",{parentName:"li"},"max. 2 issues per contributor at a time"),". ",(0,a.kt)("br",null)," We love contributions. But we want to equip contributors to succeed by giving them time to complete issues. Through experience, we've found that two issues at a time allows them to focus on completing the issue and supports maintainers by not having issues open for long periods.")),(0,a.kt)("h2",{id:"pull-request-management"},"Pull Request Management"),(0,a.kt)("h3",{id:"timeline"},"Timeline"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Small pull requests that don't require updates should be merged in up to one week."),(0,a.kt)("li",{parentName:"ul"},"Take time to review long pull requests to prevent merging incomplete, broken, or unresolved pull requests. Communicate with contributors when more time is needed to review the pull requests."),(0,a.kt)("li",{parentName:"ul"},'Pull requests that have requested updates that are stale after two weeks should be put into draft mode with a note to the contributor that says something like: "We haven\u2019t seen any updates to this PR in the last two weeks, so we\u2019ve put it in draft mode. Please let us know if you\u2019re going to continue to work on it."'),(0,a.kt)("li",{parentName:"ul"},"Stale pull requests should be closed when unresolved or inactive (no commits, comment responses, etc.) in 5 weeks. In these circumstances, communicate with contributors that they may reopen if they want to continue working on it only when no one claims the issue. ",(0,a.kt)("br",null)," ",(0,a.kt)("strong",{parentName:"li"},"Note"),": If you close their pull request, you should also unassign any related issues.")),(0,a.kt)("h3",{id:"pull-request-review"},"Pull Request Review"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Ensure that the pull request form is completed. Ask contributors to provide any missing information before reviewing."),(0,a.kt)("li",{parentName:"ul"},"Always ",(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally"},"pull the pull request's branch")," and test the changes locally."),(0,a.kt)("li",{parentName:"ul"},"Always provide feedback and suggestions when requesting changes. To give code suggestions, please read the ",(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request"},"GitHub documentation"),"."),(0,a.kt)("li",{parentName:"ul"},"Pull requests should only include what is requested in the issue. If there's another fix that someone (contributor or maintainer) wants to make, it requires another issue and a pull request. If the person has already made the fix in the pull request, politely ask them to remove the update, create a new issue, and wait to be assigned."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply"},"Creating saved replies")," is helpful when frequently adding the same comment over and over, such as thanking contributors for pull requests or changes made, asking to resolve merge conflicts, etc.")),(0,a.kt)("h3",{id:"merging-pull-request"},"Merging Pull Request"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Always ",(0,a.kt)("strong",{parentName:"p"},"squash and merge commits")," when merging in a pull request.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"When two maintainers review and approve a pull request, the first reviewer is the one who merges the pull request if there are no requested changes.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"When there is a request for changes, the one who requested changes or the last one whose requests got resolved is the one who merges the pull request.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Refrain from resolving conversations started by other maintainers even if the contributor has verified. When it's necessary to merge the pull request fast, tag the maintainer and ask them to do a final check before merging.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Do not approve changes or dismiss reviews from a maintainer even if the contributor has completed the change requests. Re-request review instead.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"If you have the time, it's great to encourage contributors with a positive message like these:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'"Thanks for contributing, ',"[name of contributor]",". Join our ",(0,a.kt)("a",{parentName:"p",href:"https://discord.com/invite/U2peSNf23P"},"Discord"),' community for more updates on OpenSauced and to find more projects."')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"A personal message acknowledging their impact.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Send a GIF like this one:"),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{parentName:"p",src:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExb2JhdGI5czh4MDlyeWhlNXpicmdrbGZ2Znk0MnM4dnV0ZHMyamNkOSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/cFkiFMDg3iFoI/giphy.gif",alt:"git merge"})))))),(0,a.kt)("h3",{id:"closing-pull-requests"},"Closing Pull Requests"),(0,a.kt)("p",null,"Below are the circumstances when you can close pull requests:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Stand-alone pull requests that don't have issues related to them."),(0,a.kt)("li",{parentName:"ul"},"Pull requests for issues that are not assigned to the contributors."),(0,a.kt)("li",{parentName:"ul"},"Stale pull requests.")),(0,a.kt)("h2",{id:"opensauced-community-maintainers"},"OpenSauced Community Maintainers"),(0,a.kt)("p",null,"See the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/teams/community"},"@open-sauced/community")," team."),(0,a.kt)("h2",{id:"opensauced-community-repositories"},"OpenSauced Community Repositories"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null}),(0,a.kt)("th",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"th"},"Repository Name")))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"1."),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"https://github.com/open-sauced/guestbook"},"guestbook"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"2."),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"https://github.com/open-sauced/pizza-verse"},"pizza-verse"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"3."),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"https://github.com/open-sauced/intro"},"intro"))))))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9708],{3905:(e,t,n)=>{n.d(t,{Zo:()=>m,kt:()=>h});var i=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function r(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=i.createContext({}),l=function(e){var t=i.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):r(r({},t),e)),n},m=function(e){var t=l(e.components);return i.createElement(u.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},d=i.forwardRef((function(e,t){var n=e.components,a=e.mdxType,s=e.originalType,u=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),p=l(n),d=a,h=p["".concat(u,".").concat(d)]||p[d]||c[d]||s;return n?i.createElement(h,r(r({ref:t},m),{},{components:n})):i.createElement(h,r({ref:t},m))}));function h(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var s=n.length,r=new Array(s);r[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[p]="string"==typeof e?e:a,r[1]=o;for(var l=2;l{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>c,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var i=n(7462),a=(n(7294),n(3905));const s={id:"community-maintainers-guide",title:"OpenSauced Community Maintainers Guidelines",sidebar_label:"Community Maintainers Guidelines",keywords:["opensauced community maintainers guidelines","opensauced community maintainers","maintainers guidelines","open source maintainers guidelines","open source maintainer","open source project management","community management in open source"]},r=void 0,o={unversionedId:"contributing/opensauced-maintainers-guide/community-maintainers-guide",id:"contributing/opensauced-maintainers-guide/community-maintainers-guide",title:"OpenSauced Community Maintainers Guidelines",description:"Welcome to OpenSauced Community Maintainers guidelines!",source:"@site/docs/contributing/opensauced-maintainers-guide/community-maintainers-guide.md",sourceDirName:"contributing/opensauced-maintainers-guide",slug:"/contributing/opensauced-maintainers-guide/community-maintainers-guide",permalink:"/contributing/opensauced-maintainers-guide/community-maintainers-guide",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/contributing/opensauced-maintainers-guide/community-maintainers-guide.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"community-maintainers-guide",title:"OpenSauced Community Maintainers Guidelines",sidebar_label:"Community Maintainers Guidelines",keywords:["opensauced community maintainers guidelines","opensauced community maintainers","maintainers guidelines","open source maintainers guidelines","open source maintainer","open source project management","community management in open source"]},sidebar:"docs",previous:{title:"OpenSauced Maintainers Guide",permalink:"/contributing/opensauced-maintainers-guide/maintainers-guide"},next:{title:"Set Up Authentication",permalink:"/contributing/set-up-authentication"}},u={},l=[{value:"Maintainers Best Practices",id:"maintainers-best-practices",level:2},{value:"Issues Management",id:"issues-management",level:2},{value:"Triaging Issues",id:"triaging-issues",level:3},{value:"Creating Issues",id:"creating-issues",level:3},{value:"Good First Issue",id:"good-first-issue",level:3},{value:"Assigning Issues",id:"assigning-issues",level:3},{value:"Pull Request Management",id:"pull-request-management",level:2},{value:"Timeline",id:"timeline",level:3},{value:"Pull Request Review",id:"pull-request-review",level:3},{value:"Merging Pull Request",id:"merging-pull-request",level:3},{value:"Closing Pull Requests",id:"closing-pull-requests",level:3},{value:"OpenSauced Community Maintainers",id:"opensauced-community-maintainers",level:2},{value:"OpenSauced Community Repositories",id:"opensauced-community-repositories",level:2}],m={toc:l},p="wrapper";function c(e){let{components:t,...n}=e;return(0,a.kt)(p,(0,i.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to OpenSauced Community Maintainers guidelines!"),(0,a.kt)("p",null,"These guidelines provide expectations and responsibilities for OpenSauced Community Maintainers to foster a welcoming, supportive, and inclusive community and encourage healthy collaboration."),(0,a.kt)("h2",{id:"maintainers-best-practices"},"Maintainers Best Practices"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Open communication"),": Always communicate everything as much as you can openly on GitHub to keep the community in the loop."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Courtesy"),": Always use polite and clear words when asking for changes or giving feedback."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Intention"),": Always tell the reason behind closing an issue or pull request."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Take the time needed"),": Maintainers are human. It\u2019s okay to take time to respond.")),(0,a.kt)("h2",{id:"issues-management"},"Issues Management"),(0,a.kt)("h3",{id:"triaging-issues"},"Triaging Issues"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},'Label issues to classify them. Refer to the "',(0,a.kt)("a",{parentName:"li",href:"/contributing/triage-guide#adding-issue-and-pr-labels"},"Adding Issue and PR Labels"),'" section on the OpenSauced docs.'),(0,a.kt)("li",{parentName:"ul"},"If a feature request needs to be more convincing, ask contributors to convince you why OpenSauced wants to enhance the project with the feature."),(0,a.kt)("li",{parentName:"ul"},"When unsure whether to go on or close the issue, seek the opinions of other maintainers by tagging them in the comment.")),(0,a.kt)("h3",{id:"creating-issues"},"Creating Issues"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Create an issue whenever there's a necessity for change, even without discussing it first with the team."),(0,a.kt)("li",{parentName:"ul"},'All issues should start with a descriptive title that begins with a verb. For example, "',(0,a.kt)("strong",{parentName:"li"},"Add"),' a section on how to use X feature."'),(0,a.kt)("li",{parentName:"ul"},"Creating several small issues is better than one consisting of big changes. Contributors can work on the issues faster, and it can save time for maintainers to review the pull requests."),(0,a.kt)("li",{parentName:"ul"},"Leave the ",(0,a.kt)("inlineCode",{parentName:"li"},"needs triage")," label and tag other maintainers to triage before releasing it for contributions when in doubt."),(0,a.kt)("li",{parentName:"ul"},"Add a ",(0,a.kt)("inlineCode",{parentName:"li"},"beginner"),' label for low-effort issues requiring less expectation for the maintainers\' time and support. Provide clear and enough information about how you want the change to be. For example, "Add a section about X. Give a brief explanation about it. You can read these resources to help you."')),(0,a.kt)("h3",{id:"good-first-issue"},"Good First Issue"),(0,a.kt)("p",null,"Good first issues mainly aim for complete beginners and someone new to OpenSauced projects. A good first issue has to have:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Clear description"),": Why do you want to have the change? What do you want to achieve with the change?"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Proposed solution"),": How can this issue be solved?"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("strong",{parentName:"li"},"Files and code blocks"),": Point to the file and the code blocks causing the issue. Read the instructions on the GitHub documentation to ",(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet"},"create a permanent link to a code snippet"),".")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Tip"),": Add checkboxes to the issue and ask the contributor to check them as they complete them to help create a clear path to completion."),(0,a.kt)("h3",{id:"assigning-issues"},"Assigning Issues"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"The ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," can only be assigned ",(0,a.kt)("strong",{parentName:"li"},"once per contributor"),". ",(0,a.kt)("br",null),' Respond with something like, "Hey {username}, we appreciate all the contributions lately! We\'d love to give someone new a chance to take on this good first issue, but keep checking back as we post new issues frequently."'),(0,a.kt)("li",{parentName:"ul"},"Issues outside the ",(0,a.kt)("inlineCode",{parentName:"li"},"good first issue")," can be assigned ",(0,a.kt)("strong",{parentName:"li"},"max. 2 issues per contributor at a time"),". ",(0,a.kt)("br",null)," We love contributions. But we want to equip contributors to succeed by giving them time to complete issues. Through experience, we've found that two issues at a time allows them to focus on completing the issue and supports maintainers by not having issues open for long periods.")),(0,a.kt)("h2",{id:"pull-request-management"},"Pull Request Management"),(0,a.kt)("h3",{id:"timeline"},"Timeline"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Small pull requests that don't require updates should be merged in up to one week."),(0,a.kt)("li",{parentName:"ul"},"Take time to review long pull requests to prevent merging incomplete, broken, or unresolved pull requests. Communicate with contributors when more time is needed to review the pull requests."),(0,a.kt)("li",{parentName:"ul"},'Pull requests that have requested updates that are stale after two weeks should be put into draft mode with a note to the contributor that says something like: "We haven\u2019t seen any updates to this PR in the last two weeks, so we\u2019ve put it in draft mode. Please let us know if you\u2019re going to continue to work on it."'),(0,a.kt)("li",{parentName:"ul"},"Stale pull requests should be closed when unresolved or inactive (no commits, comment responses, etc.) in 5 weeks. In these circumstances, communicate with contributors that they may reopen if they want to continue working on it only when no one claims the issue. ",(0,a.kt)("br",null)," ",(0,a.kt)("strong",{parentName:"li"},"Note"),": If you close their pull request, you should also unassign any related issues.")),(0,a.kt)("h3",{id:"pull-request-review"},"Pull Request Review"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Ensure that the pull request form is completed. Ask contributors to provide any missing information before reviewing."),(0,a.kt)("li",{parentName:"ul"},"Always ",(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally"},"pull the pull request's branch")," and test the changes locally."),(0,a.kt)("li",{parentName:"ul"},"Always provide feedback and suggestions when requesting changes. To give code suggestions, please read the ",(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request"},"GitHub documentation"),"."),(0,a.kt)("li",{parentName:"ul"},"Pull requests should only include what is requested in the issue. If there's another fix that someone (contributor or maintainer) wants to make, it requires another issue and a pull request. If the person has already made the fix in the pull request, politely ask them to remove the update, create a new issue, and wait to be assigned."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://docs.github.com/en/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply"},"Creating saved replies")," is helpful when frequently adding the same comment over and over, such as thanking contributors for pull requests or changes made, asking to resolve merge conflicts, etc.")),(0,a.kt)("h3",{id:"merging-pull-request"},"Merging Pull Request"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Always ",(0,a.kt)("strong",{parentName:"p"},"squash and merge commits")," when merging in a pull request.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"When two maintainers review and approve a pull request, the first reviewer is the one who merges the pull request if there are no requested changes.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"When there is a request for changes, the one who requested changes or the last one whose requests got resolved is the one who merges the pull request.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Refrain from resolving conversations started by other maintainers even if the contributor has verified. When it's necessary to merge the pull request fast, tag the maintainer and ask them to do a final check before merging.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Do not approve changes or dismiss reviews from a maintainer even if the contributor has completed the change requests. Re-request review instead.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"If you have the time, it's great to encourage contributors with a positive message like these:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'"Thanks for contributing, ',"[name of contributor]",". Join our ",(0,a.kt)("a",{parentName:"p",href:"https://discord.com/invite/U2peSNf23P"},"Discord"),' community for more updates on OpenSauced and to find more projects."')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"A personal message acknowledging their impact.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Send a GIF like this one:"),(0,a.kt)("p",{parentName:"li"},(0,a.kt)("img",{parentName:"p",src:"https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExb2JhdGI5czh4MDlyeWhlNXpicmdrbGZ2Znk0MnM4dnV0ZHMyamNkOSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/cFkiFMDg3iFoI/giphy.gif",alt:"git merge"})))))),(0,a.kt)("h3",{id:"closing-pull-requests"},"Closing Pull Requests"),(0,a.kt)("p",null,"Below are the circumstances when you can close pull requests:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Stand-alone pull requests that don't have issues related to them."),(0,a.kt)("li",{parentName:"ul"},"Pull requests for issues that are not assigned to the contributors."),(0,a.kt)("li",{parentName:"ul"},"Stale pull requests.")),(0,a.kt)("h2",{id:"opensauced-community-maintainers"},"OpenSauced Community Maintainers"),(0,a.kt)("p",null,"See the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/orgs/open-sauced/teams/community"},"@open-sauced/community")," team."),(0,a.kt)("h2",{id:"opensauced-community-repositories"},"OpenSauced Community Repositories"),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null}),(0,a.kt)("th",{parentName:"tr",align:null},(0,a.kt)("strong",{parentName:"th"},"Repository Name")))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"1."),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"https://github.com/open-sauced/guestbook"},"guestbook"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"2."),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"https://github.com/open-sauced/pizza-verse"},"pizza-verse"))),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"3."),(0,a.kt)("td",{parentName:"tr",align:null},(0,a.kt)("a",{parentName:"td",href:"https://github.com/open-sauced/intro"},"intro"))))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e5a72a0c.52e06d28.js b/assets/js/e5a72a0c.2bd242b3.js similarity index 99% rename from assets/js/e5a72a0c.52e06d28.js rename to assets/js/e5a72a0c.2bd242b3.js index 3e391157..8278978b 100644 --- a/assets/js/e5a72a0c.52e06d28.js +++ b/assets/js/e5a72a0c.2bd242b3.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7051],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>g});var o=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function c(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=o.createContext({}),p=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},l=function(e){var n=p(e.components);return o.createElement(s.Provider,{value:n},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},u=o.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),m=p(t),u=a,g=m["".concat(s,".").concat(u)]||m[u]||d[u]||i;return t?o.createElement(g,c(c({ref:n},l),{},{components:t})):o.createElement(g,c({ref:n},l))}));function g(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,c=new Array(i);c[0]=u;var r={};for(var s in n)hasOwnProperty.call(n,s)&&(r[s]=n[s]);r.originalType=e,r[m]="string"==typeof e?e:a,c[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var o=t(7462),a=(t(7294),t(3905));const i={id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["commitizen conventional commit","open source commit standards","how to use @open-sauced/conventional-commit","npm package for conventional commit","open sauced commit guide","conventional commit best practices","Commit Message Standards","Semantic Versioning","Git Commit Conventions","Standardized Commit Messages","Version Control Best Practices"]},c=void 0,r={unversionedId:"opensauced-packages/conventional-commit",id:"opensauced-packages/conventional-commit",title:"@open-sauced/conventional-commit",description:"Description",source:"@site/docs/opensauced-packages/conventional-commit.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/conventional-commit",permalink:"/opensauced-packages/conventional-commit",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/conventional-commit.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["commitizen conventional commit","open source commit standards","how to use @open-sauced/conventional-commit","npm package for conventional commit","open sauced commit guide","conventional commit best practices","Commit Message Standards","Semantic Versioning","Git Commit Conventions","Standardized Commit Messages","Version Control Best Practices"]},sidebar:"docs",previous:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"},next:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"}},s={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Contributing",id:"contributing",level:2}],l={toc:p},m="wrapper";function d(e){let{components:n,...t}=e;return(0,a.kt)(m,(0,o.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"description"},"Description"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,a.kt)("inlineCode",{parentName:"p"},"@open-sauced/conventional-commit")," is designed to help users ",(0,a.kt)("inlineCode",{parentName:"p"},"git commit")," using ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/commitizen/cz-cli"},"commitizen")," and ",(0,a.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"conventional commits"),"."),(0,a.kt)("h2",{id:"dependencies"},"Dependencies"),(0,a.kt)("p",null,"This package uses the following modules:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-cli"},"cz-cli")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-conventional-changelog"},"cz-conventional-changelog"))),(0,a.kt)("h2",{id:"installation"},"Installation"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/conventional-commit\n")),(0,a.kt)("p",null,"Add the verification scripts to your ",(0,a.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,a.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,a.kt)("p",null,"The reason why we provide ",(0,a.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,a.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations, or trimmed dependency trees, where using ",(0,a.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,a.kt)("h2",{id:"usage"},"Usage"),(0,a.kt)("p",null,"All you have to do is run the script next to your ",(0,a.kt)("inlineCode",{parentName:"p"},"package.json"),":"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"npx @open-sauced/conventional-commit\n# or\nnpx conventional-commit\n")),(0,a.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,a.kt)("p",null,"The most common use case for this package is to run it instead of the ",(0,a.kt)("inlineCode",{parentName:"p"},"git commit")," command inside your ",(0,a.kt)("inlineCode",{parentName:"p"},"npm")," scripts:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,a.kt)("p",null,"or"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx conventional-commit"\n }\n}\n')),(0,a.kt)("p",null,"If you want to ensure local-only usage:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "conventional-commit"\n }\n}\n')),(0,a.kt)("h2",{id:"faqs"},"FAQs"),(0,a.kt)("h2",{id:"contributing"},"Contributing"),(0,a.kt)("p",null,"We're always happy to onboard people into open source!"),(0,a.kt)("p",null,"Check out the repository at ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/conventional-commit"},"@open-sauced/conventional-commit"),". \u2764\ufe0f"))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[7051],{3905:(e,n,t)=>{t.d(n,{Zo:()=>l,kt:()=>g});var o=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function c(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var s=o.createContext({}),p=function(e){var n=o.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):c(c({},n),e)),t},l=function(e){var n=p(e.components);return o.createElement(s.Provider,{value:n},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return o.createElement(o.Fragment,{},n)}},u=o.forwardRef((function(e,n){var t=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,l=r(e,["components","mdxType","originalType","parentName"]),m=p(t),u=a,g=m["".concat(s,".").concat(u)]||m[u]||d[u]||i;return t?o.createElement(g,c(c({ref:n},l),{},{components:t})):o.createElement(g,c({ref:n},l))}));function g(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var i=t.length,c=new Array(i);c[0]=u;var r={};for(var s in n)hasOwnProperty.call(n,s)&&(r[s]=n[s]);r.originalType=e,r[m]="string"==typeof e?e:a,c[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var o=t(7462),a=(t(7294),t(3905));const i={id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["commitizen conventional commit","open source commit standards","how to use @open-sauced/conventional-commit","npm package for conventional commit","open sauced commit guide","conventional commit best practices","Commit Message Standards","Semantic Versioning","Git Commit Conventions","Standardized Commit Messages","Version Control Best Practices"]},c=void 0,r={unversionedId:"opensauced-packages/conventional-commit",id:"opensauced-packages/conventional-commit",title:"@open-sauced/conventional-commit",description:"Description",source:"@site/docs/opensauced-packages/conventional-commit.md",sourceDirName:"opensauced-packages",slug:"/opensauced-packages/conventional-commit",permalink:"/opensauced-packages/conventional-commit",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/opensauced-packages/conventional-commit.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"conventional-commit",title:"@open-sauced/conventional-commit",sidebar_label:"@open-sauced/conventional-commit",keywords:["commitizen conventional commit","open source commit standards","how to use @open-sauced/conventional-commit","npm package for conventional commit","open sauced commit guide","conventional commit best practices","Commit Message Standards","Semantic Versioning","Git Commit Conventions","Standardized Commit Messages","Version Control Best Practices"]},sidebar:"docs",previous:{title:"@open-sauced/check-engines",permalink:"/opensauced-packages/check-engines"},next:{title:"@open-sauced/semantic-release-conventional-config",permalink:"/opensauced-packages/semantic-release"}},s={},p=[{value:"Description",id:"description",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Installation",id:"installation",level:2},{value:"Usage",id:"usage",level:2},{value:"Advanced Usage",id:"advanced-usage",level:2},{value:"FAQs",id:"faqs",level:2},{value:"Contributing",id:"contributing",level:2}],l={toc:p},m="wrapper";function d(e){let{components:n,...t}=e;return(0,a.kt)(m,(0,o.Z)({},l,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"description"},"Description"),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"npm")," package ",(0,a.kt)("inlineCode",{parentName:"p"},"@open-sauced/conventional-commit")," is designed to help users ",(0,a.kt)("inlineCode",{parentName:"p"},"git commit")," using ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/commitizen/cz-cli"},"commitizen")," and ",(0,a.kt)("a",{parentName:"p",href:"https://www.conventionalcommits.org/en/v1.0.0/"},"conventional commits"),"."),(0,a.kt)("h2",{id:"dependencies"},"Dependencies"),(0,a.kt)("p",null,"This package uses the following modules:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-cli"},"cz-cli")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://github.com/commitizen/cz-conventional-changelog"},"cz-conventional-changelog"))),(0,a.kt)("h2",{id:"installation"},"Installation"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"npm install --save-dev @open-sauced/conventional-commit\n")),(0,a.kt)("p",null,"Add the verification scripts to your ",(0,a.kt)("inlineCode",{parentName:"p"},"scripts")," section in the ",(0,a.kt)("inlineCode",{parentName:"p"},"package.json")," file:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,a.kt)("p",null,"The reason why we provide ",(0,a.kt)("inlineCode",{parentName:"p"},"npx")," in the ",(0,a.kt)("inlineCode",{parentName:"p"},"scripts")," section is for the people using this as a development enhancement, interactive configurations, or trimmed dependency trees, where using ",(0,a.kt)("inlineCode",{parentName:"p"},"npx")," is preferred over installing all the dependencies at once."),(0,a.kt)("h2",{id:"usage"},"Usage"),(0,a.kt)("p",null,"All you have to do is run the script next to your ",(0,a.kt)("inlineCode",{parentName:"p"},"package.json"),":"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"npx @open-sauced/conventional-commit\n# or\nnpx conventional-commit\n")),(0,a.kt)("h2",{id:"advanced-usage"},"Advanced Usage"),(0,a.kt)("p",null,"The most common use case for this package is to run it instead of the ",(0,a.kt)("inlineCode",{parentName:"p"},"git commit")," command inside your ",(0,a.kt)("inlineCode",{parentName:"p"},"npm")," scripts:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx @open-sauced/conventional-commit"\n }\n}\n')),(0,a.kt)("p",null,"or"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "npx conventional-commit"\n }\n}\n')),(0,a.kt)("p",null,"If you want to ensure local-only usage:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "scripts": {\n "push": "conventional-commit"\n }\n}\n')),(0,a.kt)("h2",{id:"faqs"},"FAQs"),(0,a.kt)("h2",{id:"contributing"},"Contributing"),(0,a.kt)("p",null,"We're always happy to onboard people into open source!"),(0,a.kt)("p",null,"Check out the repository at ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/open-sauced/conventional-commit"},"@open-sauced/conventional-commit"),". \u2764\ufe0f"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ea6e505e.284d300e.js b/assets/js/ea6e505e.88b8302b.js similarity index 98% rename from assets/js/ea6e505e.284d300e.js rename to assets/js/ea6e505e.88b8302b.js index 1e0fa9c8..634d9f3e 100644 --- a/assets/js/ea6e505e.284d300e.js +++ b/assets/js/ea6e505e.88b8302b.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2747],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),s=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,u=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),l=s(n),m=o,f=l["".concat(u,".").concat(m)]||l[m]||d[m]||a;return n?r.createElement(f,c(c({ref:t},p),{},{components:n})):r.createElement(f,c({ref:t},p))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=m;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[l]="string"==typeof e?e:o,c[1]=i;for(var s=2;s{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>s});var r=n(7462),o=(n(7294),n(3905));const a={id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced","what is opensauced","get to know opensauced"]},c=void 0,i={unversionedId:"welcome/opensauced-intro",id:"welcome/opensauced-intro",title:"What is OpenSauced?",description:"OpenSauced: Your Open Source Partner",source:"@site/docs/welcome/opensauced-intro.md",sourceDirName:"welcome",slug:"/welcome/opensauced-intro",permalink:"/welcome/opensauced-intro",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/opensauced-intro.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced","what is opensauced","get to know opensauced"]},sidebar:"docs",previous:{title:"Introduction to OpenSauced \ud83c\udf55",permalink:"/"},next:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"}},u={},s=[{value:"OpenSauced: Your Open Source Partner",id:"opensauced-your-open-source-partner",level:2},{value:"Who is OpenSauced for?",id:"who-is-opensauced-for",level:2}],p={toc:s},l="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(l,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"opensauced-your-open-source-partner"},"OpenSauced: Your Open Source Partner"),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to nurturing and expanding your open source community while recognizing every contributor's impact."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Our OpenSauced dashboard allows you to:")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Understand open source projects:")," Get a comprehensive view of open source contributors and their engagement."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Discover valuable insights:")," Identify key contributors, emerging trends, and valuable project insights."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Engage effectively:")," Reach out to community members to foster involvement and collaboration."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Generate reports:")," Create insightful reports to visualize and communicate the influence of your community."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Collaborate with your team:")," Work together with your team or other contributors for a holistic approach to open source."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"See beyond the green squares:")," Connect with various aspects of open source contribution and community activities.")),(0,o.kt)("h2",{id:"who-is-opensauced-for"},"Who is OpenSauced for?"),(0,o.kt)("p",null,"OpenSauced is for maintainers, Open Source Program Offices (OSPOs), contributors, companies, community managers, and anyone interested in what's happening in the open source ecosystem."),(0,o.kt)("p",null,"Embarking on an OpenSauced journey enhances your growth and community engagement. Let's launch your open source success story! \ud83d\ude80"))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[2747],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),s=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(u.Provider,{value:t},e.children)},l="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,u=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),l=s(n),m=o,f=l["".concat(u,".").concat(m)]||l[m]||d[m]||a;return n?r.createElement(f,c(c({ref:t},p),{},{components:n})):r.createElement(f,c({ref:t},p))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=m;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[l]="string"==typeof e?e:o,c[1]=i;for(var s=2;s{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>s});var r=n(7462),o=(n(7294),n(3905));const a={id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced","what is opensauced","get to know opensauced"]},c=void 0,i={unversionedId:"welcome/opensauced-intro",id:"welcome/opensauced-intro",title:"What is OpenSauced?",description:"OpenSauced: Your Open Source Partner",source:"@site/docs/welcome/opensauced-intro.md",sourceDirName:"welcome",slug:"/welcome/opensauced-intro",permalink:"/welcome/opensauced-intro",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/welcome/opensauced-intro.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"opensauced-intro",title:"What is OpenSauced?",sidebar_label:"What is OpenSauced?",keywords:["opensauced","what is opensauced","get to know opensauced"]},sidebar:"docs",previous:{title:"Introduction to OpenSauced \ud83c\udf55",permalink:"/"},next:{title:"OpenSauced Glossary",permalink:"/welcome/glossary"}},u={},s=[{value:"OpenSauced: Your Open Source Partner",id:"opensauced-your-open-source-partner",level:2},{value:"Who is OpenSauced for?",id:"who-is-opensauced-for",level:2}],p={toc:s},l="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(l,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"opensauced-your-open-source-partner"},"OpenSauced: Your Open Source Partner"),(0,o.kt)("p",null,"OpenSauced is a platform dedicated to nurturing and expanding your open source community while recognizing every contributor's impact."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Our OpenSauced dashboard allows you to:")),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Understand open source projects:")," Get a comprehensive view of open source contributors and their engagement."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Discover valuable insights:")," Identify key contributors, emerging trends, and valuable project insights."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Engage effectively:")," Reach out to community members to foster involvement and collaboration."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Generate reports:")," Create insightful reports to visualize and communicate the influence of your community."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"Collaborate with your team:")," Work together with your team or other contributors for a holistic approach to open source."),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("strong",{parentName:"li"},"See beyond the green squares:")," Connect with various aspects of open source contribution and community activities.")),(0,o.kt)("h2",{id:"who-is-opensauced-for"},"Who is OpenSauced for?"),(0,o.kt)("p",null,"OpenSauced is for maintainers, Open Source Program Offices (OSPOs), contributors, companies, community managers, and anyone interested in what's happening in the open source ecosystem."),(0,o.kt)("p",null,"Embarking on an OpenSauced journey enhances your growth and community engagement. Let's launch your open source success story! \ud83d\ude80"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f3a8e19a.f8a23e6e.js b/assets/js/f3a8e19a.419c160c.js similarity index 98% rename from assets/js/f3a8e19a.f8a23e6e.js rename to assets/js/f3a8e19a.419c160c.js index 2549fe34..71831b5a 100644 --- a/assets/js/f3a8e19a.f8a23e6e.js +++ b/assets/js/f3a8e19a.419c160c.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[667],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>y});var a=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=a.createContext({}),s=function(e){var t=a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=s(e.components);return a.createElement(u.Provider,{value:t},e.children)},p="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,u=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=s(r),f=o,y=p["".concat(u,".").concat(f)]||p[f]||l[f]||n;return r?a.createElement(y,c(c({ref:t},d),{},{components:r})):a.createElement(y,c({ref:t},d))}));function y(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,c=new Array(n);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var s=2;s{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>l,frontMatter:()=>n,metadata:()=>i,toc:()=>s});var a=r(7462),o=(r(7294),r(3905));const n={id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card","DevCard","OpenSource","Open Source DevCard","Showcase DevCard","Showcase Your Open Source Stats","Open Source Stats DevCard"]},c=void 0,i={unversionedId:"features/dev-card",id:"features/dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",description:'The Dev Card feature is what we like to call your "open source business card."',source:"@site/docs/features/dev-card.md",sourceDirName:"features",slug:"/features/dev-card",permalink:"/features/dev-card",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/dev-card.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card","DevCard","OpenSource","Open Source DevCard","Showcase DevCard","Showcase Your Open Source Stats","Open Source Stats DevCard"]},sidebar:"docs",previous:{title:"Highlights",permalink:"/features/highlights"},next:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"}},u={},s=[],d={toc:s},p="wrapper";function l(e){let{components:t,...n}=e;return(0,o.kt)(p,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,'The Dev Card feature is what we like to call your "open source business card."'),(0,o.kt)("p",null,"On the front of your card, you see your profile picture, username, the number of pull requests you have created, the number of repositories you contributed to, and a graph icon that describes your activity rate."),(0,o.kt)("p",null,"You'll see the back side of your card when you click it. It shows more information, including your profile's picture and headline, the number of pull requests you have created, the date of your first contribution on GitHub, activity rate, ",(0,o.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/welcome/glossary/#pr-velocity"},"PR velocity")," rate, and a ",(0,o.kt)("inlineCode",{parentName:"p"},"View Profile")," button that takes you to your dashboard."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"front and back sides of a dev card",src:r(2).Z,width:"940",height:"658"})),(0,o.kt)("p",null,"Whether you are just beginning your open source journey or a maintainer looking for more contributors and sponsors, you can share your Dev Card as a snapshot of your contributions, skills, and engagement in the open source community."),(0,o.kt)("p",null,"Eager to get your Dev Card? Here's how you can get yours today:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Log in to your OpenSauced account."),(0,o.kt)("li",{parentName:"ol"},"Navigate to your ",(0,o.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/user/%7Busername%7D"},"profile"),"."),(0,o.kt)("li",{parentName:"ol"},"Click the Dev Card icon on your profile image.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"dev card icon on user profile",src:r(2124).Z,width:"266",height:"256"})))}l.isMDXComponent=!0},2:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},2124:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/get-dev-card-c62768aa8c13ad8dd99b2ee0e83cfa12.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[667],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>y});var a=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var u=a.createContext({}),s=function(e){var t=a.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},d=function(e){var t=s(e.components);return a.createElement(u.Provider,{value:t},e.children)},p="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},f=a.forwardRef((function(e,t){var r=e.components,o=e.mdxType,n=e.originalType,u=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),p=s(r),f=o,y=p["".concat(u,".").concat(f)]||p[f]||l[f]||n;return r?a.createElement(y,c(c({ref:t},d),{},{components:r})):a.createElement(y,c({ref:t},d))}));function y(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var n=r.length,c=new Array(n);c[0]=f;var i={};for(var u in t)hasOwnProperty.call(t,u)&&(i[u]=t[u]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var s=2;s{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>l,frontMatter:()=>n,metadata:()=>i,toc:()=>s});var a=r(7462),o=(r(7294),r(3905));const n={id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card","DevCard","OpenSource","Open Source DevCard","Showcase DevCard","Showcase Your Open Source Stats","Open Source Stats DevCard"]},c=void 0,i={unversionedId:"features/dev-card",id:"features/dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",description:'The Dev Card feature is what we like to call your "open source business card."',source:"@site/docs/features/dev-card.md",sourceDirName:"features",slug:"/features/dev-card",permalink:"/features/dev-card",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/features/dev-card.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"dev-card",title:"Showcase Your Open Source Stats with Your Dev Card",sidebar_label:"Dev Card",keywords:["dev card","DevCard","OpenSource","Open Source DevCard","Showcase DevCard","Showcase Your Open Source Stats","Open Source Stats DevCard"]},sidebar:"docs",previous:{title:"Highlights",permalink:"/features/highlights"},next:{title:"Maintainers Guide to OpenSauced",permalink:"/maintainers/maintainers-guide-to-open-sauced"}},u={},s=[],d={toc:s},p="wrapper";function l(e){let{components:t,...n}=e;return(0,o.kt)(p,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,'The Dev Card feature is what we like to call your "open source business card."'),(0,o.kt)("p",null,"On the front of your card, you see your profile picture, username, the number of pull requests you have created, the number of repositories you contributed to, and a graph icon that describes your activity rate."),(0,o.kt)("p",null,"You'll see the back side of your card when you click it. It shows more information, including your profile's picture and headline, the number of pull requests you have created, the date of your first contribution on GitHub, activity rate, ",(0,o.kt)("a",{parentName:"p",href:"https://docs.opensauced.pizza/welcome/glossary/#pr-velocity"},"PR velocity")," rate, and a ",(0,o.kt)("inlineCode",{parentName:"p"},"View Profile")," button that takes you to your dashboard."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"front and back sides of a dev card",src:r(2).Z,width:"940",height:"658"})),(0,o.kt)("p",null,"Whether you are just beginning your open source journey or a maintainer looking for more contributors and sponsors, you can share your Dev Card as a snapshot of your contributions, skills, and engagement in the open source community."),(0,o.kt)("p",null,"Eager to get your Dev Card? Here's how you can get yours today:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Log in to your OpenSauced account."),(0,o.kt)("li",{parentName:"ol"},"Navigate to your ",(0,o.kt)("a",{parentName:"li",href:"https://app.opensauced.pizza/user/%7Busername%7D"},"profile"),"."),(0,o.kt)("li",{parentName:"ol"},"Click the Dev Card icon on your profile image.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"dev card icon on user profile",src:r(2124).Z,width:"266",height:"256"})))}l.isMDXComponent=!0},2:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},2124:(e,t,r)=>{r.d(t,{Z:()=>a});const a=r.p+"assets/images/get-dev-card-c62768aa8c13ad8dd99b2ee0e83cfa12.png"}}]); \ No newline at end of file diff --git a/assets/js/f8d965ab.41d2df67.js b/assets/js/f8d965ab.959d5e27.js similarity index 99% rename from assets/js/f8d965ab.41d2df67.js rename to assets/js/f8d965ab.959d5e27.js index 004d502f..cf2de7f8 100644 --- a/assets/js/f8d965ab.41d2df67.js +++ b/assets/js/f8d965ab.959d5e27.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9349],{3905:(e,t,o)=>{o.d(t,{Zo:()=>l,kt:()=>b});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var u=r.createContext({}),c=function(e){var t=r.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},l=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(o),h=n,b=p["".concat(u,".").concat(h)]||p[h]||f[h]||a;return o?r.createElement(b,i(i({ref:t},l),{},{components:o})):r.createElement(b,i({ref:t},l))}));function b(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,i=new Array(a);i[0]=h;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:n,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>f,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=o(7462),n=(o(7294),o(3905));const a={id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest","Open source contributions for Hacktoberfest","Hacktoberfest participation guide","Open source collaboration in October","Hacktoberfest beginner-friendly projects","How to get involved in Hacktoberfest"]},i=void 0,s={unversionedId:"community/hacktoberfest",id:"community/hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",description:"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83",source:"@site/docs/community/hacktoberfest.md",sourceDirName:"community",slug:"/community/hacktoberfest",permalink:"/community/hacktoberfest",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/hacktoberfest.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710262164,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest","Open source contributions for Hacktoberfest","Hacktoberfest participation guide","Open source collaboration in October","Hacktoberfest beginner-friendly projects","How to get involved in Hacktoberfest"]}},u={},c=[{value:"What is Hacktoberfest?",id:"what-is-hacktoberfest",level:2},{value:"Why Should I Participate in Hacktoberfest?",id:"why-should-i-participate-in-hacktoberfest",level:2},{value:"I want to join Hacktoberfest, but I have no idea what open source is",id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is",level:2},{value:"What should I expect during Hacktoberfest?",id:"what-should-i-expect-during-hacktoberfest",level:2},{value:"I'm ready for Hacktoberfest",id:"im-ready-for-hacktoberfest",level:2}],l={toc:c},p="wrapper";function f(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,r.Z)({},l,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83"),(0,n.kt)("h2",{id:"what-is-hacktoberfest"},"What is Hacktoberfest?"),(0,n.kt)("p",null,"From October 1st-31st, people around the globe do a challenge where they submit four pull requests participating projects. Here's how to join:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Go to ",(0,n.kt)("a",{parentName:"li",href:"https://hacktoberfest.com/"},"the official Hacktoberfest website")),(0,n.kt)("li",{parentName:"ol"},"Click on the Register Now! button"),(0,n.kt)("li",{parentName:"ol"},"Sign in with your ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/"},"GitHub")," and/or ",(0,n.kt)("a",{parentName:"li",href:"https://gitlab.com/users/sign_in"},"GitLab")," accounts.")),(0,n.kt)("h2",{id:"why-should-i-participate-in-hacktoberfest"},"Why Should I Participate in Hacktoberfest?"),(0,n.kt)("p",null,"This event is a great way to jumpstart your journey in open source, to meet other people in the tech community, and build your skills. Curious to learn more about the value of contributing to open source? Check out these resources:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/hacktoberfest-2023-beyond-green-squares-4d6j"},"Hacktoberfest 2023: Beyond Green Squares")," to learn how to make this a meaningful Hacktoberfest focused on growth, impact, and building relationships."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/setting-goals-for-your-open-source-contributions-349b"},"Setting Goals for Your Open Source Contributions")," for resources on how to grow your experience through open source.")),(0,n.kt)("h2",{id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is"},"I want to join Hacktoberfest, but I have no idea what open source is"),(0,n.kt)("p",null,"No problem! \ud83d\ude04 Here is a list of resources we recommend for first-time contributors:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Take our ",(0,n.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source")," course to learn the history of open source, the tools to succeed in the community, and how to showcase your contributions."),(0,n.kt)("li",{parentName:"ul"},"Check out GitHub's ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/skills/introduction-to-github"},"introductory course")," to learn how to use the platform when making open source contributions."),(0,n.kt)("li",{parentName:"ul"},"Read our ",(0,n.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/the-power-of-git-a-guide-to-collaborative-version-control-dl6"},"The Power of Git")," blog post to learn how to harness the power of Git, your trusty weapon in Hacktoberfest.")),(0,n.kt)("h2",{id:"what-should-i-expect-during-hacktoberfest"},"What should I expect during Hacktoberfest?"),(0,n.kt)("p",null,"During Hacktoberfest, expect to feel excited and a bit competitive on your quest to submit your four pull requests. While those feelings are understandable, it's important to remember the following:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Think first, work later: It's best to share your ideas and/or request to work on an issue before submitting a pull request. It'll make it easier for maintainers to assess whether your suggestion fits in with their project. It will also help you develop your communication skills."),(0,n.kt)("li",{parentName:"ul"},"Be patient: Maintainers are people with lives outside of open source, so avoid constantly messaging them about when your pull request be reviewed and merged."),(0,n.kt)("li",{parentName:"ul"},"Try new things: While revising typos is helpful, it's best to diversify contributions. This would help expand your skills, which is very useful if you plan on using your Hacktoberfest contributions as samples for your portfolio.")),(0,n.kt)("h2",{id:"im-ready-for-hacktoberfest"},"I'm ready for Hacktoberfest"),(0,n.kt)("p",null,"Great! \ud83d\ude04 If you're looking for a project to contribute to, check out ",(0,n.kt)("a",{parentName:"p",href:"https://insights.opensauced.pizza/pages/BekahHW/655/repositories"},"this list of beginner-friendly projects for Hacktoberfest"),"."),(0,n.kt)("p",null,"Happy Contributing! \ud83d\ude04"))}f.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_open_sauced_docs_opensauced_pizza=self.webpackChunk_open_sauced_docs_opensauced_pizza||[]).push([[9349],{3905:(e,t,o)=>{o.d(t,{Zo:()=>l,kt:()=>b});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var u=r.createContext({}),c=function(e){var t=r.useContext(u),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},l=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},h=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,u=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=c(o),h=n,b=p["".concat(u,".").concat(h)]||p[h]||f[h]||a;return o?r.createElement(b,i(i({ref:t},l),{},{components:o})):r.createElement(b,i({ref:t},l))}));function b(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,i=new Array(a);i[0]=h;var s={};for(var u in t)hasOwnProperty.call(t,u)&&(s[u]=t[u]);s.originalType=e,s[p]="string"==typeof e?e:n,i[1]=s;for(var c=2;c{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>f,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=o(7462),n=(o(7294),o(3905));const a={id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest","Open source contributions for Hacktoberfest","Hacktoberfest participation guide","Open source collaboration in October","Hacktoberfest beginner-friendly projects","How to get involved in Hacktoberfest"]},i=void 0,s={unversionedId:"community/hacktoberfest",id:"community/hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",description:"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83",source:"@site/docs/community/hacktoberfest.md",sourceDirName:"community",slug:"/community/hacktoberfest",permalink:"/community/hacktoberfest",draft:!1,editUrl:"https://github.com/open-sauced/docs.opensauced.pizza/edit/main/docs/community/hacktoberfest.md",tags:[],version:"current",lastUpdatedBy:"BekahHW",lastUpdatedAt:1710268581,formattedLastUpdatedAt:"Mar 12, 2024",frontMatter:{id:"hacktoberfest",title:"Join us for Hacktoberfest! \ud83c\udf83",sidebar_label:"Join us for Hacktoberfest! \ud83c\udf83",keywords:["hacktoberfest","Open source contributions for Hacktoberfest","Hacktoberfest participation guide","Open source collaboration in October","Hacktoberfest beginner-friendly projects","How to get involved in Hacktoberfest"]}},u={},c=[{value:"What is Hacktoberfest?",id:"what-is-hacktoberfest",level:2},{value:"Why Should I Participate in Hacktoberfest?",id:"why-should-i-participate-in-hacktoberfest",level:2},{value:"I want to join Hacktoberfest, but I have no idea what open source is",id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is",level:2},{value:"What should I expect during Hacktoberfest?",id:"what-should-i-expect-during-hacktoberfest",level:2},{value:"I'm ready for Hacktoberfest",id:"im-ready-for-hacktoberfest",level:2}],l={toc:c},p="wrapper";function f(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,r.Z)({},l,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! \ud83c\udf83"),(0,n.kt)("h2",{id:"what-is-hacktoberfest"},"What is Hacktoberfest?"),(0,n.kt)("p",null,"From October 1st-31st, people around the globe do a challenge where they submit four pull requests participating projects. Here's how to join:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Go to ",(0,n.kt)("a",{parentName:"li",href:"https://hacktoberfest.com/"},"the official Hacktoberfest website")),(0,n.kt)("li",{parentName:"ol"},"Click on the Register Now! button"),(0,n.kt)("li",{parentName:"ol"},"Sign in with your ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/"},"GitHub")," and/or ",(0,n.kt)("a",{parentName:"li",href:"https://gitlab.com/users/sign_in"},"GitLab")," accounts.")),(0,n.kt)("h2",{id:"why-should-i-participate-in-hacktoberfest"},"Why Should I Participate in Hacktoberfest?"),(0,n.kt)("p",null,"This event is a great way to jumpstart your journey in open source, to meet other people in the tech community, and build your skills. Curious to learn more about the value of contributing to open source? Check out these resources:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/hacktoberfest-2023-beyond-green-squares-4d6j"},"Hacktoberfest 2023: Beyond Green Squares")," to learn how to make this a meaningful Hacktoberfest focused on growth, impact, and building relationships."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/setting-goals-for-your-open-source-contributions-349b"},"Setting Goals for Your Open Source Contributions")," for resources on how to grow your experience through open source.")),(0,n.kt)("h2",{id:"i-want-to-join-hacktoberfest-but-i-have-no-idea-what-open-source-is"},"I want to join Hacktoberfest, but I have no idea what open source is"),(0,n.kt)("p",null,"No problem! \ud83d\ude04 Here is a list of resources we recommend for first-time contributors:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Take our ",(0,n.kt)("a",{parentName:"li",href:"https://intro.opensauced.pizza/#/"},"Intro to Open Source")," course to learn the history of open source, the tools to succeed in the community, and how to showcase your contributions."),(0,n.kt)("li",{parentName:"ul"},"Check out GitHub's ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/skills/introduction-to-github"},"introductory course")," to learn how to use the platform when making open source contributions."),(0,n.kt)("li",{parentName:"ul"},"Read our ",(0,n.kt)("a",{parentName:"li",href:"https://dev.to/opensauced/the-power-of-git-a-guide-to-collaborative-version-control-dl6"},"The Power of Git")," blog post to learn how to harness the power of Git, your trusty weapon in Hacktoberfest.")),(0,n.kt)("h2",{id:"what-should-i-expect-during-hacktoberfest"},"What should I expect during Hacktoberfest?"),(0,n.kt)("p",null,"During Hacktoberfest, expect to feel excited and a bit competitive on your quest to submit your four pull requests. While those feelings are understandable, it's important to remember the following:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Think first, work later: It's best to share your ideas and/or request to work on an issue before submitting a pull request. It'll make it easier for maintainers to assess whether your suggestion fits in with their project. It will also help you develop your communication skills."),(0,n.kt)("li",{parentName:"ul"},"Be patient: Maintainers are people with lives outside of open source, so avoid constantly messaging them about when your pull request be reviewed and merged."),(0,n.kt)("li",{parentName:"ul"},"Try new things: While revising typos is helpful, it's best to diversify contributions. This would help expand your skills, which is very useful if you plan on using your Hacktoberfest contributions as samples for your portfolio.")),(0,n.kt)("h2",{id:"im-ready-for-hacktoberfest"},"I'm ready for Hacktoberfest"),(0,n.kt)("p",null,"Great! \ud83d\ude04 If you're looking for a project to contribute to, check out ",(0,n.kt)("a",{parentName:"p",href:"https://insights.opensauced.pizza/pages/BekahHW/655/repositories"},"this list of beginner-friendly projects for Hacktoberfest"),"."),(0,n.kt)("p",null,"Happy Contributing! \ud83d\ude04"))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.03523fc5.js b/assets/js/runtime~main.03523fc5.js new file mode 100644 index 00000000..14ac13a7 --- /dev/null +++ b/assets/js/runtime~main.03523fc5.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,c,t,r,b={},f={};function d(e){var a=f[e];if(void 0!==a)return a.exports;var c=f[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,d),c.loaded=!0,c.exports}d.m=b,d.c=f,e=[],d.O=(a,c,t,r)=>{if(!c){var b=1/0;for(i=0;i=r)&&Object.keys(d.O).every((e=>d.O[e](c[o])))?c.splice(o--,1):(f=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[c,t,r]},d.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return d.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var r=Object.create(null);d.r(r);var b={};a=a||[null,c({}),c([]),c(c)];for(var f=2&t&&e;"object"==typeof f&&!~a.indexOf(f);f=c(f))Object.getOwnPropertyNames(f).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,d.d(r,b),r},d.d=(e,a)=>{for(var c in a)d.o(a,c)&&!d.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((a,c)=>(d.f[c](e,a),a)),[])),d.u=e=>"assets/js/"+({53:"935f2afb",216:"5a367a69",247:"48b9cea9",300:"ac97b6b0",358:"455b852b",457:"914479fa",667:"f3a8e19a",1161:"561e6817",1461:"6308756d",1568:"43ab1095",2610:"163a28f8",2747:"ea6e505e",2817:"4658ccba",3085:"1f391b9e",3100:"9b3a7c99",3116:"32aa117d",3617:"9f7d7e44",3644:"cf3cdde3",4046:"4d1cfcdd",4128:"a09c2993",4158:"0f97bf69",4205:"c01322eb",4642:"348cc82b",4657:"4c2521ce",4726:"43d9ba09",4782:"5c57b204",4955:"d55a4e5f",4986:"814ea625",5994:"51fe39eb",6138:"aef95fb0",6385:"59b068d1",6519:"e0315c91",7051:"e5a72a0c",7414:"393be207",7607:"580fd761",7645:"a7434565",7899:"b44b9bb7",7918:"17896441",7920:"1a4e3797",8222:"b8d96084",8573:"b77a626d",8710:"88e6cb4a",9277:"a93463cf",9334:"247783bb",9349:"f8d965ab",9514:"1be78505",9708:"e4e25c8b"}[e]||e)+"."+{53:"784cab55",216:"e4aebccf",230:"248e11b9",247:"63358515",272:"1192485d",300:"e602253c",358:"2ee2b193",457:"16cbddfd",667:"419c160c",1161:"5a4fe194",1461:"67362877",1568:"66513162",2610:"ad72db68",2747:"88b8302b",2817:"402d7ecb",3085:"a10c7a6a",3100:"81fc04e6",3116:"10376a28",3617:"85f3784e",3644:"83e406e2",4046:"aff82b65",4128:"45729054",4158:"aaf795ca",4205:"62ad04f5",4642:"04fc7f44",4657:"2f13ba57",4726:"c699c8a9",4782:"a749f47d",4955:"6ced2a21",4972:"769da039",4986:"55042e61",5131:"7108f3ad",5283:"048636d0",5994:"73736a51",6138:"b676a682",6385:"d7136326",6519:"50ac15cf",6780:"391805bd",6945:"f269f835",7051:"2bd242b3",7414:"58935734",7607:"3bd7c9d9",7645:"b24642f5",7899:"3b9dfb6b",7918:"61a38f7a",7920:"d09beb41",8222:"e280eb49",8573:"d642a6ff",8710:"467e19a3",8894:"1898a1c7",9277:"850029f4",9334:"f8dda0e7",9349:"959d5e27",9514:"d9836bb4",9708:"e35c44f4"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t={},r="@open-sauced/docs.opensauced.pizza:",d.l=(e,a,c,b)=>{if(t[e])t[e].push(a);else{var f,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{f.onerror=f.onload=null,clearTimeout(l);var r=t[e];if(delete t[e],f.parentNode&&f.parentNode.removeChild(f),r&&r.forEach((e=>e(c))),a)return a(c)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=s.bind(null,f.onerror),f.onload=s.bind(null,f.onload),o&&document.head.appendChild(f)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/",d.gca=function(e){return e={17896441:"7918","935f2afb":"53","5a367a69":"216","48b9cea9":"247",ac97b6b0:"300","455b852b":"358","914479fa":"457",f3a8e19a:"667","561e6817":"1161","6308756d":"1461","43ab1095":"1568","163a28f8":"2610",ea6e505e:"2747","4658ccba":"2817","1f391b9e":"3085","9b3a7c99":"3100","32aa117d":"3116","9f7d7e44":"3617",cf3cdde3:"3644","4d1cfcdd":"4046",a09c2993:"4128","0f97bf69":"4158",c01322eb:"4205","348cc82b":"4642","4c2521ce":"4657","43d9ba09":"4726","5c57b204":"4782",d55a4e5f:"4955","814ea625":"4986","51fe39eb":"5994",aef95fb0:"6138","59b068d1":"6385",e0315c91:"6519",e5a72a0c:"7051","393be207":"7414","580fd761":"7607",a7434565:"7645",b44b9bb7:"7899","1a4e3797":"7920",b8d96084:"8222",b77a626d:"8573","88e6cb4a":"8710",a93463cf:"9277","247783bb":"9334",f8d965ab:"9349","1be78505":"9514",e4e25c8b:"9708"}[e]||e,d.p+d.u(e)},(()=>{var e={1303:0,532:0};d.f.j=(a,c)=>{var t=d.o(e,a)?e[a]:void 0;if(0!==t)if(t)c.push(t[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var r=new Promise(((c,r)=>t=e[a]=[c,r]));c.push(t[2]=r);var b=d.p+d.u(a),f=new Error;d.l(b,(c=>{if(d.o(e,a)&&(0!==(t=e[a])&&(e[a]=void 0),t)){var r=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;f.message="Loading chunk "+a+" failed.\n("+r+": "+b+")",f.name="ChunkLoadError",f.type=r,f.request=b,t[1](f)}}),"chunk-"+a,a)}},d.O.j=a=>0===e[a];var a=(a,c)=>{var t,r,b=c[0],f=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(t in f)d.o(f,t)&&(d.m[t]=f[t]);if(o)var i=o(d)}for(a&&a(c);n{"use strict";var e,a,c,t,r,b={},d={};function f(e){var a=d[e];if(void 0!==a)return a.exports;var c=d[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,f),c.loaded=!0,c.exports}f.m=b,f.c=d,e=[],f.O=(a,c,t,r)=>{if(!c){var b=1/0;for(i=0;i=r)&&Object.keys(f.O).every((e=>f.O[e](c[o])))?c.splice(o--,1):(d=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[c,t,r]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var r=Object.create(null);f.r(r);var b={};a=a||[null,c({}),c([]),c(c)];for(var d=2&t&&e;"object"==typeof d&&!~a.indexOf(d);d=c(d))Object.getOwnPropertyNames(d).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,f.d(r,b),r},f.d=(e,a)=>{for(var c in a)f.o(a,c)&&!f.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,c)=>(f.f[c](e,a),a)),[])),f.u=e=>"assets/js/"+({53:"935f2afb",216:"5a367a69",247:"48b9cea9",300:"ac97b6b0",358:"455b852b",457:"914479fa",667:"f3a8e19a",1161:"561e6817",1461:"6308756d",1568:"43ab1095",2610:"163a28f8",2747:"ea6e505e",2817:"4658ccba",3085:"1f391b9e",3100:"9b3a7c99",3116:"32aa117d",3617:"9f7d7e44",3644:"cf3cdde3",4046:"4d1cfcdd",4128:"a09c2993",4158:"0f97bf69",4205:"c01322eb",4642:"348cc82b",4657:"4c2521ce",4726:"43d9ba09",4782:"5c57b204",4955:"d55a4e5f",4986:"814ea625",5994:"51fe39eb",6138:"aef95fb0",6385:"59b068d1",6519:"e0315c91",7051:"e5a72a0c",7414:"393be207",7607:"580fd761",7645:"a7434565",7899:"b44b9bb7",7918:"17896441",7920:"1a4e3797",8222:"b8d96084",8573:"b77a626d",8710:"88e6cb4a",9277:"a93463cf",9334:"247783bb",9349:"f8d965ab",9514:"1be78505",9708:"e4e25c8b"}[e]||e)+"."+{53:"784cab55",216:"860421b7",230:"248e11b9",247:"d0df8f59",272:"1192485d",300:"c8ee3271",358:"eab4eed9",457:"882e621c",667:"f8a23e6e",1161:"edb2c7d5",1461:"c8db448c",1568:"fba6b88b",2610:"3b5bdffd",2747:"284d300e",2817:"d669e4e8",3085:"a10c7a6a",3100:"2faa207d",3116:"994794ca",3617:"2c6d3d0b",3644:"475d9369",4046:"5d011d1b",4128:"cc892cd2",4158:"3cbc0224",4205:"3d7b287b",4642:"535f4178",4657:"43219370",4726:"b0bdd205",4782:"19227d1d",4955:"bee165ea",4972:"769da039",4986:"9019a54b",5131:"7108f3ad",5283:"048636d0",5994:"fb1db7aa",6138:"0c667c3d",6385:"d7136326",6519:"8987dbdc",6780:"391805bd",6945:"f269f835",7051:"52e06d28",7414:"58935734",7607:"21b70507",7645:"b24642f5",7899:"a119e698",7918:"61a38f7a",7920:"d09beb41",8222:"30d7e58f",8573:"4027a7e9",8710:"97836ee1",8894:"1898a1c7",9277:"f367a9b1",9334:"f8dda0e7",9349:"41d2df67",9514:"d9836bb4",9708:"289388c6"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),t={},r="@open-sauced/docs.opensauced.pizza:",f.l=(e,a,c,b)=>{if(t[e])t[e].push(a);else{var d,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(l);var r=t[e];if(delete t[e],d.parentNode&&d.parentNode.removeChild(d),r&&r.forEach((e=>e(c))),a)return a(c)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=s.bind(null,d.onerror),d.onload=s.bind(null,d.onload),o&&document.head.appendChild(d)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/",f.gca=function(e){return e={17896441:"7918","935f2afb":"53","5a367a69":"216","48b9cea9":"247",ac97b6b0:"300","455b852b":"358","914479fa":"457",f3a8e19a:"667","561e6817":"1161","6308756d":"1461","43ab1095":"1568","163a28f8":"2610",ea6e505e:"2747","4658ccba":"2817","1f391b9e":"3085","9b3a7c99":"3100","32aa117d":"3116","9f7d7e44":"3617",cf3cdde3:"3644","4d1cfcdd":"4046",a09c2993:"4128","0f97bf69":"4158",c01322eb:"4205","348cc82b":"4642","4c2521ce":"4657","43d9ba09":"4726","5c57b204":"4782",d55a4e5f:"4955","814ea625":"4986","51fe39eb":"5994",aef95fb0:"6138","59b068d1":"6385",e0315c91:"6519",e5a72a0c:"7051","393be207":"7414","580fd761":"7607",a7434565:"7645",b44b9bb7:"7899","1a4e3797":"7920",b8d96084:"8222",b77a626d:"8573","88e6cb4a":"8710",a93463cf:"9277","247783bb":"9334",f8d965ab:"9349","1be78505":"9514",e4e25c8b:"9708"}[e]||e,f.p+f.u(e)},(()=>{var e={1303:0,532:0};f.f.j=(a,c)=>{var t=f.o(e,a)?e[a]:void 0;if(0!==t)if(t)c.push(t[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var r=new Promise(((c,r)=>t=e[a]=[c,r]));c.push(t[2]=r);var b=f.p+f.u(a),d=new Error;f.l(b,(c=>{if(f.o(e,a)&&(0!==(t=e[a])&&(e[a]=void 0),t)){var r=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;d.message="Loading chunk "+a+" failed.\n("+r+": "+b+")",d.name="ChunkLoadError",d.type=r,d.request=b,t[1](d)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,c)=>{var t,r,b=c[0],d=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(t in d)f.o(d,t)&&(f.m[t]=d[t]);if(o)var i=o(f)}for(a&&a(c);n - +
-

#100DaysOfOSS: Growing Skills and Real-World Experience

Inspired by the great work of the #100DaysOfCode challenge, we're starting #100DaysOfOSS.

With this challenge, OpenSauced hopes to help contributors enhance their skills, expand their abilities, gain practical experience over 100 days, support maintainers, onboard more contributors into open source, and expand the open source community. With a focus on open source software (OSS), we encourage contributors of all technical backgrounds to immerse themselves in the world of collaborative development and engage with a supportive community.

How to Participate

The beauty of this challenge is that you're not required to code. The main purpose is to grow in your understanding of open source software (OSS), contribute in ways that are meaningful to you, and further develop the skills and knowledge you're interested in pursuing. It's all about personal growth and making a positive impact on the OSS community. Because this challenge is focused on growth, you can participate in any way that helps you achieve your goals, including taking days off when you need it.

There are numerous ways to participate in the #100DaysOfOSS challenge, including:

Content Creation

Love creating content? Here's how you can use this skill for the challenge:

  • Give a talk or presentation on OSS.
  • Participate in or even start an X Space.
  • Write a blog post or create a video about OSS.

Project Management

Want to improve your project management skills? Need to get better at communicating or giving feedback to others? Here's how you can use this skill for the challenge:

  • Review pull requests.
  • Triage issues.
  • Start meaningful discussions.
  • Write issues to identify bugs or suggest new features.

Community Engagement and Leadership

Community experience is involved in many different tech jobs, including support, success, Developer Relations, Developer Experience, and more. Community experience can be a valuable skill to develop. Some ways you can do this:

  • Engage in the community by sharing your insights and knowledge.
  • Support contributors working on OSS projects, providing guidance and support.
  • Create a study group or accountability group where you work on your goals.

Technical Skills

Now is a great time to show your technical growth. Here are some paths you can take:

  • Update or write documentation to improve clarity and usability.
  • Maintain a project: review pull requests, triage issues, and respond to questions.
  • Submit pull requests to contribute code changes.

Tracking Your Progress

To keep track of your progress, post on social media, your blog, or any other platform you prefer with:

  • progress you made,
  • the day of the challenge indicated by 'D',
  • the hashtag #100DaysOfOSS.

For example, if you're on day one, you could say, "Today, I reviewed the documentation for the OpenSauced/App repository. D1 #100daysOfOSS." Then, on day two, you would continue with D2, and so on.

Here's what you can do if you're ready to join this challenge:

The Official Kickoff

The #100DaysOfOSS challenge is flexible; you can join whenever you're ready. Just jump in at any point and begin with day one of your personal challenge.

Support

To make the most of your #100DaysOfOSS journey, here are some additional resources and events you can explore:

  1. Weekly X Spaces: Join our X Spaces, where we discuss open source topics, share insights, and connect with like-minded individuals. Follow us on X to stay updated on upcoming sessions.

  2. Community events: Discover a wide range of events on our community docs page. Whether hack days, workshops, or office hours, these events provide excellent opportunities to learn, collaborate, and find new projects to contribute to.

  3. Contribution opportunities: If you're actively looking for open source projects to contribute to, check out the post for new contribution opportunities.

  4. Weekly office hours: Have questions or need help? Join us on Discord during our office hours or post on our #100DaysOfOSS channel. We're here to help you succeed!

Where to Start?

If you're ready to start your #100DaysOfOSS journey, here are some tips to help you get started:

  • Find a project: Explore the OpenSauced website to find a project that interests you. You can also check out the weekly post for exciting contribution opportunities.
  • Take our Intro To Open Source course: If you're new to open source, we recommend taking our Intro to Open Source course to learn more about open source and how to get started.
  • Record your journey: You will learn a lot as you navigate this challenge, so we highly recommend using our #100DaysOfOSS journal template on GitHub or Notion to help you reflect. Remember, this is your journey, so feel free to customize them however you like.
  • Check our Contributors Guide: If you're new to contributing to open source, we recommend checking out our Contributors Guide to OpenSauced to learn more about the process and best practices.

The Power of the #100DaysOfOSS Challenge

The #100DaysOfOSS challenge offers a supportive community where developers can find encouragement, share experiences, and overcome roadblocks together.

Our hope is that the community will provide a safe space to discuss challenges, celebrate achievements, and exchange insights, creating an environment that helps individuals stay on track and avoid giving up.

Why Join the #100DaysOfOSS Challenge?

  1. Skill enhancement: By working on real-world projects, you'll gain practical experience and exposure to different projects, documentation, communities, programming languages, frameworks, and tools. You'll also learn from experienced developers, receive feedback on your code, and improve your problem-solving abilities.

  2. Collaboration and networking: You'll have the opportunity to work alongside other contributors, collaborate on shared goals, and build professional relationships. This experience can lead to networking opportunities, mentorship, and exposure to diverse perspectives in tech.

  3. Resume and portfolio boost: Experience in open source demonstrates your ability to work in a team, follow best practices, and contribute to larger codebases. Open source contributions are tangible evidence of your skills, commitment, and ability to grow.

  4. Learning from peers: By examining the codebase, participating in discussions, engaging in the community, and reviewing pull requests, contributors can gain insights into different approaches to community, projects, coding styles, architecture patterns, and software development best practices, accelerating a developer's learning curve.

  5. Making a positive impact: Your contributions benefit other contributors who rely on these projects, fostering a sense of fulfillment and giving back to the community.

Weekly Office Hours

Have questions or need help? Join us on Discord and post on our #100DaysOfOSS channel. We're here to help you succeed!

Happy contributing, and best of luck on your #100DaysOfOSS adventure!

- +

#100DaysOfOSS: Growing Skills and Real-World Experience

Inspired by the great work of the #100DaysOfCode challenge, we're starting #100DaysOfOSS.

With this challenge, OpenSauced hopes to help contributors enhance their skills, expand their abilities, gain practical experience over 100 days, support maintainers, onboard more contributors into open source, and expand the open source community. With a focus on open source software (OSS), we encourage contributors of all technical backgrounds to immerse themselves in the world of collaborative development and engage with a supportive community.

How to Participate

The beauty of this challenge is that you're not required to code. The main purpose is to grow in your understanding of open source software (OSS), contribute in ways that are meaningful to you, and further develop the skills and knowledge you're interested in pursuing. It's all about personal growth and making a positive impact on the OSS community. Because this challenge is focused on growth, you can participate in any way that helps you achieve your goals, including taking days off when you need it.

There are numerous ways to participate in the #100DaysOfOSS challenge, including:

Content Creation

Love creating content? Here's how you can use this skill for the challenge:

  • Give a talk or presentation on OSS.
  • Participate in or even start an X Space.
  • Write a blog post or create a video about OSS.

Project Management

Want to improve your project management skills? Need to get better at communicating or giving feedback to others? Here's how you can use this skill for the challenge:

  • Review pull requests.
  • Triage issues.
  • Start meaningful discussions.
  • Write issues to identify bugs or suggest new features.

Community Engagement and Leadership

Community experience is involved in many different tech jobs, including support, success, Developer Relations, Developer Experience, and more. Community experience can be a valuable skill to develop. Some ways you can do this:

  • Engage in the community by sharing your insights and knowledge.
  • Support contributors working on OSS projects, providing guidance and support.
  • Create a study group or accountability group where you work on your goals.

Technical Skills

Now is a great time to show your technical growth. Here are some paths you can take:

  • Update or write documentation to improve clarity and usability.
  • Maintain a project: review pull requests, triage issues, and respond to questions.
  • Submit pull requests to contribute code changes.

Tracking Your Progress

To keep track of your progress, post on social media, your blog, or any other platform you prefer with:

  • progress you made,
  • the day of the challenge indicated by 'D',
  • the hashtag #100DaysOfOSS.

For example, if you're on day one, you could say, "Today, I reviewed the documentation for the OpenSauced/App repository. D1 #100daysOfOSS." Then, on day two, you would continue with D2, and so on.

Here's what you can do if you're ready to join this challenge:

The Official Kickoff

The #100DaysOfOSS challenge is flexible; you can join whenever you're ready. Just jump in at any point and begin with day one of your personal challenge.

Support

To make the most of your #100DaysOfOSS journey, here are some additional resources and events you can explore:

  1. Weekly X Spaces: Join our X Spaces, where we discuss open source topics, share insights, and connect with like-minded individuals. Follow us on X to stay updated on upcoming sessions.

  2. Community events: Discover a wide range of events on our community docs page. Whether hack days, workshops, or office hours, these events provide excellent opportunities to learn, collaborate, and find new projects to contribute to.

  3. Contribution opportunities: If you're actively looking for open source projects to contribute to, check out the post for new contribution opportunities.

  4. Weekly office hours: Have questions or need help? Join us on Discord during our office hours or post on our #100DaysOfOSS channel. We're here to help you succeed!

Where to Start?

If you're ready to start your #100DaysOfOSS journey, here are some tips to help you get started:

  • Find a project: Explore the OpenSauced website to find a project that interests you. You can also check out the weekly post for exciting contribution opportunities.
  • Take our Intro To Open Source course: If you're new to open source, we recommend taking our Intro to Open Source course to learn more about open source and how to get started.
  • Record your journey: You will learn a lot as you navigate this challenge, so we highly recommend using our #100DaysOfOSS journal template on GitHub or Notion to help you reflect. Remember, this is your journey, so feel free to customize them however you like.
  • Check our Contributors Guide: If you're new to contributing to open source, we recommend checking out our Contributors Guide to OpenSauced to learn more about the process and best practices.

The Power of the #100DaysOfOSS Challenge

The #100DaysOfOSS challenge offers a supportive community where developers can find encouragement, share experiences, and overcome roadblocks together.

Our hope is that the community will provide a safe space to discuss challenges, celebrate achievements, and exchange insights, creating an environment that helps individuals stay on track and avoid giving up.

Why Join the #100DaysOfOSS Challenge?

  1. Skill enhancement: By working on real-world projects, you'll gain practical experience and exposure to different projects, documentation, communities, programming languages, frameworks, and tools. You'll also learn from experienced developers, receive feedback on your code, and improve your problem-solving abilities.

  2. Collaboration and networking: You'll have the opportunity to work alongside other contributors, collaborate on shared goals, and build professional relationships. This experience can lead to networking opportunities, mentorship, and exposure to diverse perspectives in tech.

  3. Resume and portfolio boost: Experience in open source demonstrates your ability to work in a team, follow best practices, and contribute to larger codebases. Open source contributions are tangible evidence of your skills, commitment, and ability to grow.

  4. Learning from peers: By examining the codebase, participating in discussions, engaging in the community, and reviewing pull requests, contributors can gain insights into different approaches to community, projects, coding styles, architecture patterns, and software development best practices, accelerating a developer's learning curve.

  5. Making a positive impact: Your contributions benefit other contributors who rely on these projects, fostering a sense of fulfillment and giving back to the community.

Weekly Office Hours

Have questions or need help? Join us on Discord and post on our #100DaysOfOSS channel. We're here to help you succeed!

Happy contributing, and best of luck on your #100DaysOfOSS adventure!

+ \ No newline at end of file diff --git a/community/hacktoberfest/index.html b/community/hacktoberfest/index.html index e0d6230a..b4f70170 100644 --- a/community/hacktoberfest/index.html +++ b/community/hacktoberfest/index.html @@ -13,13 +13,13 @@ - +
-

Join us for Hacktoberfest! 🎃

At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! 🎃

What is Hacktoberfest?

From October 1st-31st, people around the globe do a challenge where they submit four pull requests participating projects. Here's how to join:

  1. Go to the official Hacktoberfest website
  2. Click on the Register Now! button
  3. Sign in with your GitHub and/or GitLab accounts.

Why Should I Participate in Hacktoberfest?

This event is a great way to jumpstart your journey in open source, to meet other people in the tech community, and build your skills. Curious to learn more about the value of contributing to open source? Check out these resources:

I want to join Hacktoberfest, but I have no idea what open source is

No problem! 😄 Here is a list of resources we recommend for first-time contributors:

  • Take our Intro to Open Source course to learn the history of open source, the tools to succeed in the community, and how to showcase your contributions.
  • Check out GitHub's introductory course to learn how to use the platform when making open source contributions.
  • Read our The Power of Git blog post to learn how to harness the power of Git, your trusty weapon in Hacktoberfest.

What should I expect during Hacktoberfest?

During Hacktoberfest, expect to feel excited and a bit competitive on your quest to submit your four pull requests. While those feelings are understandable, it's important to remember the following:

  • Think first, work later: It's best to share your ideas and/or request to work on an issue before submitting a pull request. It'll make it easier for maintainers to assess whether your suggestion fits in with their project. It will also help you develop your communication skills.
  • Be patient: Maintainers are people with lives outside of open source, so avoid constantly messaging them about when your pull request be reviewed and merged.
  • Try new things: While revising typos is helpful, it's best to diversify contributions. This would help expand your skills, which is very useful if you plan on using your Hacktoberfest contributions as samples for your portfolio.

I'm ready for Hacktoberfest

Great! 😄 If you're looking for a project to contribute to, check out this list of beginner-friendly projects for Hacktoberfest.

Happy Contributing! 😄

- +

Join us for Hacktoberfest! 🎃

At OpenSauced, we love open source just as much as pizza! That's why we are participating in Hacktoberfest! 🎃

What is Hacktoberfest?

From October 1st-31st, people around the globe do a challenge where they submit four pull requests participating projects. Here's how to join:

  1. Go to the official Hacktoberfest website
  2. Click on the Register Now! button
  3. Sign in with your GitHub and/or GitLab accounts.

Why Should I Participate in Hacktoberfest?

This event is a great way to jumpstart your journey in open source, to meet other people in the tech community, and build your skills. Curious to learn more about the value of contributing to open source? Check out these resources:

I want to join Hacktoberfest, but I have no idea what open source is

No problem! 😄 Here is a list of resources we recommend for first-time contributors:

  • Take our Intro to Open Source course to learn the history of open source, the tools to succeed in the community, and how to showcase your contributions.
  • Check out GitHub's introductory course to learn how to use the platform when making open source contributions.
  • Read our The Power of Git blog post to learn how to harness the power of Git, your trusty weapon in Hacktoberfest.

What should I expect during Hacktoberfest?

During Hacktoberfest, expect to feel excited and a bit competitive on your quest to submit your four pull requests. While those feelings are understandable, it's important to remember the following:

  • Think first, work later: It's best to share your ideas and/or request to work on an issue before submitting a pull request. It'll make it easier for maintainers to assess whether your suggestion fits in with their project. It will also help you develop your communication skills.
  • Be patient: Maintainers are people with lives outside of open source, so avoid constantly messaging them about when your pull request be reviewed and merged.
  • Try new things: While revising typos is helpful, it's best to diversify contributions. This would help expand your skills, which is very useful if you plan on using your Hacktoberfest contributions as samples for your portfolio.

I'm ready for Hacktoberfest

Great! 😄 If you're looking for a project to contribute to, check out this list of beginner-friendly projects for Hacktoberfest.

Happy Contributing! 😄

+ \ No newline at end of file diff --git a/community/welcome-to-the-community/index.html b/community/welcome-to-the-community/index.html index ba4ffb95..2fcdc458 100644 --- a/community/welcome-to-the-community/index.html +++ b/community/welcome-to-the-community/index.html @@ -13,13 +13,13 @@ - +
-

Welcome to the OpenSauced Community

Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.

Community Guidelines

We pledge to create a welcoming and inclusive community for everyone at OpenSauced. We have a few guidelines to help us achieve this goal:

  • Be respectful and kind to others in the community.
  • Be patient with others and help them learn.
  • Be open to feedback and constructive criticism.
  • Adhere to the Code of Conduct.

Keeping Up with OpenSauced

The OpenSauced community is a group of open source enthusiasts who are passionate about making open source more accessible to everyone. Here are some ways you can keep up with what we're doing:

  • Follow us on X @SaucedOpen for announcements and our frequent X Spaces.
  • Join our Discord and hang out with us during our weekly office hours.
  • Subscribe to our YouTube channel for the latest updates and video content for OpenSauced.
  • 📰 Subscribe to our newsletter for all things OpenSauced and open source.
  • 🗓️ Check out the calendar for our next weekly community chat.

How to Get Involved

You can get involved in the OpenSauced community in a few ways:

  • Share your contributions! We love to see what you're working on. Highlight your contributions on OpenSauced.
  • Open an issue or ask to be assigned to an existing issue on any of our OpenSauced repositories.
  • Share what you're working on, ask questions, or mentor new contributors in our Discord.
  • Provide feedback on our GitHub Discussions.

Resources on Getting Started with Open Source

Getting started with open source can be challenging, so we've put together some resources to help you get started.

- +

Welcome to the OpenSauced Community

Welcome to the OpenSauced community! At OpenSauced, we strive to bring collaboration and inspiration to every open source contributor and help build a global community of open source developers, empowering you to grow, innovate, and achieve greatness in the open.

Community Guidelines

We pledge to create a welcoming and inclusive community for everyone at OpenSauced. We have a few guidelines to help us achieve this goal:

  • Be respectful and kind to others in the community.
  • Be patient with others and help them learn.
  • Be open to feedback and constructive criticism.
  • Adhere to the Code of Conduct.

Keeping Up with OpenSauced

The OpenSauced community is a group of open source enthusiasts who are passionate about making open source more accessible to everyone. Here are some ways you can keep up with what we're doing:

  • Follow us on X @SaucedOpen for announcements and our frequent X Spaces.
  • Join our Discord and hang out with us during our weekly office hours.
  • Subscribe to our YouTube channel for the latest updates and video content for OpenSauced.
  • 📰 Subscribe to our newsletter for all things OpenSauced and open source.
  • 🗓️ Check out the calendar for our next weekly community chat.

How to Get Involved

You can get involved in the OpenSauced community in a few ways:

  • Share your contributions! We love to see what you're working on. Highlight your contributions on OpenSauced.
  • Open an issue or ask to be assigned to an existing issue on any of our OpenSauced repositories.
  • Share what you're working on, ask questions, or mentor new contributors in our Discord.
  • Provide feedback on our GitHub Discussions.

Resources on Getting Started with Open Source

Getting started with open source can be challenging, so we've put together some resources to help you get started.

+ \ No newline at end of file diff --git a/contributing/code-of-conduct/index.html b/contributing/code-of-conduct/index.html index 332cd93d..bdcab8be 100644 --- a/contributing/code-of-conduct/index.html +++ b/contributing/code-of-conduct/index.html @@ -13,7 +13,7 @@ - + @@ -22,8 +22,8 @@ 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, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

Our Standards

Examples of behavior that contributes to creating a positive environment include:

  • Using welcoming and inclusive language.
  • Being respectful of differing viewpoints and experiences.
  • Gracefully accepting constructive criticism.
  • Focusing on what is best for the community.
  • Showing empathy towards other community members.

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery and unwelcome sexual attention or advances.
  • Trolling, insulting/derogatory comments, and personal or political attacks.
  • Public or private harassment.
  • Publishing others' confidential information, such as a physical or electronic address, without explicit permission.
  • Other conduct that could reasonably be considered inappropriate in a professional setting.

Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

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 with this Code of Conduct or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include:

  • Using an official project e-mail address.
  • Posting via an official social media account.
  • Acting as an appointed representative at an online or offline event.

Representation of a project may be further defined and clarified by project maintainers.

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hello@briandouglas.me. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

Attribution

This Code of Conduct is adapted from the Contributor Covenant version 1.4, -available at https://contributor-covenant.org/version/1/4.

- +available at https://contributor-covenant.org/version/1/4.

+ \ No newline at end of file diff --git a/contributing/introduction-to-contributing/index.html b/contributing/introduction-to-contributing/index.html index 58832e2d..a6356307 100644 --- a/contributing/introduction-to-contributing/index.html +++ b/contributing/introduction-to-contributing/index.html @@ -13,7 +13,7 @@ - + @@ -21,8 +21,8 @@

Introduction to Contributing

Contributions are always welcome, no matter how large or small. Before contributing, please read the Code of Conduct and follow the directions below:

  1. Always leave screenshots for visual changes.
  2. Always leave a detailed description in the pull request. Leave nothing ambiguous for the reviewer.
  3. Always review your code first. Run the project locally and test it before requesting a review.
  4. Always communicate in the GitHub repository. Whether in the issue or the pull request, keeping the lines of communication open and visible to everyone on the team helps everyone around you.

Issues

  • If you wish to work on an open issue, please comment on the issue with .take, and it will be assigned to you.

    info

    If an issue is not assigned, it is assumed to be available for anyone to work on. Please assign yourself to an issue before working on it to avoid conflicts.

  • Issues with the needs triage label are unavailable to .take until they are triaged and the label is removed. Feel free to check on the issue regularly if you want to work on it.

  • If you contribute to the project for the first time, you can search for issues with good first issue or bug labels in the repository.

    note

    Please only self-assign a good first issue one time.

In case you get stuck, feel free to ask for help in the Discord server or GitHub Discussions.

Please follow our Code of Conduct in all your interactions with the project and its contributors.

Commits

When contributing to OpenSauced projects, use this command to follow our conventional commits:

npm run push

The npm run push command is an interactive replacement for git commit. It enforces the conventional commit specification for writing commit messages, making it easier for developers and maintainers to understand the changes made in a particular commit.

After running this command, you can push your changes to the remote repo.

See Conventional Commits for more examples.

Pull Requests (PR)


We actively welcome your pull requests. However, you must ensure that you are assigned to an existing issue before working on changes, and you need to link your work to the issue in your PR form.


  1. Fork the repo and create your branch from the default branch.

  2. Name your branch to something descriptive of your work, i.e., add-navbar or fix/broken-links.

  3. If you've added code that should be tested, add tests.

  4. If you've changed APIs, update the documentation.

  5. If you make visual changes, screenshots are required.

  6. Ensure the test suite passes.

  7. Make sure you address any lint warnings.

  8. If you improve the existing code, please let us know in your PR description.

  9. Completing the PR form is required. Make sure to fill in the PR title, description, link to an issue, and all the necessary areas.

    • The title must begin with "feat:", "fix:", or anything related to your changes.
      Tips: You can follow your chosen option when committing your changes.

    • Unsolicited code is welcomed, but an issue is required to announce your intentions.

⚠️ PRs will be marked as invalid and may be closed if:

  • the issue is not assigned to the contributor who opened the PR
  • no issue is linked to the PR

IMPORTANT:
Please do not DM Maintainers or contact them outside of GitHub if you want a PR Review. If you haven't received a review within a week, please tag them in the PR comments to ask for an estimated time of review.

Note for maintainers: All PRs need a label to assist automation. See this guide to determine which labels to use.

PR Validation

Examples of valid PR titles:

  • fix: Correct typo.
  • feat: Add support for Node 12.
  • refactor!: Drop support for Node 6.

Note: For any breaking changes, you have to use the ! syntax.

Work in Progress

GitHub supports draft pull requests, which will disable the merge button until the PR is marked as ready for merge.

Additional Resources

Getting Started

Setting Up Projects Locally

  1. Fork the repository you're working on from github/open-sauced to your own GitHub account.
  2. Clone the forked repository to your local machine.
  3. Check the project's README to determine how to run the project locally.

Additional Information

For many of our repositories, you'll run npm ci to install the dependencies and set up the project locally.

From the npm official docs:

The npm ci is a command that installs a project with a clean slate, skipping certain user-oriented features and being more strict than npm install.

You can also use the shell commands below to get started once you have forked the repository:

git clone https://github.com/<GITHUB_USERNAME>/<REPO_NAME>.git
cd <REPO_NAME>
npm ci

Make sure to replace <GITHUB_USERNAME> with your GitHub username.

Building

To generate a production-ready version of your code, run:

npm run build

Testing

For running the test suite, use the following command:

# the tests will run in watch mode by default
npm test

Since the tests run in watch mode by default, some users may encounter errors about too many files being open. In this case, it may be beneficial to install Watchman.

Check out this course, Testing JavaScript, for more info on testing React and JavaScript.

Applying Lint Styleguide

To check the code for formatting and linting errors, run the following command:

npm run lint

These errors will also be displayed during development but won't prevent the code from compiling.

To fix the formatting and linting errors, run the following command instead:

npm run format

These commands use ESLint to check and fix the code.

If you forget to run this command, automated PR checks will also run these commands, but the PR will be blocked if there are any errors.

Coding Tips

Community

Do you have questions? Join the conversation in our Discord.

Triage Team

The Triage team is inspired by expressjs/express. This team exists to create a path for making contributions to this project and open source. All Triage Team members are expected to follow the Triage Guide.

There are no minimum requirements to become a member of the Triage Team.

For those interested in getting involved in the project or just open source in general and wanting to join the Triage Team, please leave a comment in the 🍕opensauced-contributors-chat channel on Discord.

Funding

OpenSauced is a part of GitHub Sponsors. If you would like to contribute, please note the sponsor page for details on how funds are distributed. If you have made any contributions to the project directly or indirectly, please consider adding your profile to the FUNDING.yml file.

License

By contributing to the OpenSauced project, you agree that your contributions will be licensed -by a specific License. You can find this information in the LICENSE file of the repo you are contributing to.

- +by a specific License. You can find this information in the LICENSE file of the repo you are contributing to.

+ \ No newline at end of file diff --git a/contributing/opensauced-maintainers-guide/community-maintainers-guide/index.html b/contributing/opensauced-maintainers-guide/community-maintainers-guide/index.html index 53d99f14..80e47e29 100644 --- a/contributing/opensauced-maintainers-guide/community-maintainers-guide/index.html +++ b/contributing/opensauced-maintainers-guide/community-maintainers-guide/index.html @@ -13,13 +13,13 @@ - +
-

OpenSauced Community Maintainers Guidelines

Welcome to OpenSauced Community Maintainers guidelines!

These guidelines provide expectations and responsibilities for OpenSauced Community Maintainers to foster a welcoming, supportive, and inclusive community and encourage healthy collaboration.

Maintainers Best Practices

  • Open communication: Always communicate everything as much as you can openly on GitHub to keep the community in the loop.
  • Courtesy: Always use polite and clear words when asking for changes or giving feedback.
  • Intention: Always tell the reason behind closing an issue or pull request.
  • Take the time needed: Maintainers are human. It’s okay to take time to respond.

Issues Management

Triaging Issues

  • Label issues to classify them. Refer to the "Adding Issue and PR Labels" section on the OpenSauced docs.
  • If a feature request needs to be more convincing, ask contributors to convince you why OpenSauced wants to enhance the project with the feature.
  • When unsure whether to go on or close the issue, seek the opinions of other maintainers by tagging them in the comment.

Creating Issues

  • Create an issue whenever there's a necessity for change, even without discussing it first with the team.
  • All issues should start with a descriptive title that begins with a verb. For example, "Add a section on how to use X feature."
  • Creating several small issues is better than one consisting of big changes. Contributors can work on the issues faster, and it can save time for maintainers to review the pull requests.
  • Leave the needs triage label and tag other maintainers to triage before releasing it for contributions when in doubt.
  • Add a beginner label for low-effort issues requiring less expectation for the maintainers' time and support. Provide clear and enough information about how you want the change to be. For example, "Add a section about X. Give a brief explanation about it. You can read these resources to help you."

Good First Issue

Good first issues mainly aim for complete beginners and someone new to OpenSauced projects. A good first issue has to have:

  • Clear description: Why do you want to have the change? What do you want to achieve with the change?
  • Proposed solution: How can this issue be solved?
  • Files and code blocks: Point to the file and the code blocks causing the issue. Read the instructions on the GitHub documentation to create a permanent link to a code snippet.

Tip: Add checkboxes to the issue and ask the contributor to check them as they complete them to help create a clear path to completion.

Assigning Issues

  • The good first issue can only be assigned once per contributor.
    Respond with something like, "Hey {username}, we appreciate all the contributions lately! We'd love to give someone new a chance to take on this good first issue, but keep checking back as we post new issues frequently."
  • Issues outside the good first issue can be assigned max. 2 issues per contributor at a time.
    We love contributions. But we want to equip contributors to succeed by giving them time to complete issues. Through experience, we've found that two issues at a time allows them to focus on completing the issue and supports maintainers by not having issues open for long periods.

Pull Request Management

Timeline

  • Small pull requests that don't require updates should be merged in up to one week.
  • Take time to review long pull requests to prevent merging incomplete, broken, or unresolved pull requests. Communicate with contributors when more time is needed to review the pull requests.
  • Pull requests that have requested updates that are stale after two weeks should be put into draft mode with a note to the contributor that says something like: "We haven’t seen any updates to this PR in the last two weeks, so we’ve put it in draft mode. Please let us know if you’re going to continue to work on it."
  • Stale pull requests should be closed when unresolved or inactive (no commits, comment responses, etc.) in 5 weeks. In these circumstances, communicate with contributors that they may reopen if they want to continue working on it only when no one claims the issue.
    Note: If you close their pull request, you should also unassign any related issues.

Pull Request Review

  • Ensure that the pull request form is completed. Ask contributors to provide any missing information before reviewing.
  • Always pull the pull request's branch and test the changes locally.
  • Always provide feedback and suggestions when requesting changes. To give code suggestions, please read the GitHub documentation.
  • Pull requests should only include what is requested in the issue. If there's another fix that someone (contributor or maintainer) wants to make, it requires another issue and a pull request. If the person has already made the fix in the pull request, politely ask them to remove the update, create a new issue, and wait to be assigned.
  • Creating saved replies is helpful when frequently adding the same comment over and over, such as thanking contributors for pull requests or changes made, asking to resolve merge conflicts, etc.

Merging Pull Request

  • Always squash and merge commits when merging in a pull request.

  • When two maintainers review and approve a pull request, the first reviewer is the one who merges the pull request if there are no requested changes.

  • When there is a request for changes, the one who requested changes or the last one whose requests got resolved is the one who merges the pull request.

  • Refrain from resolving conversations started by other maintainers even if the contributor has verified. When it's necessary to merge the pull request fast, tag the maintainer and ask them to do a final check before merging.

  • Do not approve changes or dismiss reviews from a maintainer even if the contributor has completed the change requests. Re-request review instead.

  • If you have the time, it's great to encourage contributors with a positive message like these:

    • "Thanks for contributing, [name of contributor]. Join our Discord community for more updates on OpenSauced and to find more projects."

    • A personal message acknowledging their impact.

    • Send a GIF like this one:

      git merge

Closing Pull Requests

Below are the circumstances when you can close pull requests:

  • Stand-alone pull requests that don't have issues related to them.
  • Pull requests for issues that are not assigned to the contributors.
  • Stale pull requests.

OpenSauced Community Maintainers

See the @open-sauced/community team.

OpenSauced Community Repositories

Repository Name
1.guestbook
2.pizza-verse
3.intro
- +

OpenSauced Community Maintainers Guidelines

Welcome to OpenSauced Community Maintainers guidelines!

These guidelines provide expectations and responsibilities for OpenSauced Community Maintainers to foster a welcoming, supportive, and inclusive community and encourage healthy collaboration.

Maintainers Best Practices

  • Open communication: Always communicate everything as much as you can openly on GitHub to keep the community in the loop.
  • Courtesy: Always use polite and clear words when asking for changes or giving feedback.
  • Intention: Always tell the reason behind closing an issue or pull request.
  • Take the time needed: Maintainers are human. It’s okay to take time to respond.

Issues Management

Triaging Issues

  • Label issues to classify them. Refer to the "Adding Issue and PR Labels" section on the OpenSauced docs.
  • If a feature request needs to be more convincing, ask contributors to convince you why OpenSauced wants to enhance the project with the feature.
  • When unsure whether to go on or close the issue, seek the opinions of other maintainers by tagging them in the comment.

Creating Issues

  • Create an issue whenever there's a necessity for change, even without discussing it first with the team.
  • All issues should start with a descriptive title that begins with a verb. For example, "Add a section on how to use X feature."
  • Creating several small issues is better than one consisting of big changes. Contributors can work on the issues faster, and it can save time for maintainers to review the pull requests.
  • Leave the needs triage label and tag other maintainers to triage before releasing it for contributions when in doubt.
  • Add a beginner label for low-effort issues requiring less expectation for the maintainers' time and support. Provide clear and enough information about how you want the change to be. For example, "Add a section about X. Give a brief explanation about it. You can read these resources to help you."

Good First Issue

Good first issues mainly aim for complete beginners and someone new to OpenSauced projects. A good first issue has to have:

  • Clear description: Why do you want to have the change? What do you want to achieve with the change?
  • Proposed solution: How can this issue be solved?
  • Files and code blocks: Point to the file and the code blocks causing the issue. Read the instructions on the GitHub documentation to create a permanent link to a code snippet.

Tip: Add checkboxes to the issue and ask the contributor to check them as they complete them to help create a clear path to completion.

Assigning Issues

  • The good first issue can only be assigned once per contributor.
    Respond with something like, "Hey {username}, we appreciate all the contributions lately! We'd love to give someone new a chance to take on this good first issue, but keep checking back as we post new issues frequently."
  • Issues outside the good first issue can be assigned max. 2 issues per contributor at a time.
    We love contributions. But we want to equip contributors to succeed by giving them time to complete issues. Through experience, we've found that two issues at a time allows them to focus on completing the issue and supports maintainers by not having issues open for long periods.

Pull Request Management

Timeline

  • Small pull requests that don't require updates should be merged in up to one week.
  • Take time to review long pull requests to prevent merging incomplete, broken, or unresolved pull requests. Communicate with contributors when more time is needed to review the pull requests.
  • Pull requests that have requested updates that are stale after two weeks should be put into draft mode with a note to the contributor that says something like: "We haven’t seen any updates to this PR in the last two weeks, so we’ve put it in draft mode. Please let us know if you’re going to continue to work on it."
  • Stale pull requests should be closed when unresolved or inactive (no commits, comment responses, etc.) in 5 weeks. In these circumstances, communicate with contributors that they may reopen if they want to continue working on it only when no one claims the issue.
    Note: If you close their pull request, you should also unassign any related issues.

Pull Request Review

  • Ensure that the pull request form is completed. Ask contributors to provide any missing information before reviewing.
  • Always pull the pull request's branch and test the changes locally.
  • Always provide feedback and suggestions when requesting changes. To give code suggestions, please read the GitHub documentation.
  • Pull requests should only include what is requested in the issue. If there's another fix that someone (contributor or maintainer) wants to make, it requires another issue and a pull request. If the person has already made the fix in the pull request, politely ask them to remove the update, create a new issue, and wait to be assigned.
  • Creating saved replies is helpful when frequently adding the same comment over and over, such as thanking contributors for pull requests or changes made, asking to resolve merge conflicts, etc.

Merging Pull Request

  • Always squash and merge commits when merging in a pull request.

  • When two maintainers review and approve a pull request, the first reviewer is the one who merges the pull request if there are no requested changes.

  • When there is a request for changes, the one who requested changes or the last one whose requests got resolved is the one who merges the pull request.

  • Refrain from resolving conversations started by other maintainers even if the contributor has verified. When it's necessary to merge the pull request fast, tag the maintainer and ask them to do a final check before merging.

  • Do not approve changes or dismiss reviews from a maintainer even if the contributor has completed the change requests. Re-request review instead.

  • If you have the time, it's great to encourage contributors with a positive message like these:

    • "Thanks for contributing, [name of contributor]. Join our Discord community for more updates on OpenSauced and to find more projects."

    • A personal message acknowledging their impact.

    • Send a GIF like this one:

      git merge

Closing Pull Requests

Below are the circumstances when you can close pull requests:

  • Stand-alone pull requests that don't have issues related to them.
  • Pull requests for issues that are not assigned to the contributors.
  • Stale pull requests.

OpenSauced Community Maintainers

See the @open-sauced/community team.

OpenSauced Community Repositories

Repository Name
1.guestbook
2.pizza-verse
3.intro
+ \ No newline at end of file diff --git a/contributing/opensauced-maintainers-guide/maintainers-guide/index.html b/contributing/opensauced-maintainers-guide/maintainers-guide/index.html index 67907119..9cb76eaa 100644 --- a/contributing/opensauced-maintainers-guide/maintainers-guide/index.html +++ b/contributing/opensauced-maintainers-guide/maintainers-guide/index.html @@ -13,13 +13,13 @@ - +
-

OpenSauced Maintainers Guide

Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.

At OpenSauced, we empower contributors to work in the open and support maintainers to make data-driven decisions for their projects.

It's important to us that we maintain a healthy environment for contributors and maintainers of our projects.

How to Join the Maintainers Team

What does the Maintainers Team do?

Well, like all things in tech, it depends. We have different maintainer teams for each of the repositories. So, it's important that you communicate with the admin maintainer if you have any questions.

Core Responsibilities

Your responsibilities may include:

  • Reviewing and merging pull requests (PRs).
  • Providing comments and responses on PRs, issues, discussions, and Discord messages.
  • Triage issues and bug reports.
  • Maintaining project documentation.
  • Collaborating with the community.

Creating a positive space for contributors at all stages is one of your most important responsibilities.

As a maintainer, you must:

  • adhere to our Code of Conduct and be an example for treating contributors with respect,
  • communicate with the other maintainers in a timely and reasonable manner,
  • understand and adhere to project standards.

Committing and Merging Changes

  1. For commit and pull request standards, please refer to the introduction to contributing.
  2. Before merging in changes, always run the project locally if UI changes were made.
  3. Squash and merge commits when you merge in a PR.

Thank you for being so interested in becoming a maintainer! Please reach out in our team discussions if you need help, guidance, or clarification at any time.

- +

OpenSauced Maintainers Guide

Welcome to the OpenSauced Maintainers Guide for contributors who are interested in being part of the maintainer team for OpenSauced repositories.

At OpenSauced, we empower contributors to work in the open and support maintainers to make data-driven decisions for their projects.

It's important to us that we maintain a healthy environment for contributors and maintainers of our projects.

How to Join the Maintainers Team

What does the Maintainers Team do?

Well, like all things in tech, it depends. We have different maintainer teams for each of the repositories. So, it's important that you communicate with the admin maintainer if you have any questions.

Core Responsibilities

Your responsibilities may include:

  • Reviewing and merging pull requests (PRs).
  • Providing comments and responses on PRs, issues, discussions, and Discord messages.
  • Triage issues and bug reports.
  • Maintaining project documentation.
  • Collaborating with the community.

Creating a positive space for contributors at all stages is one of your most important responsibilities.

As a maintainer, you must:

  • adhere to our Code of Conduct and be an example for treating contributors with respect,
  • communicate with the other maintainers in a timely and reasonable manner,
  • understand and adhere to project standards.

Committing and Merging Changes

  1. For commit and pull request standards, please refer to the introduction to contributing.
  2. Before merging in changes, always run the project locally if UI changes were made.
  3. Squash and merge commits when you merge in a PR.

Thank you for being so interested in becoming a maintainer! Please reach out in our team discussions if you need help, guidance, or clarification at any time.

+ \ No newline at end of file diff --git a/contributing/set-up-authentication/index.html b/contributing/set-up-authentication/index.html index 549828e5..f3ec6129 100644 --- a/contributing/set-up-authentication/index.html +++ b/contributing/set-up-authentication/index.html @@ -13,13 +13,13 @@ - +
-

Set Up Authentication

You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.

The following steps outline how to obtain an authentication token from the hot.opensauced.pizza website:

  1. Click on your avatar in the top right corner of the page. This will open a dropdown menu.

    Avatar in top right corner of the page

  2. Click on the Print auth token option. Don't worry, this is a safe operation. The token is only printed to the console.

    Print Auth Token

  3. Copy the token that is printed to the console.

    Token printed to the console

  4. You can now use this token to make authenticated requests to the OpenSauced public API by including it in the Authorization header of your requests. For example:

    const response = await fetch(
    "https://api.opensauced.pizza/v2/auth/session",
    {
    method: "GET",
    headers: {
    Authorization: `Bearer ${token}`,
    },
    }
    );
- +

Set Up Authentication

You need to obtain an authentication token to interact with the OpenSauced public API as an authenticated user.

The following steps outline how to obtain an authentication token from the hot.opensauced.pizza website:

  1. Click on your avatar in the top right corner of the page. This will open a dropdown menu.

    Avatar in top right corner of the page

  2. Click on the Print auth token option. Don't worry, this is a safe operation. The token is only printed to the console.

    Print Auth Token

  3. Copy the token that is printed to the console.

    Token printed to the console

  4. You can now use this token to make authenticated requests to the OpenSauced public API by including it in the Authorization header of your requests. For example:

    const response = await fetch(
    "https://api.opensauced.pizza/v2/auth/session",
    {
    method: "GET",
    headers: {
    Authorization: `Bearer ${token}`,
    },
    }
    );
+ \ No newline at end of file diff --git a/contributing/technical/resolve-merge-conflicts/index.html b/contributing/technical/resolve-merge-conflicts/index.html index f0b3f7d6..0196bcd5 100644 --- a/contributing/technical/resolve-merge-conflicts/index.html +++ b/contributing/technical/resolve-merge-conflicts/index.html @@ -13,13 +13,13 @@ - +
-

Resolve Merge Conflicts

When you are working on any of the OpenSauced repositories, you might run into a merge conflict. A merge conflict occurs when multiple conflicting changes are made to the same line in a file. Merge conflicts happen the most when you open a pull request, as the release process generally updates npm-shrinkwrap.json.

In this guide, we will talk about how to resolve merge conflicts and how to keep your branch up to date.

How to Keep Your Branch Updated

It is common for your branch to fall behind the main repository's branch. So it is important to keep it up to date as you are contributing.

Using GitHub

To update your branch on GitHub, you can go to your forked copy of the project and click on Sync fork and then the Update branch button.

syncing your branch on GitHub

Using Git

To update your branch using Git and the terminal, you can use the following commands:

  1. Change directories to the correct project.
cd project-name
  1. Add the upstream remote.
git remote add upstream https://github.com/upstream-username/upstream-repository.git
  1. Pull the latest changes from the upstream.
git pull upstream main-branch-name

Note: Some of the OpenSauced repositories will use main for the main branch while others like the app repository, will use beta for the main branch name.

How to Check for Merge Conflicts Locally

If you are actively working on a change to an OpenSauced repository, you can check for potential merge conflicts by running a few commands in the terminal.

  1. Make sure you are on the correct branch where the changes are being made.
cd app
git checkout <your-branch>
  1. Fetch the latest changes from the OpenSauced main repository.
git fetch upstream
  1. See the differences between your branch and the OpenSauced main branch.
git diff <your-branch> upstream/main

Note: Some of the OpenSauced repositories will use main for the main branch while others, like the app repository, will use beta for the main branch name.

git diff output review conflicts

NOTE: If you have already opened up a pull request, then you can see if there is a conflict at the bottom of the PR. Even though it is possible to resolve conflicts through GitHub, it is best practice to resolve them locally.

merge conflicts git message

How to Resolve Merge Conflicts

If you have merge conflicts, it is best to use a text editor to resolve them. Identify the conflicting files and open them up in your editor of choice. For the conflicting sections, you have an option to either keep the incoming changes, keep your changes or keep both sets of changes. The conflicting sections will be marked with <<<<<<<, =======, and >>>>>>> symbols.

Here is a guide for an in depth walkthrough of the process. Once you have resolved all of the conflicts, then you can stage, commit and push your changes to your branch.

git status
git add .
git commit -m "fix: resolving merge conflicts"
git push

Reviewing Your Pull Request

Once you have pushed up your changes, you can review them in your pull request. Under the files changed tab, you will see all of the recent changes including all conflicts resolved.

files changed tab on GitHub

Dependency Updates

When dealing with dependency and lock file updates, there are multiple use cases to consider; however, as a baseline, the OpenSauced triage team will not prioritize parallel main features as seen in the roadmap.

However when that happens, it is advised to:

  • fast-forward npm-shrinkwrap.json
  • fast-forward deleted and modified upstream/beta changes to package.json
  • fast-forward your added lines to package.json
  • run npm ci to delete local modules and create dependency resolution from upstream/beta

Visual diffing is advised; however, not following the git commit history procedure will result in a rogue pull request that creeps into dependency updates.

Generally speaking, just adding things to a lock file will not be troublesome, and since this is a licensed project, we should be careful when adding dependencies.

- +

Resolve Merge Conflicts

When you are working on any of the OpenSauced repositories, you might run into a merge conflict. A merge conflict occurs when multiple conflicting changes are made to the same line in a file. Merge conflicts happen the most when you open a pull request, as the release process generally updates npm-shrinkwrap.json.

In this guide, we will talk about how to resolve merge conflicts and how to keep your branch up to date.

How to Keep Your Branch Updated

It is common for your branch to fall behind the main repository's branch. So it is important to keep it up to date as you are contributing.

Using GitHub

To update your branch on GitHub, you can go to your forked copy of the project and click on Sync fork and then the Update branch button.

syncing your branch on GitHub

Using Git

To update your branch using Git and the terminal, you can use the following commands:

  1. Change directories to the correct project.
cd project-name
  1. Add the upstream remote.
git remote add upstream https://github.com/upstream-username/upstream-repository.git
  1. Pull the latest changes from the upstream.
git pull upstream main-branch-name

Note: Some of the OpenSauced repositories will use main for the main branch while others like the app repository, will use beta for the main branch name.

How to Check for Merge Conflicts Locally

If you are actively working on a change to an OpenSauced repository, you can check for potential merge conflicts by running a few commands in the terminal.

  1. Make sure you are on the correct branch where the changes are being made.
cd app
git checkout <your-branch>
  1. Fetch the latest changes from the OpenSauced main repository.
git fetch upstream
  1. See the differences between your branch and the OpenSauced main branch.
git diff <your-branch> upstream/main

Note: Some of the OpenSauced repositories will use main for the main branch while others, like the app repository, will use beta for the main branch name.

git diff output review conflicts

NOTE: If you have already opened up a pull request, then you can see if there is a conflict at the bottom of the PR. Even though it is possible to resolve conflicts through GitHub, it is best practice to resolve them locally.

merge conflicts git message

How to Resolve Merge Conflicts

If you have merge conflicts, it is best to use a text editor to resolve them. Identify the conflicting files and open them up in your editor of choice. For the conflicting sections, you have an option to either keep the incoming changes, keep your changes or keep both sets of changes. The conflicting sections will be marked with <<<<<<<, =======, and >>>>>>> symbols.

Here is a guide for an in depth walkthrough of the process. Once you have resolved all of the conflicts, then you can stage, commit and push your changes to your branch.

git status
git add .
git commit -m "fix: resolving merge conflicts"
git push

Reviewing Your Pull Request

Once you have pushed up your changes, you can review them in your pull request. Under the files changed tab, you will see all of the recent changes including all conflicts resolved.

files changed tab on GitHub

Dependency Updates

When dealing with dependency and lock file updates, there are multiple use cases to consider; however, as a baseline, the OpenSauced triage team will not prioritize parallel main features as seen in the roadmap.

However when that happens, it is advised to:

  • fast-forward npm-shrinkwrap.json
  • fast-forward deleted and modified upstream/beta changes to package.json
  • fast-forward your added lines to package.json
  • run npm ci to delete local modules and create dependency resolution from upstream/beta

Visual diffing is advised; however, not following the git commit history procedure will result in a rogue pull request that creeps into dependency updates.

Generally speaking, just adding things to a lock file will not be troublesome, and since this is a licensed project, we should be careful when adding dependencies.

+ \ No newline at end of file diff --git a/contributing/technical/setup-repo-with-git/index.html b/contributing/technical/setup-repo-with-git/index.html index e31e5507..21a8b7da 100644 --- a/contributing/technical/setup-repo-with-git/index.html +++ b/contributing/technical/setup-repo-with-git/index.html @@ -13,13 +13,13 @@ - +
-

Setting Up a Repository with Git and GitHub

Using the GitHub CLI

How to Install the GitHub CLI

The GitHub CLI allows you to fork repositories, create issues, pull requests, and more from the command line.

Follow these instructions to install GitHub CLI on Mac, Windows, or Linux.

How to Authenticate with the GitHub CLI

From the terminal, you will need to authenticate with the GitHub CLI. You can do this by running the following command:

gh auth login

Then, follow the prompts to authenticate with the GitHub CLI.

How to Fork and Clone a Repository with the GitHub CLI

A fork is a remote copy of a repository, allowing you to experiment freely with changes without affecting the original project.

A clone is a local copy of a repository that includes all the files, branches and commits.

To fork and clone a repository with the GitHub CLI, run the following command:

gh repo fork open-sauced/<REPO_NAME>

The GitHub CLI will fork the project in your GitHub account and will ask you if you want to clone the repository on your local machine.

How to Add a Remote Repository

Adding a remote repository allows you to pull in changes from the original repository and keep your forked copy of the repository up to date.

To add a remote repository, run the following command:

git remote add upstream https://github.com/open-sauced/app.git

How to View the Remote Repositories Locally

To view the remote repositories that your local repository is connected to, run the following command:

git remote -v

You should see the following output:

origin git@github.com:YOUR_GITHUB_USERNAME/app.git (fetch)
origin git@github.com:YOUR_GITHUB_USERNAME/app.git (push)
upstream git@github.com:open-sauced/app.git (fetch)
upstream git@github.com:open-sauced/app.git (push)

Using the GitHub Website and the Command Line

If you prefer to set up your repository using the GitHub website and the command line, follow this detailed guide from the official GitHub documentation.

- +

Setting Up a Repository with Git and GitHub

Using the GitHub CLI

How to Install the GitHub CLI

The GitHub CLI allows you to fork repositories, create issues, pull requests, and more from the command line.

Follow these instructions to install GitHub CLI on Mac, Windows, or Linux.

How to Authenticate with the GitHub CLI

From the terminal, you will need to authenticate with the GitHub CLI. You can do this by running the following command:

gh auth login

Then, follow the prompts to authenticate with the GitHub CLI.

How to Fork and Clone a Repository with the GitHub CLI

A fork is a remote copy of a repository, allowing you to experiment freely with changes without affecting the original project.

A clone is a local copy of a repository that includes all the files, branches and commits.

To fork and clone a repository with the GitHub CLI, run the following command:

gh repo fork open-sauced/<REPO_NAME>

The GitHub CLI will fork the project in your GitHub account and will ask you if you want to clone the repository on your local machine.

How to Add a Remote Repository

Adding a remote repository allows you to pull in changes from the original repository and keep your forked copy of the repository up to date.

To add a remote repository, run the following command:

git remote add upstream https://github.com/open-sauced/app.git

How to View the Remote Repositories Locally

To view the remote repositories that your local repository is connected to, run the following command:

git remote -v

You should see the following output:

origin git@github.com:YOUR_GITHUB_USERNAME/app.git (fetch)
origin git@github.com:YOUR_GITHUB_USERNAME/app.git (push)
upstream git@github.com:open-sauced/app.git (fetch)
upstream git@github.com:open-sauced/app.git (push)

Using the GitHub Website and the Command Line

If you prefer to set up your repository using the GitHub website and the command line, follow this detailed guide from the official GitHub documentation.

+ \ No newline at end of file diff --git a/contributing/triage-guide/index.html b/contributing/triage-guide/index.html index 0dc5edd6..05139958 100644 --- a/contributing/triage-guide/index.html +++ b/contributing/triage-guide/index.html @@ -13,13 +13,13 @@ - +
-

Triage Guide

How to Join the Triage Team

  1. Sign up for opensauced.pizza.
  2. Leave a comment in the 🍕opensauced-contributors-chat channel on Discord.

Triage Process

When a new issue or pull request (PR) is opened, the issue will be labeled with needs triage. If a triage team member is available, they can help ensure all the required information is provided.

Adding Issue and PR Labels

Depending on the issue or PR, there are several labels the triage team can add for further classification, as follows:

  • needs triage: This can be kept if the triager is unsure which next steps to take.
  • awaiting more info: If more information has been requested from the author, apply this label.
  • question: User questions that do not appear to be bugs or enhancements.
  • discuss: Topics for discussion. It might end in an enhancement or question label.
  • bug: Issues that present reasonable conviction there is a reproducible bug.
  • enhancement: Issues that are found to be a reasonable candidate feature additions.
  • style: Minor CSS or visual changes.

In all cases, maintainers may close issues if they don't receive a timely response when further information is sought or when additional questions are asked.

Labeling good first issue

Issues labeled as good first issue represent a curated list of easy contributions for new contributors. These issues are meant to help folks make their first contribution to open source and should not require excessive research or triaging on the contributor's part.

All good first issue should include one or more of the following:

  • A solution.
  • A suggestion for a solution.
  • Links to components or in which issue occurs.

Please be noted:

  • Issues that needs triage cannot be labeled as good first issues.
  • It is better to have no good first issue labeled issues than to have a good first issue confusing enough to deter a contributor from contributing.

Approaches and Best Practices for Getting Into Triage Contributions

  • Review the project's Contribution Guidelines if they are present. In a nutshell, commit to the community's standards and values.

  • Review the documentation; for most projects, it is just the README.md. Ensure you understand the key APIs, semantics, configurations, and use cases.

  • Writing your own test apps to reaffirm your understanding of the key functions might be helpful. This may identify some gaps in documentation; record those as they might be good PRs to open.

  • Skim through the issues backlog; identify low-hanging and mostly new issues. From those, attempt to recreate issues based on the OP (Original Poster) description and ask questions if required. No question is a bad question!

Removal of Triage Role

There are a few cases where members can be removed from the triage role:

If any of these happen, we will discuss them as a part of the triage portion of the regular Triage Team meetings. If you have questions, feel free to contact any Triage Team members.

Helpful Hints

  • When reviewing the list of open issues, there are some common types and suggested actions:
    • New/unattended issues or simple questions: A good place to start.
    • Hard bugs & ongoing discussions: Feel free to chime in and help.
    • Issues that imply gaps in the documentation: Open PRs with changes or help the user to do so.
  • For recurring issues, it is helpful to create functional examples to demonstrate (publish as gists or a repo).
  • Review and identify the maintainers. If necessary, mention one or more of them with @ if you are unsure what to do.
  • Ensure all your interactions are professional, welcoming, and respectful to the parties involved.
- +

Triage Guide

How to Join the Triage Team

  1. Sign up for opensauced.pizza.
  2. Leave a comment in the 🍕opensauced-contributors-chat channel on Discord.

Triage Process

When a new issue or pull request (PR) is opened, the issue will be labeled with needs triage. If a triage team member is available, they can help ensure all the required information is provided.

Adding Issue and PR Labels

Depending on the issue or PR, there are several labels the triage team can add for further classification, as follows:

  • needs triage: This can be kept if the triager is unsure which next steps to take.
  • awaiting more info: If more information has been requested from the author, apply this label.
  • question: User questions that do not appear to be bugs or enhancements.
  • discuss: Topics for discussion. It might end in an enhancement or question label.
  • bug: Issues that present reasonable conviction there is a reproducible bug.
  • enhancement: Issues that are found to be a reasonable candidate feature additions.
  • style: Minor CSS or visual changes.

In all cases, maintainers may close issues if they don't receive a timely response when further information is sought or when additional questions are asked.

Labeling good first issue

Issues labeled as good first issue represent a curated list of easy contributions for new contributors. These issues are meant to help folks make their first contribution to open source and should not require excessive research or triaging on the contributor's part.

All good first issue should include one or more of the following:

  • A solution.
  • A suggestion for a solution.
  • Links to components or in which issue occurs.

Please be noted:

  • Issues that needs triage cannot be labeled as good first issues.
  • It is better to have no good first issue labeled issues than to have a good first issue confusing enough to deter a contributor from contributing.

Approaches and Best Practices for Getting Into Triage Contributions

  • Review the project's Contribution Guidelines if they are present. In a nutshell, commit to the community's standards and values.

  • Review the documentation; for most projects, it is just the README.md. Ensure you understand the key APIs, semantics, configurations, and use cases.

  • Writing your own test apps to reaffirm your understanding of the key functions might be helpful. This may identify some gaps in documentation; record those as they might be good PRs to open.

  • Skim through the issues backlog; identify low-hanging and mostly new issues. From those, attempt to recreate issues based on the OP (Original Poster) description and ask questions if required. No question is a bad question!

Removal of Triage Role

There are a few cases where members can be removed from the triage role:

If any of these happen, we will discuss them as a part of the triage portion of the regular Triage Team meetings. If you have questions, feel free to contact any Triage Team members.

Helpful Hints

  • When reviewing the list of open issues, there are some common types and suggested actions:
    • New/unattended issues or simple questions: A good place to start.
    • Hard bugs & ongoing discussions: Feel free to chime in and help.
    • Issues that imply gaps in the documentation: Open PRs with changes or help the user to do so.
  • For recurring issues, it is helpful to create functional examples to demonstrate (publish as gists or a repo).
  • Review and identify the maintainers. If necessary, mention one or more of them with @ if you are unsure what to do.
  • Ensure all your interactions are professional, welcoming, and respectful to the parties involved.
+ \ No newline at end of file diff --git a/contributors/contributors-guide-to-open-sauced/index.html b/contributors/contributors-guide-to-open-sauced/index.html index e60e95c9..50e0d7be 100644 --- a/contributors/contributors-guide-to-open-sauced/index.html +++ b/contributors/contributors-guide-to-open-sauced/index.html @@ -13,13 +13,13 @@ - +
-

Contributors Guide to OpenSauced

Introduction to OpenSauced for Contributors

OpenSauced is a platform dedicated to empowering you, the contributor, in your open source journey. With OpenSauced, you can find repositories to contribute to, track your contributions, gain insights into your favorite open source projects, and find new contributors to connect with.

Getting Started

To get started, you will need to create an account on OpenSauced. You can do this by visiting the app.opensauced.pizza and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard. The best place to get started is by creating your profile.

Creating Your Profile

Creating your profile is a great way to showcase your open source contributions, connect with other contributors and maintainers, and share during a job search. Here are some steps to help you get started:

  1. After creating your account, navigate to "Settings."

    settings

  2. Once there, you will be asked to add your name, bio, links to your social media accounts, timezone, and other forms of contact information.

    tip

    Don't forget to add your personal site, GitHub Sponsors URL, and LinkedIn so people can connect with you and learn more about your work.

  3. In the "Interests" section, select the various programming languages and topics you are interested in. Setting them helps us recommend open source projects that fit your interests.

  4. Manage your email preferences.

Your Profile

Your profile is a great resource for showcasing your contributions and sharing your open source work with others.

your profile

On your profile, you will see the "Highlights" tab, which you can learn more about in this section, and three other tabs:

  • Contributions: This tab includes a graph showing the number of PRs you have opened, the velocity of your PRs, and the number of repositories you have contributed to. Underneath the graph is a "Latest PRs" chart, which shows a list of current and recent PRs. This tab is helpful if you want to showcase a steady and consistent open source contribution experience.
  • Connections: For pro accounts, you can reach out to other contributors and maintainers to collaborate on projects or to learn from them.
  • Recommendations: This tab includes a list of open source projects that are chosen based on the programming languages you picked in the "Interests" section of your public profile. It is useful if you're looking for new projects to contribute to.

Explore: Finding Your Next Open Source Project

The "Explore" tab is a great place to start if you're looking for a new open source project to contribute to or want to find repositories for potential job opportunities. Here, you can find a list of open source projects and filter them by language, top repos, recent, most active, and more.

Once you've selected your filters, you'll be able to see the contributors, spam, and activity levels of the repository. Understanding a repository's activity level and PR velocity can help you determine if it's a good fit for you to contribute to and what to expect when you submit a PR.

For example, if you wanted to look for a JavaScript project to contribute to, you would select "JavaScript" from the language dropdown and "Most Active" from the filter dropdown to see the most active JavaScript projects on GitHub. If you want to keep track of the repositories you're interested in contributing to, you can select and add them to your Repository Insights Page.

Highlights: Connecting and Recognizing Contributions

Leveraging OpenSauced's Highlights feature is a great way for you to showcase your valuable contributions to open source projects. You can curate and share your achievements and milestones and bring visibility to your hard work.

The Highlights feature allows you to:

  • talk about issues that you raised,
  • share Dev.to blog posts that you've written,
  • display PRs that showcase your contributions.

Creating a New Highlight

There are two ways to create a new highlight:

  1. Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below).
  2. Choose from a list of suggestions (shown in orange below).

highlight suggestions

note

If you're adding a blog post, you'll need to associate it to a repository by clicking the "Add a repo" button.

Finally, it's time to add the details of your highlight. You can write the description yourself or use the auto-summarize button to generate one.

gif of creating a highlight

Writing an Effective Highlight

Sharing the story of your hard work is an opportunity to connect with the reader, which could include potential collaborators or recruiters. Here are some tips to help you write effective stories for your highlights:

Highlighting Issues

  1. Share your motivation: Briefly explain why you raised the issue. For example, "I'm passionate about improving accessibility because I believe everyone should have equal access to information."
  2. Summarize the issue: Briefly describe the issue you wrote so your readers have context. For example, "I raised an issue to add alt text to images in the project's 'About Us' page."
  3. Describe the impact: Briefly state how the resolution of the issue will improve the project. For example, "This will help people who use screen readers to understand the content of the images."

Highlighting PRs

  1. Describe the PR: Start with a clear summary of what your PR accomplishes. For example, "I added a new feature to the project's Chrome Extension that allows users to summarize content."
  2. Highlight your solution and its impact: Briefly describe the solution, any challenges you faced, or any part of the PR you're particularly proud of. For example, "Initially, I faced challenges with the API, but I was able to resolve them using a different endpoint."
  3. Reflect on your experience: Mention what you learned from working on the PR. For example, "I learned a lot about the Chrome Extension API and how to use it to create new features."

Highlighting Dev.to Blog Posts

  1. Describe the topic: Begin with an interesting blog post summary to help your peers and potential recruiters understand your writing.
  2. Discuss the inspiration: Explain why you wrote this blog post. Is it to guide others on improving their coding skills, raise awareness about an issue in the tech community, or display your progress in learning a new programming language?
  3. End with a call-to-action: Encourage readers to read and engage with the post, whether by commenting or sharing it with others on social media.

Repository Insights: Connecting Your Repositories

OpenSauced Repository Insights allows you to track open source projects you are interested in. You can use Repository Insights Pages to track repositories' growth, analyze work, and connect with others.

Why Create a Repository Insights Page

  • To track projects you're working on: Tracking projects you're working on can help you stay up-to-date with the latest activity, trends, and connect with other contributors.
  • To identify potential projects to contribute to: If you're looking for a new project to contribute to, you can use the Repository Insights feature to track active projects that are looking for contributors. You can use the "Explore" tab to find new projects to contribute to and track them with your Repository Insights page.
  • To network and engage with the community: Finding people to work and connect with can be challenging. You can connect with your network through the feature's "Contributors" tab.
  • To track the activity of a topic you're interested in: Keeping up with the latest trends and activity in a particular topic can be challenging. You can use the Repository Insights feature to track the activity of a specific topic and find new projects to contribute to. For example, you can create a Repository Insight Page for Active AI Repositories.
  • To track the activity of your favorite programming languages: If you're interested in tracking the activity of your favorite programming languages, you can use the Repository Insights feature to track the open source projects that are using them.
  • To aid in the job search: If you're looking for a job, you can use the Repository Insights feature to track the activity of the organizations you're interested in working on. This can help you understand the activity level of the repositories and the types of contributions being made, and even identify which company you want to contribute to.
  • Curating collections for interest groups: You can curate and share repositories focusing on sectors and programming languages that interest you.

Creating a New Repository Insight Page

To track the repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.

There are two ways to add repositories to your Repository Insight Page:

  1. Sync GitHub organization: Syncing your GitHub organizations is a good idea if you want to keep track of their open source project activities and trends.
  2. Connect individual repositories: Connecting individual repositories is a good idea if you want to keep track of the contributions of a specific repository or group of repositories.

sync Repository Insights gif

Using Your Repository Insights Page

Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them.

There are three tabs that provide you with more information on these repositories:

Repositories Dashboard

If you're looking for an active project to contribute to, this tab can help you as it contains information such as activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days. This information is also a good way to connect with others on the project or where to find support.

repositories tab

Contributors

The "Contributors" tab allows you to view more detailed information about other contributors, including activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days. This can be a great way to find others to collaborate with or recommend for jobs.

contributors insight list

tip

Want to learn more about your peers? You can select and add them to a Contributor Insight Page.

note

To learn and understand more about the data provided, see Understanding Repository Insights Data.

Activity

The "Activity" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced.

This information can help you find potential repositories to contribute to and peers to collaborate with or ask for mentorship.

activity graph

Contributor Insights: Connecting with Contributors

The Contributor Insights feature helps you connect with other contributors or learn more about what others are up to in open source. With this feature, you can categorize, watch, and check out different groups of contributors within open source projects.

What You can do with Contributor Insights?

There are many things you can do with this feature, but here are some ideas to get you started:

  • Track personal contributions: If you create a list of your personal contributions, you can track them and see how you're doing over time, as well as get a breakdown of the type of contributions you're making, including commits, created PRs, reviewed PRs, and created issues.
  • Learn about what other contributors are doing in open source: You can learn where other contributors are contributing, what they're working on, and how active they are in the open source community.
  • See who's using the OpenSauced Highlights feature: You can see who's using the Highlights feature and show them support by giving an emoji reaction.
  • Track contributors for job opportunities: If you're looking for a job, you can track the activity of the contributors you're interested in working with. This helps you understand the activity level of the repositories and the types of contributions being made, and you can even identify which company you want to contribute to.

Creating a New Contributor Insights Page

  1. Click the "+" next to "Insights" in your sidebar.
  2. Select "New Contributor Insight" to start a new Contributor Insight Page.
  3. Give your page a name.
  4. Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.
  5. Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan.

contribution sync gif

Using Your Contributor Insights Page

Once you have created your list, you will be redirected to your Contributor Insights Page. Here, you will see a dashboard with an overview of the contributors.

There are three tabs that provide you with more information on these repositories:

Overview

The "Overview" tab gives you a high-level view of the contributors in your list, including the total number of commits in the last 30 days and the types of contributors: Active, New, and Alumni.

Activity

The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they've contributed to, and how they compare to each other.

You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors.

list graph

Highlights

The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.

note

To learn and understand more about the data provided, see Understanding Contributor Insights Data.

Takeaways

  • Create Your Profile: Creating your profile is a great way to display your open source contributions, connect with other contributors and maintainers, and share during a job search.
  • Explore: The "Explore" tab is a great place to find new open source projects to contribute to.
  • Highlights: Leveraging OpenSauced's Highlights feature is a great way for you to showcase your valuable contributions to open source projects.
  • Repository Insights: OpenSauced Repository Insights feature allows you to track open source projects you are interested in.
  • Contributor Insights: The Contributor Insights feature helps you understand other contributors or track your own work in open source.

Conclusion

We hope this guide has helped you get started with OpenSauced and that you're excited to use the platform to connect with other contributors and maintainers, track your contributions, and find new open source projects to contribute to. If you have any questions or need help, please don't hesitate to reach out to us. We're here to help you succeed in your open source journey.

- +

Contributors Guide to OpenSauced

Introduction to OpenSauced for Contributors

OpenSauced is a platform dedicated to empowering you, the contributor, in your open source journey. With OpenSauced, you can find repositories to contribute to, track your contributions, gain insights into your favorite open source projects, and find new contributors to connect with.

Getting Started

To get started, you will need to create an account on OpenSauced. You can do this by visiting the app.opensauced.pizza and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard. The best place to get started is by creating your profile.

Creating Your Profile

Creating your profile is a great way to showcase your open source contributions, connect with other contributors and maintainers, and share during a job search. Here are some steps to help you get started:

  1. After creating your account, navigate to "Settings."

    settings

  2. Once there, you will be asked to add your name, bio, links to your social media accounts, timezone, and other forms of contact information.

    tip

    Don't forget to add your personal site, GitHub Sponsors URL, and LinkedIn so people can connect with you and learn more about your work.

  3. In the "Interests" section, select the various programming languages and topics you are interested in. Setting them helps us recommend open source projects that fit your interests.

  4. Manage your email preferences.

Your Profile

Your profile is a great resource for showcasing your contributions and sharing your open source work with others.

your profile

On your profile, you will see the "Highlights" tab, which you can learn more about in this section, and three other tabs:

  • Contributions: This tab includes a graph showing the number of PRs you have opened, the velocity of your PRs, and the number of repositories you have contributed to. Underneath the graph is a "Latest PRs" chart, which shows a list of current and recent PRs. This tab is helpful if you want to showcase a steady and consistent open source contribution experience.
  • Connections: For pro accounts, you can reach out to other contributors and maintainers to collaborate on projects or to learn from them.
  • Recommendations: This tab includes a list of open source projects that are chosen based on the programming languages you picked in the "Interests" section of your public profile. It is useful if you're looking for new projects to contribute to.

Explore: Finding Your Next Open Source Project

The "Explore" tab is a great place to start if you're looking for a new open source project to contribute to or want to find repositories for potential job opportunities. Here, you can find a list of open source projects and filter them by language, top repos, recent, most active, and more.

Once you've selected your filters, you'll be able to see the contributors, spam, and activity levels of the repository. Understanding a repository's activity level and PR velocity can help you determine if it's a good fit for you to contribute to and what to expect when you submit a PR.

For example, if you wanted to look for a JavaScript project to contribute to, you would select "JavaScript" from the language dropdown and "Most Active" from the filter dropdown to see the most active JavaScript projects on GitHub. If you want to keep track of the repositories you're interested in contributing to, you can select and add them to your Repository Insights Page.

Highlights: Connecting and Recognizing Contributions

Leveraging OpenSauced's Highlights feature is a great way for you to showcase your valuable contributions to open source projects. You can curate and share your achievements and milestones and bring visibility to your hard work.

The Highlights feature allows you to:

  • talk about issues that you raised,
  • share Dev.to blog posts that you've written,
  • display PRs that showcase your contributions.

Creating a New Highlight

There are two ways to create a new highlight:

  1. Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below).
  2. Choose from a list of suggestions (shown in orange below).

highlight suggestions

note

If you're adding a blog post, you'll need to associate it to a repository by clicking the "Add a repo" button.

Finally, it's time to add the details of your highlight. You can write the description yourself or use the auto-summarize button to generate one.

gif of creating a highlight

Writing an Effective Highlight

Sharing the story of your hard work is an opportunity to connect with the reader, which could include potential collaborators or recruiters. Here are some tips to help you write effective stories for your highlights:

Highlighting Issues

  1. Share your motivation: Briefly explain why you raised the issue. For example, "I'm passionate about improving accessibility because I believe everyone should have equal access to information."
  2. Summarize the issue: Briefly describe the issue you wrote so your readers have context. For example, "I raised an issue to add alt text to images in the project's 'About Us' page."
  3. Describe the impact: Briefly state how the resolution of the issue will improve the project. For example, "This will help people who use screen readers to understand the content of the images."

Highlighting PRs

  1. Describe the PR: Start with a clear summary of what your PR accomplishes. For example, "I added a new feature to the project's Chrome Extension that allows users to summarize content."
  2. Highlight your solution and its impact: Briefly describe the solution, any challenges you faced, or any part of the PR you're particularly proud of. For example, "Initially, I faced challenges with the API, but I was able to resolve them using a different endpoint."
  3. Reflect on your experience: Mention what you learned from working on the PR. For example, "I learned a lot about the Chrome Extension API and how to use it to create new features."

Highlighting Dev.to Blog Posts

  1. Describe the topic: Begin with an interesting blog post summary to help your peers and potential recruiters understand your writing.
  2. Discuss the inspiration: Explain why you wrote this blog post. Is it to guide others on improving their coding skills, raise awareness about an issue in the tech community, or display your progress in learning a new programming language?
  3. End with a call-to-action: Encourage readers to read and engage with the post, whether by commenting or sharing it with others on social media.

Repository Insights: Connecting Your Repositories

OpenSauced Repository Insights allows you to track open source projects you are interested in. You can use Repository Insights Pages to track repositories' growth, analyze work, and connect with others.

Why Create a Repository Insights Page

  • To track projects you're working on: Tracking projects you're working on can help you stay up-to-date with the latest activity, trends, and connect with other contributors.
  • To identify potential projects to contribute to: If you're looking for a new project to contribute to, you can use the Repository Insights feature to track active projects that are looking for contributors. You can use the "Explore" tab to find new projects to contribute to and track them with your Repository Insights page.
  • To network and engage with the community: Finding people to work and connect with can be challenging. You can connect with your network through the feature's "Contributors" tab.
  • To track the activity of a topic you're interested in: Keeping up with the latest trends and activity in a particular topic can be challenging. You can use the Repository Insights feature to track the activity of a specific topic and find new projects to contribute to. For example, you can create a Repository Insight Page for Active AI Repositories.
  • To track the activity of your favorite programming languages: If you're interested in tracking the activity of your favorite programming languages, you can use the Repository Insights feature to track the open source projects that are using them.
  • To aid in the job search: If you're looking for a job, you can use the Repository Insights feature to track the activity of the organizations you're interested in working on. This can help you understand the activity level of the repositories and the types of contributions being made, and even identify which company you want to contribute to.
  • Curating collections for interest groups: You can curate and share repositories focusing on sectors and programming languages that interest you.

Creating a New Repository Insight Page

To track the repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.

There are two ways to add repositories to your Repository Insight Page:

  1. Sync GitHub organization: Syncing your GitHub organizations is a good idea if you want to keep track of their open source project activities and trends.
  2. Connect individual repositories: Connecting individual repositories is a good idea if you want to keep track of the contributions of a specific repository or group of repositories.

sync Repository Insights gif

Using Your Repository Insights Page

Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them.

There are three tabs that provide you with more information on these repositories:

Repositories Dashboard

If you're looking for an active project to contribute to, this tab can help you as it contains information such as activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days. This information is also a good way to connect with others on the project or where to find support.

repositories tab

Contributors

The "Contributors" tab allows you to view more detailed information about other contributors, including activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days. This can be a great way to find others to collaborate with or recommend for jobs.

contributors insight list

tip

Want to learn more about your peers? You can select and add them to a Contributor Insight Page.

note

To learn and understand more about the data provided, see Understanding Repository Insights Data.

Activity

The "Activity" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced.

This information can help you find potential repositories to contribute to and peers to collaborate with or ask for mentorship.

activity graph

Contributor Insights: Connecting with Contributors

The Contributor Insights feature helps you connect with other contributors or learn more about what others are up to in open source. With this feature, you can categorize, watch, and check out different groups of contributors within open source projects.

What You can do with Contributor Insights?

There are many things you can do with this feature, but here are some ideas to get you started:

  • Track personal contributions: If you create a list of your personal contributions, you can track them and see how you're doing over time, as well as get a breakdown of the type of contributions you're making, including commits, created PRs, reviewed PRs, and created issues.
  • Learn about what other contributors are doing in open source: You can learn where other contributors are contributing, what they're working on, and how active they are in the open source community.
  • See who's using the OpenSauced Highlights feature: You can see who's using the Highlights feature and show them support by giving an emoji reaction.
  • Track contributors for job opportunities: If you're looking for a job, you can track the activity of the contributors you're interested in working with. This helps you understand the activity level of the repositories and the types of contributions being made, and you can even identify which company you want to contribute to.

Creating a New Contributor Insights Page

  1. Click the "+" next to "Insights" in your sidebar.
  2. Select "New Contributor Insight" to start a new Contributor Insight Page.
  3. Give your page a name.
  4. Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.
  5. Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan.

contribution sync gif

Using Your Contributor Insights Page

Once you have created your list, you will be redirected to your Contributor Insights Page. Here, you will see a dashboard with an overview of the contributors.

There are three tabs that provide you with more information on these repositories:

Overview

The "Overview" tab gives you a high-level view of the contributors in your list, including the total number of commits in the last 30 days and the types of contributors: Active, New, and Alumni.

Activity

The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they've contributed to, and how they compare to each other.

You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors.

list graph

Highlights

The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.

note

To learn and understand more about the data provided, see Understanding Contributor Insights Data.

Takeaways

  • Create Your Profile: Creating your profile is a great way to display your open source contributions, connect with other contributors and maintainers, and share during a job search.
  • Explore: The "Explore" tab is a great place to find new open source projects to contribute to.
  • Highlights: Leveraging OpenSauced's Highlights feature is a great way for you to showcase your valuable contributions to open source projects.
  • Repository Insights: OpenSauced Repository Insights feature allows you to track open source projects you are interested in.
  • Contributor Insights: The Contributor Insights feature helps you understand other contributors or track your own work in open source.

Conclusion

We hope this guide has helped you get started with OpenSauced and that you're excited to use the platform to connect with other contributors and maintainers, track your contributions, and find new open source projects to contribute to. If you have any questions or need help, please don't hesitate to reach out to us. We're here to help you succeed in your open source journey.

+ \ No newline at end of file diff --git a/features/connections/index.html b/features/connections/index.html index da17a59b..1b2ef197 100644 --- a/features/connections/index.html +++ b/features/connections/index.html @@ -13,13 +13,13 @@ - +
-

Grow Your Network with Our Connections Feature!

What are Connections?

Connections on OpenSauced serve as a way to build and nurture your professional network within the open source ecosystem. Imagine you're searching for experts in Artificial Intelligence using our Contributor Insights feature, and you come across several promising developers. What's next?

With Connections, you can now send a request to connect, bringing these experts into your professional circle for easy communication and collaboration.

connections demo

How do Connections Work?

  • Sending connection requests: Once you identify users you'd like to connect with, you can send them a connection request.
  • Acceptance: Upon acceptance of your connection request, both parties become 1st-degree connections.
  • Following highlights: After becoming 1st-degree connections, you can follow each other's highlights, keeping up-to-date with accomplishments, contributions, and other notable activities.
  • Contact information: Post-acceptance, you'll have access to contact information to foster direct communication and ongoing dialogue.

Are you interested? Navigate to OpenSauced, create your Pro account, and start building!

- +

Grow Your Network with Our Connections Feature!

What are Connections?

Connections on OpenSauced serve as a way to build and nurture your professional network within the open source ecosystem. Imagine you're searching for experts in Artificial Intelligence using our Contributor Insights feature, and you come across several promising developers. What's next?

With Connections, you can now send a request to connect, bringing these experts into your professional circle for easy communication and collaboration.

connections demo

How do Connections Work?

  • Sending connection requests: Once you identify users you'd like to connect with, you can send them a connection request.
  • Acceptance: Upon acceptance of your connection request, both parties become 1st-degree connections.
  • Following highlights: After becoming 1st-degree connections, you can follow each other's highlights, keeping up-to-date with accomplishments, contributions, and other notable activities.
  • Contact information: Post-acceptance, you'll have access to contact information to foster direct communication and ongoing dialogue.

Are you interested? Navigate to OpenSauced, create your Pro account, and start building!

+ \ No newline at end of file diff --git a/features/contributor-insights/index.html b/features/contributor-insights/index.html index 92801e76..09e1d3f5 100644 --- a/features/contributor-insights/index.html +++ b/features/contributor-insights/index.html @@ -13,13 +13,13 @@ - +
-

Organize and Monitor Your Contributors

The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions.

Monitor individual commit histories, track who is actively engaged, identify alumni or new contributors, and even compare the performance of contributors against each other. This encompasses a wide range of metrics such as code commits, created and reviewed pull requests (PRs), as well as issue creation and commenting.

Contributor Insights Page

How to Create a Contributor Insight Page

After logging in, navigate to "Insights" in the sidebar. Click the "+" next to it to be presented with options, and select "New Contributor Insight."

There are three ways to add a list:

  1. Explore Contributors: Use our explore tool to find contributors and create your list.
  2. Sync your GitHub Team: Connect to your GitHub to create a Contributor Insight Page from a team in your organization.
  3. Import your GitHub Following: Connect to your GitHub to create a Contributor Insight Page with all the contributors you follow.

Once your Contributor Insight Page is created, you'll be able to see an overview of all the contributors in your list, a graph of their activity, and a detailed breakdown of the contributors.

tip

If you're having trouble syncing your Organization or Team, check out the "Sync Your GitHub Team" section in our FAQs.

By default, your Contributor Insight Page is public. If your Contributor Insight Page is private (a PRO plan feature), only those with access to your Workspace will be able to view it.

- +

Organize and Monitor Your Contributors

The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions.

Monitor individual commit histories, track who is actively engaged, identify alumni or new contributors, and even compare the performance of contributors against each other. This encompasses a wide range of metrics such as code commits, created and reviewed pull requests (PRs), as well as issue creation and commenting.

Contributor Insights Page

How to Create a Contributor Insight Page

After logging in, navigate to "Insights" in the sidebar. Click the "+" next to it to be presented with options, and select "New Contributor Insight."

There are three ways to add a list:

  1. Explore Contributors: Use our explore tool to find contributors and create your list.
  2. Sync your GitHub Team: Connect to your GitHub to create a Contributor Insight Page from a team in your organization.
  3. Import your GitHub Following: Connect to your GitHub to create a Contributor Insight Page with all the contributors you follow.

Once your Contributor Insight Page is created, you'll be able to see an overview of all the contributors in your list, a graph of their activity, and a detailed breakdown of the contributors.

tip

If you're having trouble syncing your Organization or Team, check out the "Sync Your GitHub Team" section in our FAQs.

By default, your Contributor Insight Page is public. If your Contributor Insight Page is private (a PRO plan feature), only those with access to your Workspace will be able to view it.

+ \ No newline at end of file diff --git a/features/dev-card/index.html b/features/dev-card/index.html index 52b204b9..9219ca8f 100644 --- a/features/dev-card/index.html +++ b/features/dev-card/index.html @@ -13,13 +13,13 @@ - +
-

Showcase Your Open Source Stats with Your Dev Card

The Dev Card feature is what we like to call your "open source business card."

On the front of your card, you see your profile picture, username, the number of pull requests you have created, the number of repositories you contributed to, and a graph icon that describes your activity rate.

You'll see the back side of your card when you click it. It shows more information, including your profile's picture and headline, the number of pull requests you have created, the date of your first contribution on GitHub, activity rate, PR velocity rate, and a View Profile button that takes you to your dashboard.

front and back sides of a dev card

Whether you are just beginning your open source journey or a maintainer looking for more contributors and sponsors, you can share your Dev Card as a snapshot of your contributions, skills, and engagement in the open source community.

Eager to get your Dev Card? Here's how you can get yours today:

  1. Log in to your OpenSauced account.
  2. Navigate to your profile.
  3. Click the Dev Card icon on your profile image.

dev card icon on user profile

- +

Showcase Your Open Source Stats with Your Dev Card

The Dev Card feature is what we like to call your "open source business card."

On the front of your card, you see your profile picture, username, the number of pull requests you have created, the number of repositories you contributed to, and a graph icon that describes your activity rate.

You'll see the back side of your card when you click it. It shows more information, including your profile's picture and headline, the number of pull requests you have created, the date of your first contribution on GitHub, activity rate, PR velocity rate, and a View Profile button that takes you to your dashboard.

front and back sides of a dev card

Whether you are just beginning your open source journey or a maintainer looking for more contributors and sponsors, you can share your Dev Card as a snapshot of your contributions, skills, and engagement in the open source community.

Eager to get your Dev Card? Here's how you can get yours today:

  1. Log in to your OpenSauced account.
  2. Navigate to your profile.
  3. Click the Dev Card icon on your profile image.

dev card icon on user profile

+ \ No newline at end of file diff --git a/features/highlights/index.html b/features/highlights/index.html index 2a3001b4..3beb5eff 100644 --- a/features/highlights/index.html +++ b/features/highlights/index.html @@ -13,13 +13,13 @@ - +
-

Highlight Your Open Source Contributions

The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors.

There are currently three types of highlights you can add to your profile:

  • Dev.to blog post
  • Pull request
  • Issue

How to Add a Highlight

  • Go to OpenSauced's Highlights feed.
  • Click the "Post a highlight to show your work!" input.
  • Paste the URL to your blog post, pull request, or issue in the bottom input.
  • Either use our Auto-Summarize feature or write your own summary.

highlights demo

For more examples of highlights, go to the OpenSauced Highlights feed.

Eager to get started? Check out the Effectively Highlight Your Contribution section in our free "Intro to Open Source" course to learn more.

- +

Highlight Your Open Source Contributions

The Highlights feature is the place you can display your favorite open source contributions, share the story, and inspire others to join you in your open source journey. For maintainers, it's a great way to showcase your project and the issues that need support and attract new contributors.

There are currently three types of highlights you can add to your profile:

  • Dev.to blog post
  • Pull request
  • Issue

How to Add a Highlight

  • Go to OpenSauced's Highlights feed.
  • Click the "Post a highlight to show your work!" input.
  • Paste the URL to your blog post, pull request, or issue in the bottom input.
  • Either use our Auto-Summarize feature or write your own summary.

highlights demo

For more examples of highlights, go to the OpenSauced Highlights feed.

Eager to get started? Check out the Effectively Highlight Your Contribution section in our free "Intro to Open Source" course to learn more.

+ \ No newline at end of file diff --git a/features/repo-insights/index.html b/features/repo-insights/index.html index 8498d362..cba06948 100644 --- a/features/repo-insights/index.html +++ b/features/repo-insights/index.html @@ -13,13 +13,13 @@ - +
-

Insights into Open Source Repositories

The Repository Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of open source project's health and contributions. From contribution trends to community health, OpenSauced Repository Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.

insight-pages-demo

How to Use Repository Insights

Contributors

  • To track projects you're working on.
  • To identify potential projects to contribute to.
  • To discover other contributors to collaborate with.
  • To track the activity of a topic you're interested in.
  • To track the activity of your favorite programming languages.
  • To aid in the job search process.
tip

Check out our Contributors Guide to OpenSauced to learn more about how to create and use Repository Insights as a contributor.

Maintainers

  • To track the health of your project.
  • To identify contributors who are making an impact.
  • To find new contributors to support your project.
tip

Check out our Maintainers Guide to OpenSauced and our Understanding Repository Insights Data pages to learn more about how to create and use Repository Insights as a maintainer.

Sharing Your Repository Insights Page with Your Team

After you've created your Repository Insights Page, share it with your team.

Sharing this page with your team ensures that everyone is well-informed about the project's status and can collaborate more effectively. It fosters a collaborative environment where team members can align their efforts, make informed decisions, and collectively work toward the organization's success.

How to Share Repository Insights Page

This method gives view-only access to your Repository Insights Page.

  1. Navigate to your sidebar.
  2. Click the Repository Insight Page that you want to share.
  3. On the top right, click the "Share" button to copy the Repository Insight Page URL to the clipboard.
  4. Share the URL with your team members.

By default, your Repository Insights are public. If you want to make your Repository Insights private, you can upgrade your account to a PRO plan.

- +

Insights into Open Source Repositories

The Repository Insights feature is your one-stop solution for understanding the pulse of your open source projects and contributions. This feature is designed to provide a comprehensive view of open source project's health and contributions. From contribution trends to community health, OpenSauced Repository Insights helps you make data-driven decisions that align with your goals. It's not just about numbers; it's about providing data to help you make decisions that can define your approach to open source and tell the story of your project or contribution journey.

insight-pages-demo

How to Use Repository Insights

Contributors

  • To track projects you're working on.
  • To identify potential projects to contribute to.
  • To discover other contributors to collaborate with.
  • To track the activity of a topic you're interested in.
  • To track the activity of your favorite programming languages.
  • To aid in the job search process.
tip

Check out our Contributors Guide to OpenSauced to learn more about how to create and use Repository Insights as a contributor.

Maintainers

  • To track the health of your project.
  • To identify contributors who are making an impact.
  • To find new contributors to support your project.
tip

Check out our Maintainers Guide to OpenSauced and our Understanding Repository Insights Data pages to learn more about how to create and use Repository Insights as a maintainer.

Sharing Your Repository Insights Page with Your Team

After you've created your Repository Insights Page, share it with your team.

Sharing this page with your team ensures that everyone is well-informed about the project's status and can collaborate more effectively. It fosters a collaborative environment where team members can align their efforts, make informed decisions, and collectively work toward the organization's success.

How to Share Repository Insights Page

This method gives view-only access to your Repository Insights Page.

  1. Navigate to your sidebar.
  2. Click the Repository Insight Page that you want to share.
  3. On the top right, click the "Share" button to copy the Repository Insight Page URL to the clipboard.
  4. Share the URL with your team members.

By default, your Repository Insights are public. If you want to make your Repository Insights private, you can upgrade your account to a PRO plan.

+ \ No newline at end of file diff --git a/features/workspaces/index.html b/features/workspaces/index.html index 574e06f4..23e00e3c 100644 --- a/features/workspaces/index.html +++ b/features/workspaces/index.html @@ -13,13 +13,13 @@ - +
-

Share, Collaborate, and Track with Workspaces

In the OpenSauced app, your work unfolds within a Workspace: a virtual environment for managing information—whether for individual productivity, team collaboration, or company-wide operations. Workspaces serve as a centralized hub for sharing, collaborating on, and tracking multiple repositories and organizations and their contributors in one place. This feature is designed to streamline your open source involvement, making it more efficient and interconnected.

Understanding Workspaces

You can navigate your workspaces from the sidebar. Each workspace has its own dashboard, which includes the repositories you're tracking in the workspace.

Workspace Access

By default, all workspaces are public. This means that anyone with the link to your workspace can view it, including all of your Insight Pages in the workspace. If you want to make your workspace private, you can upgrade your account to a PRO plan.

The Sidebar

The expandable sidebar includes:

  • Options for creating and viewing workspaces.
  • Access to your Contributor and Repository Insights pages.
  • Links to support.

Sidebar

info

We recently had a naming change. The Contributors Insights feature was previously called Lists, and the Repositories Insights feature was previously called Insights.

Your Workspaces

In your workspace dashboards, you can create, view, and manage your workspaces.

Repositories Dashboard

Workspaces

Within the repositories dashboard, you can view the following metrics, which are over a period of thirty days by default:

  • Pull Requests: This includes the total opened and merged pull requests for the repositories included in your workspace, as well as the velocity of pull requests being merged.
  • Issues: This includes the total opened and closed issues for the repositories included in your workspace, as well as the velocity of issues being closed.
  • Engagement: This includes the total stars, forks, and activity ratio for the repositories included in your workspace.

How to Create or Access a Workspace

To create a workspace, start by accessing the Workspace switcher in the sidebar. From there, you can create a new workspace or view an existing one.

workspace switcher


note

Whenever you select "Home", you'll be taken to the last workspace you opened.

How to Add Repositories to a Workspace

If you're creating a new workspace, you'll have the option to add repositories at the time of creation.

Start by creating a workspace name, then click "Add repositories." You'll have three options for adding repositories:

  1. Search for Repositories: Use our search tool by adding an organization name, followed by the repository name, and add them to your workspace.
  2. Import a GitHub Organization: Connect to your GitHub organizations to create a workspace from an organization. (If you're having trouble with this, see the "Sync Your GitHub Team" section in our FAQs.)
  3. Import Repositories: Paste a list of repositories to add to your workspace.

Once your repositories are added, you'll be able to see them in your repository dashboard. You can also edit your workspace to add or remove repositories anytime.

Changing Workspaces

Anything you create in a workspace is specific to that workspace. When you switch workspaces, you'll see the Repository and Contributor Insights specific to that workspace.

How to Share a Workspace

You can share your workspace with others by copying the URL and sending it to them. If your workspace is private (a PRO plan feature), only those with access to the workspace will be able to view it.

Team Workspaces

Team workspaces are part of the PRO plan and are designed to help teams collaborate on and understand open source projects. Team workspaces are public by default. However, you can switch it to private in your settings so only team members can view the workspace.

By upgrading to a team workspace, you'll have unlimited Contributor and Repository Insights, as well as the ability to toggle between private and public visibility.

info

The visibility of your Insights Pages is determined by the visibility of the workspace. If your workspace is public, your insights will be public. If your workspace is private, your insights will be private.

You can add someone to your workspace by clicking on the "Edit" button located at the top right of the workspace dashboard and entering the username of the workspace member you would like to add.

Add People

Once you add a member to a workspace, they will be able to view the workspace and its contents. You will also be able to edit their permissions for the workspace, including owner, editor, or viewer permissions. This workspace will now appear in their workspace switcher.

- +

Share, Collaborate, and Track with Workspaces

In the OpenSauced app, your work unfolds within a Workspace: a virtual environment for managing information—whether for individual productivity, team collaboration, or company-wide operations. Workspaces serve as a centralized hub for sharing, collaborating on, and tracking multiple repositories and organizations and their contributors in one place. This feature is designed to streamline your open source involvement, making it more efficient and interconnected.

Understanding Workspaces

You can navigate your workspaces from the sidebar. Each workspace has its own dashboard, which includes the repositories you're tracking in the workspace.

Workspace Access

By default, all workspaces are public. This means that anyone with the link to your workspace can view it, including all of your Insight Pages in the workspace. If you want to make your workspace private, you can upgrade your account to a PRO plan.

The Sidebar

The expandable sidebar includes:

  • Options for creating and viewing workspaces.
  • Access to your Contributor and Repository Insights pages.
  • Links to support.

Sidebar

info

We recently had a naming change. The Contributors Insights feature was previously called Lists, and the Repositories Insights feature was previously called Insights.

Your Workspaces

In your workspace dashboards, you can create, view, and manage your workspaces.

Repositories Dashboard

Workspaces

Within the repositories dashboard, you can view the following metrics, which are over a period of thirty days by default:

  • Pull Requests: This includes the total opened and merged pull requests for the repositories included in your workspace, as well as the velocity of pull requests being merged.
  • Issues: This includes the total opened and closed issues for the repositories included in your workspace, as well as the velocity of issues being closed.
  • Engagement: This includes the total stars, forks, and activity ratio for the repositories included in your workspace.

How to Create or Access a Workspace

To create a workspace, start by accessing the Workspace switcher in the sidebar. From there, you can create a new workspace or view an existing one.

workspace switcher


note

Whenever you select "Home", you'll be taken to the last workspace you opened.

How to Add Repositories to a Workspace

If you're creating a new workspace, you'll have the option to add repositories at the time of creation.

Start by creating a workspace name, then click "Add repositories." You'll have three options for adding repositories:

  1. Search for Repositories: Use our search tool by adding an organization name, followed by the repository name, and add them to your workspace.
  2. Import a GitHub Organization: Connect to your GitHub organizations to create a workspace from an organization. (If you're having trouble with this, see the "Sync Your GitHub Team" section in our FAQs.)
  3. Import Repositories: Paste a list of repositories to add to your workspace.

Once your repositories are added, you'll be able to see them in your repository dashboard. You can also edit your workspace to add or remove repositories anytime.

Changing Workspaces

Anything you create in a workspace is specific to that workspace. When you switch workspaces, you'll see the Repository and Contributor Insights specific to that workspace.

How to Share a Workspace

You can share your workspace with others by copying the URL and sending it to them. If your workspace is private (a PRO plan feature), only those with access to the workspace will be able to view it.

Team Workspaces

Team workspaces are part of the PRO plan and are designed to help teams collaborate on and understand open source projects. Team workspaces are public by default. However, you can switch it to private in your settings so only team members can view the workspace.

By upgrading to a team workspace, you'll have unlimited Contributor and Repository Insights, as well as the ability to toggle between private and public visibility.

info

The visibility of your Insights Pages is determined by the visibility of the workspace. If your workspace is public, your insights will be public. If your workspace is private, your insights will be private.

You can add someone to your workspace by clicking on the "Edit" button located at the top right of the workspace dashboard and entering the username of the workspace member you would like to add.

Add People

Once you add a member to a workspace, they will be able to view the workspace and its contents. You will also be able to edit their permissions for the workspace, including owner, editor, or viewer permissions. This workspace will now appear in their workspace switcher.

+ \ No newline at end of file diff --git a/img/workspace-access.png b/img/workspace-access.png new file mode 100644 index 00000000..ea5cbcbd Binary files /dev/null and b/img/workspace-access.png differ diff --git a/img/workspace-sidebar.png b/img/workspace-sidebar.png index 61bfdef7..6103b394 100644 Binary files a/img/workspace-sidebar.png and b/img/workspace-sidebar.png differ diff --git a/img/workspace.png b/img/workspace.png index b51acacb..52235ade 100644 Binary files a/img/workspace.png and b/img/workspace.png differ diff --git a/index.html b/index.html index cf917c50..cc4a22fa 100644 --- a/index.html +++ b/index.html @@ -13,13 +13,13 @@ - +
-

Introduction to OpenSauced 🍕

Example banner

info

You can watch "What is OpenSauced?" on YouTube.

OpenSauced is a platform dedicated to empowering maintainers and teams and redefining the meaning of open source contributions. We believe that every contribution, big or small, is valuable and deserves to be recognized. Our platform provides a way to track contributions through a GitHub-powered dashboard, allowing users to showcase their contributions and gain insights into their open source projects.

Our mission is to:

  • Empower maintainers and teams: Track and showcase your contributions and projects, connect with contributors, collaborate with your team, and gain insights into your open source projects.
  • Support contributors: Showcase your contributions, tell your story, connect with new projects and other contributors, and gain insights into your open source journey.
  • Highlight success: Showcase your contributions with our shareable Highlights, inspiring others to embark on their open source journey.
  • Unlock Insights: Understand the health of your project, track contributions, and make data-driven decisions with OpenSauced Insights.
- +

Introduction to OpenSauced 🍕

Example banner

info

You can watch "What is OpenSauced?" on YouTube.

OpenSauced is a platform dedicated to empowering maintainers and teams and redefining the meaning of open source contributions. We believe that every contribution, big or small, is valuable and deserves to be recognized. Our platform provides a way to track contributions through a GitHub-powered dashboard, allowing users to showcase their contributions and gain insights into their open source projects.

Our mission is to:

  • Empower maintainers and teams: Track and showcase your contributions and projects, connect with contributors, collaborate with your team, and gain insights into your open source projects.
  • Support contributors: Showcase your contributions, tell your story, connect with new projects and other contributors, and gain insights into your open source journey.
  • Highlight success: Showcase your contributions with our shareable Highlights, inspiring others to embark on their open source journey.
  • Unlock Insights: Understand the health of your project, track contributions, and make data-driven decisions with OpenSauced Insights.
+ \ No newline at end of file diff --git a/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/index.html b/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/index.html index 8c63382a..51768fb7 100644 --- a/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/index.html +++ b/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/index.html @@ -13,13 +13,13 @@ - +
-

How to Translate Open Source Contributions into Career Opportunities

It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.

In this guide, we have created a table that you can use to categorize and keep detailed notes for each contribution you have made. We will break down each table component and talk about how to use these in your resume and job profile. You can see a complete example at the end of this guide.

Personal Information

In this section of the table, you can include information like your name, email, GitHub profile, LinkedIn profile, OpenSauced profile, blog, etc. When it comes to professional profiles, consider which profiles you want to show off to employers that highlight your skills and experience relevant to the types of jobs you are interested in.

SectionDetails
Personal Information
Name
Contact Information
LinkedIn
GitHub profile
OpenSauced profile

Career Goals

If you are new to the industry, you will want to list which area of tech you are interested in pursuing. If you are looking for your next tech role, you can list your current role or the role you wish to switch to.

If you want to level up your role, you should list the key skills required for that next level in this section. You should also link to a few job posts to get an idea of key skills are required for that next level you are working towards.

SectionDetails
Career Goals
Desired Job Role[Your desired role]
Desired Job level[Junior, Mid, Senior, etc.]
Key Skills to Develop[Skills to focus on]
Industry/Area of Interest[Frontend, Backend, Fullstack, ML, AI, etc.]
Example Job Links[Link to desired jobs]

Matching Job Requirements to Your Current Skills

A common mistake for many job seekers is to send out the same resume template to all jobs. But in today's tech market, it is important to stand out and tailor your resume to match your skills with the requirements listed.

In the previous section, you identified desired roles and key skills needed for those jobs. When you are reading through job descriptions, you will want to identify key skills that are repeatedly mentioned and add that to your career goals section.

As you fill out the remaining sections for project contributions, check to see if the contributions match the common skills requested in those jobs. If not, then you have just identified a skill gap and will need to find projects and issues that will allow you to strengthen those skills.

Finding Open Source Projects to Contribute to

After you have filled out the career section of the table, you will want to find open source projects that align with your goals. You can use the explore feature on OpenSauced to explore new repositories in a variety of topics like JavaScript, Python, and Machine Learning.

Explore Machine Learning projects in OpenSauced

Finding a good project to contribute to takes time. So, make sure to look at the frequency of contributions to the project and the types of issues and features the project needs help with. If it aligns with your career goals, then start off with smaller issues before moving to larger features. You will also want to join the project's community chat room or Discord channel to connect with other contributors and core team members of the project.

Open Source Project Contribution

In this next section, you will want to list your meaningful contributions to different open source projects. This can include documentation, code features, bug fixes, etc. Remember that you will want to list out meaningful contributions that match the goals you laid out earlier.

Basic Project Information

For each project contribution, you will want to list the project name and the PR and issue links. Then, describe in a few short sentences why you chose this project and how it will help you with your career goals.

SectionDetails
Project Name[Project Name]
Project URL[Project URL]
Why This Project?[Reasons for choosing this project]
Type of Contribution[Code, documentation, community support, etc.]

Learn and Development

Once your contribution has been approved and merged into the project, you will want to reflect on what you have learned during this process. What new skills or technologies did you learn while working on this issue? What challenges did you face? How did you interact with the community when you needed clarification on an issue or help with the PR?

Keeping track of this information is helpful because you can reference these experiences later when crafting your resume. Potential employers will want to see how you work with others, solve problems, and deliver solutions in a project.

Feel free to link to the PR and issue discussions as references on how you worked with contributors in this project.

SectionDetails
Learning and Development
New Skills Learned[List of new skills]
Challenges Overcome[Challenges faced and resolved]
Community Interaction[Meetups, Discussions, etc.]

Contribution Tracking

For each project contribution, you will want to list the date, a brief summary of the issue, and how you solved it. Also, list any acknowledgments you received from other contributors or core team members on the project because it highlights your impact.

SectionDetails
Contribution Tracking
Date[Date of contribution]
Contribution Summary[Summary of contribution with links]
Feedback Received/Milestones Achieved[Feedback and achievements]

Using the Highlights Feature to Track Your Contributions

The Highlights feature is where you can display your favorite open source contributions and share your open source story.

OpenSauced Highlights

You can use this feature to help you track the open source contributions you are most proud of and share your accomplishments with your network. All your highlights will appear on your OpenSauced profile. So, sharing your profile is another way to let potential employers see the types of contributions you've made and the highlights you've identified as the most important.

Using the Contributor Insight Feature to Follow People

The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects.

You can use this feature to create a list of people you interacted with during your open source work. If you continually work with the same individuals, they can act as referrals and references for jobs.

Contributor Insights can also be used to track other people in your network to reach out to about their contributions.

Contributor Insights page

Using the Repository Insights Feature to Track the Repositories You Contributed to

The Repository Insights feature is a comprehensive view of a project's health and individual contributions. You can use it to track the repositories you contributed to or to track repositories of open source companies that are hiring.

insight-pages-demo

Networking and Professional Development

Some larger features can lead to networking and other professional development opportunities, like speaking at meetups or writing for tech publications. It is important that you list out who you mainly corresponded with for each contribution and any opportunities that came from this contribution.

If you have corresponded with the same core contributors and maintainers over the past few contributions, try reaching out about collaborating on other projects. You never know where an opportunity will lead.

SectionDetails
Networking and Professional Development
Contacts Made[Contacts made and their roles]
Insights Gained from Networking[What you learned from networking]
Future Networking Opportunities[Planned networking activities]

Using Your OpenSauced Dev Card for Networking

Your OpenSauced Dev Card serves as your "open source business card" to showcase all of your recent open source activities. You will find recent activity concerning the projects you contribute to, the frequency of PRs, and projects you are interested in.

You can easily share your Dev Card on social media platforms like X/Twitter and LinkedIn to gain attention from potential recruiters and hiring managers.

OpenSauced Dev card

Reflection and Next Steps

In this section, you will want to reflect on what went well with this contribution and the areas you struggled with.

Tying these reflections back to your career goals and desired job roles you defined earlier is important. If you are weaker in skills that are required for the jobs you are seeking, use future open source contributions as a way to strengthen these skills.

SectionDetails
Reflection and Next Steps
Key Takeaways from This Project[What you learned]
Areas for Improvement[Areas to work on for future projects]
Next Project/Contribution Goal[Your next Goal in open source contribution]

Using the Highlights Feature to Update Your Professional Profile

After each contribution, you will want to update your LinkedIn profile and resume to highlight your recent achievements. Many recruiters and hiring managers are looking for talented individuals on LinkedIn, so it is important to keep your profile up to date on your recent accomplishments.

The Highlights feature allows you to post about your recent open source contributions on OpenSauced and share them with other social media outlets like Twitter and LinkedIn.

OpenSauced Highlights Feature

SectionDetails
Resume and Professional Profile Update
Updates Made to Resume/LinkedIn[Details of updates]
Key Accomplishments Highlighted[Key points highlighted]
Future Plans for Profile Enhancement[Plans for further enhancing your profile]

Example Chart for Frontend Developer

SectionDetails
Personal Information
NameJane Smith
Contact Informationjane.smith@email.com
Professional Profile (LinkedIn/GitHub/OpenSauced profile)LinkedIn, GitHub, OpenSauced
Career Goals
Desired Job RoleFrontend Developer
Key Skills to DevelopReact.js, CSS-in-JS, Web Accessibility
Industry/Area of InterestWeb Development, UI/UX Design
Open Source Project Contribution No.1
Project NameAwesome React Components
Project URLGitHub Repository, OpenSauced Insight Page
Why This Project?Interested in learning about creating reusable UI components.
Type of ContributionImplemented a new responsive carousel component.
Learning and Development
New Skills LearnedStyled Components, Carousel Design Patterns
Challenges OvercomeOvercame performance issues with large datasets.
Community InteractionParticipated in design discussions on the project's Discord channel.
Contribution Tracking
Date2023-03-10
Contribution SummaryPull Request #456
Feedback Received/Milestones AchievedPositive feedback on the elegant design; milestone: merged into the main branch.
Networking and Professional Development
Contacts MadeConnected with project maintainers and frontend enthusiasts.
Repository Insights Gained from NetworkingLearned about upcoming trends in frontend development.
Future Networking OpportunitiesPlanning to attend the project's monthly virtual meetup.
Reflection and Next Steps
Key Takeaways from This ProjectImproved skills in component design and collaboration.
Areas for ImprovementIntend to deepen knowledge in state management with Redux.
Next Project/Contribution GoalContribute to a project focused on enhancing web accessibility.
Resume and Professional Profile Update
Updates Made to Resume/LinkedInSuccessfully implemented a responsive carousel component, enhancing user experience and receiving positive feedback. Demonstrated expertise in React.js and CSS-in-JS.
Key Accomplishments HighlightedHighlighted successful implementation of the responsive carousel.
Future Plans for Profile EnhancementAttend frontend development conferences and workshops.

Additional Resources

If you're looking for more resources about the job hunt, check out these OpenSauced posts:

- +

How to Translate Open Source Contributions into Career Opportunities

It is important to keep track of your open source contributions and show the impact you have left on the projects and organizations. By organizing your work, you will be able to talk about these meaningful contributions on your resume and in job interviews.

In this guide, we have created a table that you can use to categorize and keep detailed notes for each contribution you have made. We will break down each table component and talk about how to use these in your resume and job profile. You can see a complete example at the end of this guide.

Personal Information

In this section of the table, you can include information like your name, email, GitHub profile, LinkedIn profile, OpenSauced profile, blog, etc. When it comes to professional profiles, consider which profiles you want to show off to employers that highlight your skills and experience relevant to the types of jobs you are interested in.

SectionDetails
Personal Information
Name
Contact Information
LinkedIn
GitHub profile
OpenSauced profile

Career Goals

If you are new to the industry, you will want to list which area of tech you are interested in pursuing. If you are looking for your next tech role, you can list your current role or the role you wish to switch to.

If you want to level up your role, you should list the key skills required for that next level in this section. You should also link to a few job posts to get an idea of key skills are required for that next level you are working towards.

SectionDetails
Career Goals
Desired Job Role[Your desired role]
Desired Job level[Junior, Mid, Senior, etc.]
Key Skills to Develop[Skills to focus on]
Industry/Area of Interest[Frontend, Backend, Fullstack, ML, AI, etc.]
Example Job Links[Link to desired jobs]

Matching Job Requirements to Your Current Skills

A common mistake for many job seekers is to send out the same resume template to all jobs. But in today's tech market, it is important to stand out and tailor your resume to match your skills with the requirements listed.

In the previous section, you identified desired roles and key skills needed for those jobs. When you are reading through job descriptions, you will want to identify key skills that are repeatedly mentioned and add that to your career goals section.

As you fill out the remaining sections for project contributions, check to see if the contributions match the common skills requested in those jobs. If not, then you have just identified a skill gap and will need to find projects and issues that will allow you to strengthen those skills.

Finding Open Source Projects to Contribute to

After you have filled out the career section of the table, you will want to find open source projects that align with your goals. You can use the explore feature on OpenSauced to explore new repositories in a variety of topics like JavaScript, Python, and Machine Learning.

Explore Machine Learning projects in OpenSauced

Finding a good project to contribute to takes time. So, make sure to look at the frequency of contributions to the project and the types of issues and features the project needs help with. If it aligns with your career goals, then start off with smaller issues before moving to larger features. You will also want to join the project's community chat room or Discord channel to connect with other contributors and core team members of the project.

Open Source Project Contribution

In this next section, you will want to list your meaningful contributions to different open source projects. This can include documentation, code features, bug fixes, etc. Remember that you will want to list out meaningful contributions that match the goals you laid out earlier.

Basic Project Information

For each project contribution, you will want to list the project name and the PR and issue links. Then, describe in a few short sentences why you chose this project and how it will help you with your career goals.

SectionDetails
Project Name[Project Name]
Project URL[Project URL]
Why This Project?[Reasons for choosing this project]
Type of Contribution[Code, documentation, community support, etc.]

Learn and Development

Once your contribution has been approved and merged into the project, you will want to reflect on what you have learned during this process. What new skills or technologies did you learn while working on this issue? What challenges did you face? How did you interact with the community when you needed clarification on an issue or help with the PR?

Keeping track of this information is helpful because you can reference these experiences later when crafting your resume. Potential employers will want to see how you work with others, solve problems, and deliver solutions in a project.

Feel free to link to the PR and issue discussions as references on how you worked with contributors in this project.

SectionDetails
Learning and Development
New Skills Learned[List of new skills]
Challenges Overcome[Challenges faced and resolved]
Community Interaction[Meetups, Discussions, etc.]

Contribution Tracking

For each project contribution, you will want to list the date, a brief summary of the issue, and how you solved it. Also, list any acknowledgments you received from other contributors or core team members on the project because it highlights your impact.

SectionDetails
Contribution Tracking
Date[Date of contribution]
Contribution Summary[Summary of contribution with links]
Feedback Received/Milestones Achieved[Feedback and achievements]

Using the Highlights Feature to Track Your Contributions

The Highlights feature is where you can display your favorite open source contributions and share your open source story.

OpenSauced Highlights

You can use this feature to help you track the open source contributions you are most proud of and share your accomplishments with your network. All your highlights will appear on your OpenSauced profile. So, sharing your profile is another way to let potential employers see the types of contributions you've made and the highlights you've identified as the most important.

Using the Contributor Insight Feature to Follow People

The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects.

You can use this feature to create a list of people you interacted with during your open source work. If you continually work with the same individuals, they can act as referrals and references for jobs.

Contributor Insights can also be used to track other people in your network to reach out to about their contributions.

Contributor Insights page

Using the Repository Insights Feature to Track the Repositories You Contributed to

The Repository Insights feature is a comprehensive view of a project's health and individual contributions. You can use it to track the repositories you contributed to or to track repositories of open source companies that are hiring.

insight-pages-demo

Networking and Professional Development

Some larger features can lead to networking and other professional development opportunities, like speaking at meetups or writing for tech publications. It is important that you list out who you mainly corresponded with for each contribution and any opportunities that came from this contribution.

If you have corresponded with the same core contributors and maintainers over the past few contributions, try reaching out about collaborating on other projects. You never know where an opportunity will lead.

SectionDetails
Networking and Professional Development
Contacts Made[Contacts made and their roles]
Insights Gained from Networking[What you learned from networking]
Future Networking Opportunities[Planned networking activities]

Using Your OpenSauced Dev Card for Networking

Your OpenSauced Dev Card serves as your "open source business card" to showcase all of your recent open source activities. You will find recent activity concerning the projects you contribute to, the frequency of PRs, and projects you are interested in.

You can easily share your Dev Card on social media platforms like X/Twitter and LinkedIn to gain attention from potential recruiters and hiring managers.

OpenSauced Dev card

Reflection and Next Steps

In this section, you will want to reflect on what went well with this contribution and the areas you struggled with.

Tying these reflections back to your career goals and desired job roles you defined earlier is important. If you are weaker in skills that are required for the jobs you are seeking, use future open source contributions as a way to strengthen these skills.

SectionDetails
Reflection and Next Steps
Key Takeaways from This Project[What you learned]
Areas for Improvement[Areas to work on for future projects]
Next Project/Contribution Goal[Your next Goal in open source contribution]

Using the Highlights Feature to Update Your Professional Profile

After each contribution, you will want to update your LinkedIn profile and resume to highlight your recent achievements. Many recruiters and hiring managers are looking for talented individuals on LinkedIn, so it is important to keep your profile up to date on your recent accomplishments.

The Highlights feature allows you to post about your recent open source contributions on OpenSauced and share them with other social media outlets like Twitter and LinkedIn.

OpenSauced Highlights Feature

SectionDetails
Resume and Professional Profile Update
Updates Made to Resume/LinkedIn[Details of updates]
Key Accomplishments Highlighted[Key points highlighted]
Future Plans for Profile Enhancement[Plans for further enhancing your profile]

Example Chart for Frontend Developer

SectionDetails
Personal Information
NameJane Smith
Contact Informationjane.smith@email.com
Professional Profile (LinkedIn/GitHub/OpenSauced profile)LinkedIn, GitHub, OpenSauced
Career Goals
Desired Job RoleFrontend Developer
Key Skills to DevelopReact.js, CSS-in-JS, Web Accessibility
Industry/Area of InterestWeb Development, UI/UX Design
Open Source Project Contribution No.1
Project NameAwesome React Components
Project URLGitHub Repository, OpenSauced Insight Page
Why This Project?Interested in learning about creating reusable UI components.
Type of ContributionImplemented a new responsive carousel component.
Learning and Development
New Skills LearnedStyled Components, Carousel Design Patterns
Challenges OvercomeOvercame performance issues with large datasets.
Community InteractionParticipated in design discussions on the project's Discord channel.
Contribution Tracking
Date2023-03-10
Contribution SummaryPull Request #456
Feedback Received/Milestones AchievedPositive feedback on the elegant design; milestone: merged into the main branch.
Networking and Professional Development
Contacts MadeConnected with project maintainers and frontend enthusiasts.
Repository Insights Gained from NetworkingLearned about upcoming trends in frontend development.
Future Networking OpportunitiesPlanning to attend the project's monthly virtual meetup.
Reflection and Next Steps
Key Takeaways from This ProjectImproved skills in component design and collaboration.
Areas for ImprovementIntend to deepen knowledge in state management with Redux.
Next Project/Contribution GoalContribute to a project focused on enhancing web accessibility.
Resume and Professional Profile Update
Updates Made to Resume/LinkedInSuccessfully implemented a responsive carousel component, enhancing user experience and receiving positive feedback. Demonstrated expertise in React.js and CSS-in-JS.
Key Accomplishments HighlightedHighlighted successful implementation of the responsive carousel.
Future Plans for Profile EnhancementAttend frontend development conferences and workshops.

Additional Resources

If you're looking for more resources about the job hunt, check out these OpenSauced posts:

+ \ No newline at end of file diff --git a/job-seekers-guide/job-seekers-guide-introduction/index.html b/job-seekers-guide/job-seekers-guide-introduction/index.html index aa0e2e8e..d85b0f92 100644 --- a/job-seekers-guide/job-seekers-guide-introduction/index.html +++ b/job-seekers-guide/job-seekers-guide-introduction/index.html @@ -13,13 +13,13 @@ - +
-

Learn How to Land a Tech Job Using OpenSauced

When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through open source contributions.

Open source provides you the opportunity to showcase your code, documentation, communication, and collaboration skills to potential employers. You also have the ability to grow your professional network and build real connections within the tech industry through open source.

OpenSauced can help you craft an open source profile that is attractive to hiring managers and recruiters and help you land that next role.

In this guide, you will learn how to use OpenSauced features like your personal Dev Card, Highlights, Contributor Insights, and Repository Insights to showcase your open source work and build connections to help you land a job.

- +

Learn How to Land a Tech Job Using OpenSauced

When you are looking for a tech job, it is important to stand out amongst the sea of candidates. One great way to stand out and showcase your skills is through open source contributions.

Open source provides you the opportunity to showcase your code, documentation, communication, and collaboration skills to potential employers. You also have the ability to grow your professional network and build real connections within the tech industry through open source.

OpenSauced can help you craft an open source profile that is attractive to hiring managers and recruiters and help you land that next role.

In this guide, you will learn how to use OpenSauced features like your personal Dev Card, Highlights, Contributor Insights, and Repository Insights to showcase your open source work and build connections to help you land a job.

+ \ No newline at end of file diff --git a/maintainers/maintainers-guide-to-open-sauced/index.html b/maintainers/maintainers-guide-to-open-sauced/index.html index 62f54a12..92ff18bf 100644 --- a/maintainers/maintainers-guide-to-open-sauced/index.html +++ b/maintainers/maintainers-guide-to-open-sauced/index.html @@ -13,13 +13,13 @@ - +
-

Maintainers Guide to OpenSauced

Introduction to OpenSauced for Maintainers

OpenSauced is a platform dedicated to empowering maintainers and redefining open source contributions. We offer a GitHub-powered dashboard for tracking contributions and gaining insights into your open source projects. You can customize your Repository Insights and Contributor Insights with the repositories you choose and the contributors you want to see.

Getting Started

To get started, you will need to create an account on OpenSauced. You can do this by visiting the app.opensauced.pizza and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard.

Repository Insights: Connecting Your Repositories

OpenSauced Repository Insights provides maintainers with a visual representation of their project's health and contributor engagement. It offers real-time data and analytics to understand contribution patterns, identify key contributors, and measure the project's growth. Repository Insights can help you assess team activity, understand when bottlenecks occur, identify where resource allocation is needed, plan and identify key contributors, understand alumni contributors, or spot emerging trends.

The Repository Insights feature allows you to:

  • track the contributions of a specific team, a specific repository, or a group of repositories,
  • view the number of PRs that are open, closed, in draft, and merged,
  • view the average number of days it takes for a PR to be merged (PR velocity),
  • identify the top contributors to your project,
  • identify the current activity level and trends in the activity of your contributors.

Creating a New Repository Insight Page

To connect and track your repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.

There are two ways to add repositories to your Repository Insight Page:

  1. Sync GitHub organization. Syncing your GitHub organization is a good idea for someone who seeks a comprehensive, unified view of your organization's open source project activities and trends, enabling streamlined management, strategic decision-making, and efficient allocation of resources across multiple repositories.
  2. Connect individual repositories. Connecting individual repositories is a good idea for someone who wants to track the contributions of a specific repository or group of repositories. For example, you might want to track projects you maintain that are not under the same organization, or you may want to track projects that align with your team's objectives.

sync team gif

Using Your Repository Insights Page

Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them.

There are three tabs that provide you with more information on these repositories:

Repositories Dashboard

This tab allows you to view more detailed information on each repository, including activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days.

note

To learn and understand more about the data provided, see Understanding Repository Insights Data.

repositories tab

Contributors

The "Contributors" tab allows you to view more detailed information on each contributor, including their activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days.

You can select and add your contributors to a Contributor Insight Page to learn more about them.

There are two ways to add selected contributors to a Contributor Insight Page:

  1. Create a new list.
  2. Add them to an existing list.

contributors insight list

Activity

The "Activity" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced.

You can use the information in this tab to help you learn about their engagement and general interests. It will be helpful if you want to collaborate with them or consider recruiting a maintainer for your project.

activity graph

Contributor Insights: Connecting with Contributors

OpenSauced Contributor Insights feature allows you to categorize, monitor, and analyze various groups of contributors. You can use Contributor Insights to track the contributions of a specific team, a specific repository, or a group of repositories. This feature offers granular insights into each contributor's activities and contributions, helping maintainers to track individual contribution histories, identify active engagement, recognize new or alumni contributors, and compare the performance of different contributors.

The Contributor Insights features allow you to:

  • track the commits and PRs of the contributors on your list,
  • filter your contributors by their activity level, including most active, new, and alumni,
  • view the repositories your contributors have contributed to, the top programming languages they've used, and their time zones.

Why Create a Contributor Insight Page?

There are many reasons to create a Contributor Insight Page, but here's some inspiration to get you started:

  • Interacting contributors: Keep tabs on contributors actively interacting with your repository.
  • Organization's developers: Monitor the contributions and performance of your internal team.
  • VIP contributors: Highlight and track contributors you've identified as key maintainers or significant contributors.
  • Sales leads: Identify contributors whose engagement could potentially be turned into sales opportunities.
  • Potential hires: Observe contributors who exhibit skill and commitment, making them prime candidates for hiring.
  • Alumni contributors: Keep an eye on contributors who have decreased their engagement or left the project.

Creating a New Contributor Insight Page

  1. Click the "+" next to "Insights" in the sidebar.

  2. Click "New Contributor Insight." You will be redirected to a page where you can create your new Contributor Insight Page.

    New Contributor Insight Page

  3. Give your page a name.

  4. Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.

  5. Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan.

    team sync gif

Using Your Contributor Insight Page

Once you have created your page, you will be redirected to your Contributor Insight Page. Here, you will see a dashboard with an overview of the contributors.

There are three tabs that provide you with more information on these repositories:

Overview

The "Overview" tab gives you a high-level view of the contributors in your Contributor Insight Page, including the total number of commits in the last 30 days and the types of contributors: Active, New, and Alumni.

Activity

The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they've contributed to, and how they compare to each other.

You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors.

list graph

Highlights

The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.

note

To learn and understand more about the data provided, see Understanding Contributor Insights Data.

Highlights: Connecting and Recognizing Contributions

Leveraging OpenSauced's Highlights feature is a great way for maintainers to recognize and showcase the valuable contributions made to your open source projects, curate and share key achievements, contributions, and milestones, and bring visibility to the hard work of your community.

Highlights can be used to:

  • publicize issues on your repository that you'd like to match with contributors,
  • share Dev.to blog posts you've written,
  • celebrate PRs for your project.

Creating a New Highlight

There are two ways to create a new highlight:

  1. After clicking the "Highlights" tab in the top navigation, click the input that says "Post a highlight to show your work!"

  2. From your profile, click the input that says "Post a highlight to show your work!"

After you've clicked the input, you'll see a form that allows you to create a new highlight.

There are two ways to create a highlight:

  1. Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below).
  2. Choose from a list of suggestions (shown in orange below).

highlight suggestions

note

If you're adding a blog post, you'll need to associate it to a repository by clicking the "Add a repo" button.

Finally, it's time to add the details of your highlight. You can add a description yourself or use the auto-summarize function to generate a description.

gif of creating a highlight

Writing an Effective Highlight

Writing an effective highlight is key to attracting contributors to your project. Here are some tips to help you write an effective highlight:

Highlighting Issues

  1. Focus on the problem solved: Begin by briefly describing the problem or challenge the issue addresses. This sets the context for why it was important.
  2. Acknowledge contributor(s): Mention the contributor(s) who reported or worked on the issue, recognizing their effort.
  3. Impact statement: Explain how resolving this issue benefits the project, such as improving functionality, user experience, or security.

Highlighting PRs

  1. Summarize the changes: Start with a clear summary of what the PR achieves. This could be a new feature, bug fix, or enhancement.
  2. Credit the contributors: Acknowledge everyone who contributed to the PR, including reviewers.
  3. Highlight the value: Explain the value of these changes to the project or its users. For instance, how it improves performance, adds a requested feature, or simplifies the codebase.

Highlighting Dev.to Blog Posts

  1. Capture the essence: Begin with an interesting blog post summary, capturing the main theme or message.
  2. Discuss the relevance: Explain why this blog post is important for your open source project or community. Is it about a major update, a community event, or sharing best practices?
  3. Engage with a call-to-action: Encourage readers to engage with the post, whether by reading, commenting, or sharing their thoughts on the topic.
- +

Maintainers Guide to OpenSauced

Introduction to OpenSauced for Maintainers

OpenSauced is a platform dedicated to empowering maintainers and redefining open source contributions. We offer a GitHub-powered dashboard for tracking contributions and gaining insights into your open source projects. You can customize your Repository Insights and Contributor Insights with the repositories you choose and the contributors you want to see.

Getting Started

To get started, you will need to create an account on OpenSauced. You can do this by visiting the app.opensauced.pizza and clicking the "Connect with GitHub" button. You will be prompted to sign in with your GitHub account. Once you have signed in, you will be redirected to the OpenSauced dashboard.

Repository Insights: Connecting Your Repositories

OpenSauced Repository Insights provides maintainers with a visual representation of their project's health and contributor engagement. It offers real-time data and analytics to understand contribution patterns, identify key contributors, and measure the project's growth. Repository Insights can help you assess team activity, understand when bottlenecks occur, identify where resource allocation is needed, plan and identify key contributors, understand alumni contributors, or spot emerging trends.

The Repository Insights feature allows you to:

  • track the contributions of a specific team, a specific repository, or a group of repositories,
  • view the number of PRs that are open, closed, in draft, and merged,
  • view the average number of days it takes for a PR to be merged (PR velocity),
  • identify the top contributors to your project,
  • identify the current activity level and trends in the activity of your contributors.

Creating a New Repository Insight Page

To connect and track your repositories, click the "+" next to "Insights" in the sidebar, then select "New Repository Insight." You will be redirected to a page where you can create your new Repository Insight Page.

There are two ways to add repositories to your Repository Insight Page:

  1. Sync GitHub organization. Syncing your GitHub organization is a good idea for someone who seeks a comprehensive, unified view of your organization's open source project activities and trends, enabling streamlined management, strategic decision-making, and efficient allocation of resources across multiple repositories.
  2. Connect individual repositories. Connecting individual repositories is a good idea for someone who wants to track the contributions of a specific repository or group of repositories. For example, you might want to track projects you maintain that are not under the same organization, or you may want to track projects that align with your team's objectives.

sync team gif

Using Your Repository Insights Page

Once you have connected your repositories, you will be redirected to your Repository Insight Page. Here, you will see a dashboard with an overview of the repositories and the contributors who have contributed to them.

There are three tabs that provide you with more information on these repositories:

Repositories Dashboard

This tab allows you to view more detailed information on each repository, including activity levels, PR overview, PR velocity, spam PRs, contributors, and activity stats over the last 30 days.

note

To learn and understand more about the data provided, see Understanding Repository Insights Data.

repositories tab

Contributors

The "Contributors" tab allows you to view more detailed information on each contributor, including their activity levels, the number of repositories they contributed to, the date of their last contribution, their most used language, their time zone, the number of contributions, and their activity stats over the last 30 days.

You can select and add your contributors to a Contributor Insight Page to learn more about them.

There are two ways to add selected contributors to a Contributor Insight Page:

  1. Create a new list.
  2. Add them to an existing list.

contributors insight list

Activity

The "Activity" tab shows a graph of the last time each contributor created their PR and how many lines of code they've touched. It also provides more detailed information on each contributor when you hover over their image, including their latest PRs and repositories they've contributed to. Clicking their image will bring you to their profile on OpenSauced.

You can use the information in this tab to help you learn about their engagement and general interests. It will be helpful if you want to collaborate with them or consider recruiting a maintainer for your project.

activity graph

Contributor Insights: Connecting with Contributors

OpenSauced Contributor Insights feature allows you to categorize, monitor, and analyze various groups of contributors. You can use Contributor Insights to track the contributions of a specific team, a specific repository, or a group of repositories. This feature offers granular insights into each contributor's activities and contributions, helping maintainers to track individual contribution histories, identify active engagement, recognize new or alumni contributors, and compare the performance of different contributors.

The Contributor Insights features allow you to:

  • track the commits and PRs of the contributors on your list,
  • filter your contributors by their activity level, including most active, new, and alumni,
  • view the repositories your contributors have contributed to, the top programming languages they've used, and their time zones.

Why Create a Contributor Insight Page?

There are many reasons to create a Contributor Insight Page, but here's some inspiration to get you started:

  • Interacting contributors: Keep tabs on contributors actively interacting with your repository.
  • Organization's developers: Monitor the contributions and performance of your internal team.
  • VIP contributors: Highlight and track contributors you've identified as key maintainers or significant contributors.
  • Sales leads: Identify contributors whose engagement could potentially be turned into sales opportunities.
  • Potential hires: Observe contributors who exhibit skill and commitment, making them prime candidates for hiring.
  • Alumni contributors: Keep an eye on contributors who have decreased their engagement or left the project.

Creating a New Contributor Insight Page

  1. Click the "+" next to "Insights" in the sidebar.

  2. Click "New Contributor Insight." You will be redirected to a page where you can create your new Contributor Insight Page.

    New Contributor Insight Page

  3. Give your page a name.

  4. Add contributors to your page by searching for their GitHub username, syncing your GitHub Team, or importing your GitHub Following.

  5. Once your page is created, you can edit and choose to make it public or private. By default, it is set to public. To create a private page, you can upgrade your account to a paid plan.

    team sync gif

Using Your Contributor Insight Page

Once you have created your page, you will be redirected to your Contributor Insight Page. Here, you will see a dashboard with an overview of the contributors.

There are three tabs that provide you with more information on these repositories:

Overview

The "Overview" tab gives you a high-level view of the contributors in your Contributor Insight Page, including the total number of commits in the last 30 days and the types of contributors: Active, New, and Alumni.

Activity

The "Activity" tab gives you a graph view with more detailed information on each contributor, including the type of activity, repositories they've contributed to, and how they compare to each other.

You can filter your Contributor Insight Page by All Contributors, Active Contributors, New Contributors, and Alumni Contributors.

list graph

Highlights

The "Highlights" tab gives you a list of the highlights that the contributors listed on your page have created. This is a great way to see what other contributors are up to and to show them support.

note

To learn and understand more about the data provided, see Understanding Contributor Insights Data.

Highlights: Connecting and Recognizing Contributions

Leveraging OpenSauced's Highlights feature is a great way for maintainers to recognize and showcase the valuable contributions made to your open source projects, curate and share key achievements, contributions, and milestones, and bring visibility to the hard work of your community.

Highlights can be used to:

  • publicize issues on your repository that you'd like to match with contributors,
  • share Dev.to blog posts you've written,
  • celebrate PRs for your project.

Creating a New Highlight

There are two ways to create a new highlight:

  1. After clicking the "Highlights" tab in the top navigation, click the input that says "Post a highlight to show your work!"

  2. From your profile, click the input that says "Post a highlight to show your work!"

After you've clicked the input, you'll see a form that allows you to create a new highlight.

There are two ways to create a highlight:

  1. Paste the URL to your PR, issue, or Dev.to blog post (shown in blue below).
  2. Choose from a list of suggestions (shown in orange below).

highlight suggestions

note

If you're adding a blog post, you'll need to associate it to a repository by clicking the "Add a repo" button.

Finally, it's time to add the details of your highlight. You can add a description yourself or use the auto-summarize function to generate a description.

gif of creating a highlight

Writing an Effective Highlight

Writing an effective highlight is key to attracting contributors to your project. Here are some tips to help you write an effective highlight:

Highlighting Issues

  1. Focus on the problem solved: Begin by briefly describing the problem or challenge the issue addresses. This sets the context for why it was important.
  2. Acknowledge contributor(s): Mention the contributor(s) who reported or worked on the issue, recognizing their effort.
  3. Impact statement: Explain how resolving this issue benefits the project, such as improving functionality, user experience, or security.

Highlighting PRs

  1. Summarize the changes: Start with a clear summary of what the PR achieves. This could be a new feature, bug fix, or enhancement.
  2. Credit the contributors: Acknowledge everyone who contributed to the PR, including reviewers.
  3. Highlight the value: Explain the value of these changes to the project or its users. For instance, how it improves performance, adds a requested feature, or simplifies the codebase.

Highlighting Dev.to Blog Posts

  1. Capture the essence: Begin with an interesting blog post summary, capturing the main theme or message.
  2. Discuss the relevance: Explain why this blog post is important for your open source project or community. Is it about a major update, a community event, or sharing best practices?
  3. Engage with a call-to-action: Encourage readers to engage with the post, whether by reading, commenting, or sharing their thoughts on the topic.
+ \ No newline at end of file diff --git a/maintainers/understanding-contribs-insights/index.html b/maintainers/understanding-contribs-insights/index.html index ef266c4e..389c7c71 100644 --- a/maintainers/understanding-contribs-insights/index.html +++ b/maintainers/understanding-contribs-insights/index.html @@ -13,13 +13,13 @@ - +
-

Understanding Contributor Insights Data

Once you've created your Contributor Insight Page, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.

Understanding Contributor Insights Data

Interpreting Total Commits in the Last 30 Days

Understanding the commits over the last 30 days helps in gauging the overall activity and productivity of the group.

High commit volume might indicate a highly active and engaged team. A sudden drop could signal potential issues or a need for additional support or motivation.

Monitoring Active Contributors

Identifying active contributors helps in recognizing reliable team members and planning future tasks.

Trends in active contributor numbers can indicate the health of the project community and the effectiveness of engagement strategies. Notice the ebbs and flows in individual contributors’ activity.

A decline in a normally active contributor’s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate.

Understanding Types of Contributors

New Contributors

Tracking new contributors is key to understanding the growth and influx of new talent.

An influx of new contributors might be a positive sign of project popularity, successful outreach efforts, or the community health of your project. However, it could also indicate a need for more support and guidance for new contributors.

Alumni Contributors

Alumni contributors are contributors who haven't been active in the last 30 days. Identifying contributors who have stopped contributing helps in assessing potential issues or dissatisfaction.

High churn rates could signal deeper problems within the project environment or community management.

Most Active Contributors

Identifying key contributors and potential leaders is important for project health and growth. It can help with delegation of responsibilities and recognition of top performers. It can also identify potential mentors for new contributors and help in planning for succession.

If you see that a few active contributors are doing most of the work, it might be a sign that the project needs more support or that the workload needs to be better distributed.

Activity Across Other Repositories

Understanding the range of repositories to which contributors in a list have recently contributed shows the broader interests and skills of the community. It reveals contributors' engagement levels and potential specializations, which allows for effective task allocation and identifying mentorship or leadership candidates.

Additionally, it opens paths for potential cross-project collaborations and strategic project planning, aligning the project’s goals with trends and interests in the open source ecosystem.

Understanding the recent history of each contributor's engagement assists in tracking individual contribution patterns and identifying potentially cooling interests.

- +

Understanding Contributor Insights Data

Once you've created your Contributor Insight Page, it's time to understand the data provided. Understanding this data is key to effectively managing your projects and contributors.

Understanding Contributor Insights Data

Interpreting Total Commits in the Last 30 Days

Understanding the commits over the last 30 days helps in gauging the overall activity and productivity of the group.

High commit volume might indicate a highly active and engaged team. A sudden drop could signal potential issues or a need for additional support or motivation.

Monitoring Active Contributors

Identifying active contributors helps in recognizing reliable team members and planning future tasks.

Trends in active contributor numbers can indicate the health of the project community and the effectiveness of engagement strategies. Notice the ebbs and flows in individual contributors’ activity.

A decline in a normally active contributor’s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate.

Understanding Types of Contributors

New Contributors

Tracking new contributors is key to understanding the growth and influx of new talent.

An influx of new contributors might be a positive sign of project popularity, successful outreach efforts, or the community health of your project. However, it could also indicate a need for more support and guidance for new contributors.

Alumni Contributors

Alumni contributors are contributors who haven't been active in the last 30 days. Identifying contributors who have stopped contributing helps in assessing potential issues or dissatisfaction.

High churn rates could signal deeper problems within the project environment or community management.

Most Active Contributors

Identifying key contributors and potential leaders is important for project health and growth. It can help with delegation of responsibilities and recognition of top performers. It can also identify potential mentors for new contributors and help in planning for succession.

If you see that a few active contributors are doing most of the work, it might be a sign that the project needs more support or that the workload needs to be better distributed.

Activity Across Other Repositories

Understanding the range of repositories to which contributors in a list have recently contributed shows the broader interests and skills of the community. It reveals contributors' engagement levels and potential specializations, which allows for effective task allocation and identifying mentorship or leadership candidates.

Additionally, it opens paths for potential cross-project collaborations and strategic project planning, aligning the project’s goals with trends and interests in the open source ecosystem.

Understanding the recent history of each contributor's engagement assists in tracking individual contribution patterns and identifying potentially cooling interests.

+ \ No newline at end of file diff --git a/maintainers/understanding-repo-insights/index.html b/maintainers/understanding-repo-insights/index.html index fc729f42..b78196e4 100644 --- a/maintainers/understanding-repo-insights/index.html +++ b/maintainers/understanding-repo-insights/index.html @@ -13,13 +13,13 @@ - +
-

Understanding Repo Insights Data

Once your repositories are connected, it's time to understand the data provided on your page. Understanding this data is key to effectively managing your projects and contributors.

Understanding Repository Insights Data

Discover patterns in contributions over time. Look for spikes or drops in activity and correlate these with specific events or milestones. This can help you understand what drives engagement in your projects.

Monitoring PR Activity

Knowing the status of PRs (open, closed, draft, merged) helps in understanding the workflow efficiency and backlog. High volumes of open or draft PRs might indicate a need for more resources or a revision of your review process. Conversely, a steady flow of merged PRs can indicate a healthy, active development process.

Measuring and Improving PR Velocity

Track how quickly PRs are being merged. The average time taken for PRs to merge is a critical metric for understanding the efficiency of the code review and deployment process. Longer PR merge times might signal issues in the review process or resource allocation or could indicate complex code changes that require more thorough checks. Use this data to set benchmarks and identify opportunities for streamlining your review and integration processes.

Understanding Repository Insights Contributor Data

Identifying and Engaging with Key Contributors

Recognizing key contributors helps in understanding the project's most active and influential members. Consider reaching out to them for deeper collaboration or acknowledging their efforts to keep them motivated and engaged.

Tracking and Responding to Contributor Activity Levels

Tracking how active contributors are and the trends in their activity levels is crucial for project health. Understanding the activity patterns of contributors helps in assessing their engagement and reliability. Regular contributors are often more familiar with the project and can be more dependable for critical tasks.

Notice the ebbs and flows in individual contributors’ activity. A decline in a normally active contributor’s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate.

Activity Levels Across Repositories

This indicates the breadth of a contributor's involvement in open source projects. A contributor active across multiple repositories might bring diverse experiences and ideas but may also have divided attention. Alternatively, a contributor active in a single repository might be more focused and familiar with the project.

Understanding Activity Levels Over Time

Past activity levels can be a predictor of future contributions. Regular past contributions might suggest continued involvement. However, a contributor who has been inactive for a while might be less likely to contribute in the future.

Trends in activity levels and contributions can be indicators of the overall health of the project community. A decline in activity might signal issues that need addressing to keep the community vibrant and engaged.

Using Programming Language Data

Awareness of the programming languages a contributor is comfortable with enables maintainers to assign tasks more effectively, ensuring that contributors work in areas where they are most skilled and interested. This can help in identifying contributors for specific tasks or projects.

Creating Opportunities

Understanding who contributes to what open source projects and when they do can help maintainers manage team dynamics. With this information, maintainers can make decisions to ensure workloads are balanced and contributors are working in areas that match their skills and interests. Identifying less experienced contributors who are active and showing potential can lead to mentorship opportunities, helping to grow the project’s contributor base.

- +

Understanding Repo Insights Data

Once your repositories are connected, it's time to understand the data provided on your page. Understanding this data is key to effectively managing your projects and contributors.

Understanding Repository Insights Data

Discover patterns in contributions over time. Look for spikes or drops in activity and correlate these with specific events or milestones. This can help you understand what drives engagement in your projects.

Monitoring PR Activity

Knowing the status of PRs (open, closed, draft, merged) helps in understanding the workflow efficiency and backlog. High volumes of open or draft PRs might indicate a need for more resources or a revision of your review process. Conversely, a steady flow of merged PRs can indicate a healthy, active development process.

Measuring and Improving PR Velocity

Track how quickly PRs are being merged. The average time taken for PRs to merge is a critical metric for understanding the efficiency of the code review and deployment process. Longer PR merge times might signal issues in the review process or resource allocation or could indicate complex code changes that require more thorough checks. Use this data to set benchmarks and identify opportunities for streamlining your review and integration processes.

Understanding Repository Insights Contributor Data

Identifying and Engaging with Key Contributors

Recognizing key contributors helps in understanding the project's most active and influential members. Consider reaching out to them for deeper collaboration or acknowledging their efforts to keep them motivated and engaged.

Tracking and Responding to Contributor Activity Levels

Tracking how active contributors are and the trends in their activity levels is crucial for project health. Understanding the activity patterns of contributors helps in assessing their engagement and reliability. Regular contributors are often more familiar with the project and can be more dependable for critical tasks.

Notice the ebbs and flows in individual contributors’ activity. A decline in a normally active contributor’s engagement could indicate burnout or dissatisfaction, while a surge in activity might be tied to recent changes or enhancements in the project. Tracking activity levels can help you manage team burnout, understand resource needs, and spot potential issues before they escalate.

Activity Levels Across Repositories

This indicates the breadth of a contributor's involvement in open source projects. A contributor active across multiple repositories might bring diverse experiences and ideas but may also have divided attention. Alternatively, a contributor active in a single repository might be more focused and familiar with the project.

Understanding Activity Levels Over Time

Past activity levels can be a predictor of future contributions. Regular past contributions might suggest continued involvement. However, a contributor who has been inactive for a while might be less likely to contribute in the future.

Trends in activity levels and contributions can be indicators of the overall health of the project community. A decline in activity might signal issues that need addressing to keep the community vibrant and engaged.

Using Programming Language Data

Awareness of the programming languages a contributor is comfortable with enables maintainers to assign tasks more effectively, ensuring that contributors work in areas where they are most skilled and interested. This can help in identifying contributors for specific tasks or projects.

Creating Opportunities

Understanding who contributes to what open source projects and when they do can help maintainers manage team dynamics. With this information, maintainers can make decisions to ensure workloads are balanced and contributors are working in areas that match their skills and interests. Identifying less experienced contributors who are active and showing potential can lead to mentorship opportunities, helping to grow the project’s contributor base.

+ \ No newline at end of file diff --git a/markdown-page/index.html b/markdown-page/index.html index d70ae53a..ae2825d3 100644 --- a/markdown-page/index.html +++ b/markdown-page/index.html @@ -13,13 +13,13 @@ - +

Markdown page example

You don't need React to write simple standalone pages.

- + \ No newline at end of file diff --git a/open-sauced-docs.pdf b/open-sauced-docs.pdf index 73c411e8..cde40d8a 100644 Binary files a/open-sauced-docs.pdf and b/open-sauced-docs.pdf differ diff --git a/opensauced-packages/check-engines/index.html b/opensauced-packages/check-engines/index.html index 19f90d35..341415f8 100644 --- a/opensauced-packages/check-engines/index.html +++ b/opensauced-packages/check-engines/index.html @@ -13,13 +13,13 @@ - +
-

@open-sauced/check-engines

Description

The npm package @open-sauced/check-engines is designed to help contributors install dependencies conforming to the engines property in package.json.

Dependencies

This package uses the following modules:

Installation

npm install --save-dev @open-sauced/check-engines

Add the verification scripts to your scripts section in the package.json file:

{
"scripts": {
"preinstall": "npx @open-sauced/check-engines"
}
}

The reason why we provide npx in the scripts section is for the people using this as a development enhancement, interactive configurations or trimmed dependency trees, where using npx is preferred over installing all the dependencies at once.

Usage

Use your favorite package manager to install dependencies in your project or, if you set it as a global verification system:

{
"scripts": {
"check-engines": "npx @open-sauced/check-engines"
"preinstall": "npm run check-engines",
"prestart": "npm run check-engines"
}
}

Advanced Usage

If you have an API or any other non-library type of application, you can decouple this package from any install scripts and just use it as a verification:

{
"scripts": {
"check-engines": "npx @open-sauced/check-engines"
"prestart": "npm run check-engines"
}
}

A more traditional approach not using pre or post scripts, this example enables the check only for local machine development:

{
"scripts": {
"check-engines": "npx @open-sauced/check-engines"
"start": "...",
"dev": "npm run check-engines && npm start -- --watch"
}
}

FAQs

Usage on an Older node and npm Versions

Older node and npm versions won't be able to run this package; depending on the versions, the scripts section could be ignored completely.

If you have that use case, this package is only worth enabling for progressive contributors frequently missing the legacy support of the respective module and forcefully upgrading dependencies - them running newer versions will force the error message and explicitly disable.

Why Not Use check-engines or engine-strict?

As described in the npm@6 engine-strict docs:

Prior to npm 3.0.0, this feature was used to treat this package as if the user had set engine-strict. It is no longer used.

In npm@6 and later, this was re-introduced as a config flag.

This package is designed with multiple legacy use cases in mind.

Library Usage

If you use this module in a library package, be advised that any *install script will run in the parent module when installed.

For example, given a module @demo-org/demo-package with a preinstall: "npx @open-sauced/check-engines" script, running npm install @demo-org/demo-package will require your locally installed node and npm versions to match the engines section of your package.json. If that is not set, nothing should happen, and this package is a stray dependency in either @demo-org/demo-package or the module you are running this command in.

Contributing

We're always happy to onboard people into open source!

Check out the repository at @open-sauced/check-engines. ❤️

- +

@open-sauced/check-engines

Description

The npm package @open-sauced/check-engines is designed to help contributors install dependencies conforming to the engines property in package.json.

Dependencies

This package uses the following modules:

Installation

npm install --save-dev @open-sauced/check-engines

Add the verification scripts to your scripts section in the package.json file:

{
"scripts": {
"preinstall": "npx @open-sauced/check-engines"
}
}

The reason why we provide npx in the scripts section is for the people using this as a development enhancement, interactive configurations or trimmed dependency trees, where using npx is preferred over installing all the dependencies at once.

Usage

Use your favorite package manager to install dependencies in your project or, if you set it as a global verification system:

{
"scripts": {
"check-engines": "npx @open-sauced/check-engines"
"preinstall": "npm run check-engines",
"prestart": "npm run check-engines"
}
}

Advanced Usage

If you have an API or any other non-library type of application, you can decouple this package from any install scripts and just use it as a verification:

{
"scripts": {
"check-engines": "npx @open-sauced/check-engines"
"prestart": "npm run check-engines"
}
}

A more traditional approach not using pre or post scripts, this example enables the check only for local machine development:

{
"scripts": {
"check-engines": "npx @open-sauced/check-engines"
"start": "...",
"dev": "npm run check-engines && npm start -- --watch"
}
}

FAQs

Usage on an Older node and npm Versions

Older node and npm versions won't be able to run this package; depending on the versions, the scripts section could be ignored completely.

If you have that use case, this package is only worth enabling for progressive contributors frequently missing the legacy support of the respective module and forcefully upgrading dependencies - them running newer versions will force the error message and explicitly disable.

Why Not Use check-engines or engine-strict?

As described in the npm@6 engine-strict docs:

Prior to npm 3.0.0, this feature was used to treat this package as if the user had set engine-strict. It is no longer used.

In npm@6 and later, this was re-introduced as a config flag.

This package is designed with multiple legacy use cases in mind.

Library Usage

If you use this module in a library package, be advised that any *install script will run in the parent module when installed.

For example, given a module @demo-org/demo-package with a preinstall: "npx @open-sauced/check-engines" script, running npm install @demo-org/demo-package will require your locally installed node and npm versions to match the engines section of your package.json. If that is not set, nothing should happen, and this package is a stray dependency in either @demo-org/demo-package or the module you are running this command in.

Contributing

We're always happy to onboard people into open source!

Check out the repository at @open-sauced/check-engines. ❤️

+ \ No newline at end of file diff --git a/opensauced-packages/conventional-commit/index.html b/opensauced-packages/conventional-commit/index.html index 008e50b4..ada09fd7 100644 --- a/opensauced-packages/conventional-commit/index.html +++ b/opensauced-packages/conventional-commit/index.html @@ -13,13 +13,13 @@ - +
-

@open-sauced/conventional-commit

Description

The npm package @open-sauced/conventional-commit is designed to help users git commit using commitizen and conventional commits.

Dependencies

This package uses the following modules:

Installation

npm install --save-dev @open-sauced/conventional-commit

Add the verification scripts to your scripts section in the package.json file:

{
"scripts": {
"push": "npx @open-sauced/conventional-commit"
}
}

The reason why we provide npx in the scripts section is for the people using this as a development enhancement, interactive configurations, or trimmed dependency trees, where using npx is preferred over installing all the dependencies at once.

Usage

All you have to do is run the script next to your package.json:

npx @open-sauced/conventional-commit
# or
npx conventional-commit

Advanced Usage

The most common use case for this package is to run it instead of the git commit command inside your npm scripts:

{
"scripts": {
"push": "npx @open-sauced/conventional-commit"
}
}

or

{
"scripts": {
"push": "npx conventional-commit"
}
}

If you want to ensure local-only usage:

{
"scripts": {
"push": "conventional-commit"
}
}

FAQs

Contributing

We're always happy to onboard people into open source!

Check out the repository at @open-sauced/conventional-commit. ❤️

- +

@open-sauced/conventional-commit

Description

The npm package @open-sauced/conventional-commit is designed to help users git commit using commitizen and conventional commits.

Dependencies

This package uses the following modules:

Installation

npm install --save-dev @open-sauced/conventional-commit

Add the verification scripts to your scripts section in the package.json file:

{
"scripts": {
"push": "npx @open-sauced/conventional-commit"
}
}

The reason why we provide npx in the scripts section is for the people using this as a development enhancement, interactive configurations, or trimmed dependency trees, where using npx is preferred over installing all the dependencies at once.

Usage

All you have to do is run the script next to your package.json:

npx @open-sauced/conventional-commit
# or
npx conventional-commit

Advanced Usage

The most common use case for this package is to run it instead of the git commit command inside your npm scripts:

{
"scripts": {
"push": "npx @open-sauced/conventional-commit"
}
}

or

{
"scripts": {
"push": "npx conventional-commit"
}
}

If you want to ensure local-only usage:

{
"scripts": {
"push": "conventional-commit"
}
}

FAQs

Contributing

We're always happy to onboard people into open source!

Check out the repository at @open-sauced/conventional-commit. ❤️

+ \ No newline at end of file diff --git a/opensauced-packages/semantic-release/index.html b/opensauced-packages/semantic-release/index.html index a971480a..eefb7bf6 100644 --- a/opensauced-packages/semantic-release/index.html +++ b/opensauced-packages/semantic-release/index.html @@ -13,13 +13,13 @@ - +
-

@open-sauced/semantic-release-conventional-config

Description

The npm package @open-sauced/semantic-release-conventional-config is designed to help npm packages auto-release to npm or ghcr registries while generating GitHub releases and changelog using conventional commit convention.

Version 2 supports alpha and beta pre-releases using corresponding branches.

Dependencies

This package uses the following modules:

🖥️ Requirements

Most important limitations are:

  • GITHUB_TOKEN for everything
  • NPM_TOKEN for public npm library
  • docker containers need to be built beforehand

You can skip here if you are using an elevated Private Access Token. However, we don't recommend going down that path.

No force push or admin cherries branch protections for the following branches:

  • main - required
  • alpha - optional, pre-release branch
  • beta - optional, pre-release branch
  • next - optional, next channel
  • next-major - optional, next major
  • vX[.X.X] - maintenance releases

If you use more than the main branch, optionally create an environment that limits where pushes can come from and enable the merge strategy.

We use production in our examples; if you copy-paste them, you will find this new environment generated in your settings! 🍕

🧪 GitHub Actions Usage

Since version 3, it has been possible to use semantic-release without any trace of it or the OpenSauced configuration anywhere in the dependency tree.

Docker containers are pushed as part of the release, so they mirror the availability of npm packages.

The simplest use case for a typical npm package is almost zero install downtime from ghcr and no more local tooling:

name: "Release container"

on:
push:
branches:
- main

jobs:
release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: "♻️ cleanup"
run: |
echo ${{ env.RELEASE_TAG }}
echo ${{ env.RELEASE_VERSION }}

Marketplace actions should default to the major tag and are essentially more stable as we have to curate every release.

A more traditional approach, the only thing really different here is a minor pull overhead and using set outputs instead of environment variables:

name: "Release"

on:
push:
branches:
- main

jobs:
release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ steps.semantic-release.outputs.release-tag }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🚀 release"
id: semantic-release
uses: open-sauced/semantic-release-conventional-config@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: "♻️ cleanup"
run: |
echo ${{ steps.semantic-release.outputs.release-tag }}
echo ${{ steps.semantic-release.outputs.release-version }}

📦 npm Usage

You can opt to use this package in your local tooling. Proceed as you would normally would, replacing npm with your package manager of choice and install the package:

npm install --save-dev @open-sauced/semantic-release-conventional-config

The shareable config can then be configured in the semantic-release configuration file:

{
"extends": "@open-sauced/semantic-release-conventional-config"
}

Now, all you need to do is create a release:

npx semantic-release

🔧 Configuration

See each plugin official documentation for the required installation and configuration steps.

npm

Set private to true in package.json if you want to disable npm or change the scope of package using publishConfig.

Keep one of the files or main keys in your package.json accurate, depending on whether you are building a library or an application.

If you publish, make sure to also provide a valid NPM_TOKEN, as .npmrc authentication is ignored in our config!

GitHub Actions

Unless you have an action.yml present in your root folder, this module is not added to the release config.

If you have an action.yml present, our config will attempt to adjust the container version to the newly pushed npm and docker tags.

Docker

Unless you have a Dockerfile present in your root folder, this module is not added to the release config.

If you have a Dockerfile present, our config will attempt to push to ghcr.io.

Environment Variables

Using our configuration comes with some sensible defaults:

  • DOCKER_USERNAME=$GITHUB_REPOSITORY_OWNER
  • DOCKER_PASSWORD=$GITHUB_TOKEN
  • GIT_COMMITTER_NAME="open-sauced[bot]"
  • GIT_COMMITTER_EMAIL="63161813+open-sauced[bot]@users.noreply.github.com"
  • GIT_AUTHOR_NAME - parsed from commit $GITHUB_SHA
  • GIT_AUTHOR_EMAIL - parsed from commit $GITHUB_SHA

Feel free to change any of the above to whatever suits your purpose. Our motivation is to keep GITHUB_TOKEN and/or NPM_TOKEN the only necessary requirements.

We are actively investigating ways to drop the two remaining variables as well!

Workflow Examples

Node Application

This example requires "private": true, in your package.json and simplifies the workflow to lightning-fast deployment:

release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🔧 setup node"
uses: actions/setup-node@v2.1.5
with:
node-version: 16

- name: "🔧 install npm@latest"
run: npm i -g npm@latest

- name: "📦 install dependencies"
uses: bahmutov/npm-install@v1

- name: "🚀 static app"
run: npm run build

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

npm Library

For npm libraries, we need to set the environment URL manually and set a NPM_TOKEN environment variable. This also disables docker builds:

name: "Release"

on:
push:
branches:
- main

jobs:
release:
environment:
name: npm
url: https://www.npmjs.com/package/@open-sauced/semantic-release-conventional-config/v/${{ env.RELEASE_VERSION }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🔧 setup node"
uses: actions/setup-node@v2.1.5
with:
node-version: 16

- name: "🔧 install npm@latest"
run: npm i -g npm@latest

- name: "📦 install dependencies"
uses: bahmutov/npm-install@v1

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

An up-to-date version of the example above is available at @open-sauced/semantic-release-conventional-config.

Docker Image

For docker builds, it's best to build your node application in parallel with the container and re-use the artifact at a later stage:

name: "Release"

on:
push:
branches:
- main

jobs:
docker:
name: Build container
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2

- name: "🔧 setup buildx"
uses: docker/setup-buildx-action@v1

- name: "🔧 cache docker layers"
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-

- name: "🔧 docker meta"
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ github.repository }}
tags: latest

- name: "📦 docker build"
uses: docker/build-push-action@v2
with:
context: .
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=docker,dest=/tmp/docker.tar
push: false
cache-from: type=gha, scope=${{ github.workflow }}
cache-to: type=gha, scope=${{ github.workflow }}

- name: "📂 docker artifacts"
uses: actions/upload-artifact@v2
with:
name: docker
path: /tmp/docker.tar

build:
name: Build application
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2

- name: "🔧 setup node"
uses: actions/setup-node@v2.1.5
with:
node-version: 16

- name: "🔧 install npm@latest"
run: npm i -g npm@latest

- name: "📦 install dependencies"
uses: bahmutov/npm-install@v1

- name: "📊 repository visualizer"
id: diagram
uses: githubocto/repo-visualizer@0.7.1
with:
excluded_paths: "node_modules,build,.storybook,.netlify,.github,npm-shrinkwap.json"
output_file: "public/diagram.svg"
should_push: false
artifact_name: "diagram"

- name: "🚀 static app"
run: npm run build

- name: "📂 production artifacts"
uses: actions/upload-artifact@v2
with:
name: build
path: build

release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}
name: Semantic release
needs:
- docker
- build
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "📂 download docker artifacts"
uses: actions/download-artifact@v2
with:
name: docker
path: /tmp

- name: "📦 load tag"
run: |
docker load --input /tmp/docker.tar
docker image ls -a

- name: "📂 download build artifacts"
uses: actions/download-artifact@v2
with:
name: build
path: /tmp/build

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

cleanup:
name: Cleanup actions
needs:
- release
runs-on: ubuntu-latest
steps:
- name: "♻️ remove build artifacts"
uses: geekyeggo/delete-artifact@v1
with:
name: |
build
docker

An up-to-date version of the example above is available at open-sauced/open-sauced.

Pre-Releases

This workflow requires the creation of alpha and beta protected branches while templating every commit to be conventional. It does not support squashing without creating extremely complex conflict resolution:

name: "Release"

on:
push:
branches:
- main
- beta
- alpha

jobs:
release:
environment:
name: npm
url: https://www.npmjs.com/package/open-sauced-semantic-config-test/v/${{ steps.release.outputs.version }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

FAQs

Which Assets are Pushed to Git?

The following assets are added to git using @semantic-release/git:

{
"assets": [
"LICENSE",
"LICENSE.md",
"COPYING",
"COPYING.md",
"CHANGELOG.md",
"package.json",
"package-lock.json",
"npm-shrinkwrap.json",
"public/diagram.svg",
"action.yml"
]
}

What is the Commit Convention?

The following commit rules are enforced by @semantic-release/commit-analyzer:

{
"preset": "conventionalcommits",
"releaseRules": [
{ "type": "build", "release": "minor" },
{ "type": "ci", "release": "patch" },
{ "type": "docs", "release": "minor" },
{ "type": "style", "release": "patch" },
{ "type": "refactor", "release": "patch" },
{ "type": "test", "release": "patch" },
{ "type": "revert", "release": "patch" },
{ "type": "chore", "release": false }
],
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
}
}

How to Enrich the Static Distribution?

The following assets are packed into the github release download using @semantic-release/github:

{
"assets": [
{
"path": "pack/*.tgz",
"label": "Static distribution"
}
]
}

How to Start Using Pre-Releases?

Create the alpha and/or beta branches and protect them from being deleted or pushed directly by non-administrators.

Switch your branching strategy to merge and enable conventional commits checking.

As described in the semantic-releases recipes, you will have to resolve merge conflicts between alpha, beta, and main branches.

Contributing

We're always happy to onboard people into open source!

Check out the repository at @open-sauced/semantic-release-conventional-config. ❤️

- +

@open-sauced/semantic-release-conventional-config

Description

The npm package @open-sauced/semantic-release-conventional-config is designed to help npm packages auto-release to npm or ghcr registries while generating GitHub releases and changelog using conventional commit convention.

Version 2 supports alpha and beta pre-releases using corresponding branches.

Dependencies

This package uses the following modules:

🖥️ Requirements

Most important limitations are:

  • GITHUB_TOKEN for everything
  • NPM_TOKEN for public npm library
  • docker containers need to be built beforehand

You can skip here if you are using an elevated Private Access Token. However, we don't recommend going down that path.

No force push or admin cherries branch protections for the following branches:

  • main - required
  • alpha - optional, pre-release branch
  • beta - optional, pre-release branch
  • next - optional, next channel
  • next-major - optional, next major
  • vX[.X.X] - maintenance releases

If you use more than the main branch, optionally create an environment that limits where pushes can come from and enable the merge strategy.

We use production in our examples; if you copy-paste them, you will find this new environment generated in your settings! 🍕

🧪 GitHub Actions Usage

Since version 3, it has been possible to use semantic-release without any trace of it or the OpenSauced configuration anywhere in the dependency tree.

Docker containers are pushed as part of the release, so they mirror the availability of npm packages.

The simplest use case for a typical npm package is almost zero install downtime from ghcr and no more local tooling:

name: "Release container"

on:
push:
branches:
- main

jobs:
release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: "♻️ cleanup"
run: |
echo ${{ env.RELEASE_TAG }}
echo ${{ env.RELEASE_VERSION }}

Marketplace actions should default to the major tag and are essentially more stable as we have to curate every release.

A more traditional approach, the only thing really different here is a minor pull overhead and using set outputs instead of environment variables:

name: "Release"

on:
push:
branches:
- main

jobs:
release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ steps.semantic-release.outputs.release-tag }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🚀 release"
id: semantic-release
uses: open-sauced/semantic-release-conventional-config@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: "♻️ cleanup"
run: |
echo ${{ steps.semantic-release.outputs.release-tag }}
echo ${{ steps.semantic-release.outputs.release-version }}

📦 npm Usage

You can opt to use this package in your local tooling. Proceed as you would normally would, replacing npm with your package manager of choice and install the package:

npm install --save-dev @open-sauced/semantic-release-conventional-config

The shareable config can then be configured in the semantic-release configuration file:

{
"extends": "@open-sauced/semantic-release-conventional-config"
}

Now, all you need to do is create a release:

npx semantic-release

🔧 Configuration

See each plugin official documentation for the required installation and configuration steps.

npm

Set private to true in package.json if you want to disable npm or change the scope of package using publishConfig.

Keep one of the files or main keys in your package.json accurate, depending on whether you are building a library or an application.

If you publish, make sure to also provide a valid NPM_TOKEN, as .npmrc authentication is ignored in our config!

GitHub Actions

Unless you have an action.yml present in your root folder, this module is not added to the release config.

If you have an action.yml present, our config will attempt to adjust the container version to the newly pushed npm and docker tags.

Docker

Unless you have a Dockerfile present in your root folder, this module is not added to the release config.

If you have a Dockerfile present, our config will attempt to push to ghcr.io.

Environment Variables

Using our configuration comes with some sensible defaults:

  • DOCKER_USERNAME=$GITHUB_REPOSITORY_OWNER
  • DOCKER_PASSWORD=$GITHUB_TOKEN
  • GIT_COMMITTER_NAME="open-sauced[bot]"
  • GIT_COMMITTER_EMAIL="63161813+open-sauced[bot]@users.noreply.github.com"
  • GIT_AUTHOR_NAME - parsed from commit $GITHUB_SHA
  • GIT_AUTHOR_EMAIL - parsed from commit $GITHUB_SHA

Feel free to change any of the above to whatever suits your purpose. Our motivation is to keep GITHUB_TOKEN and/or NPM_TOKEN the only necessary requirements.

We are actively investigating ways to drop the two remaining variables as well!

Workflow Examples

Node Application

This example requires "private": true, in your package.json and simplifies the workflow to lightning-fast deployment:

release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🔧 setup node"
uses: actions/setup-node@v2.1.5
with:
node-version: 16

- name: "🔧 install npm@latest"
run: npm i -g npm@latest

- name: "📦 install dependencies"
uses: bahmutov/npm-install@v1

- name: "🚀 static app"
run: npm run build

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

npm Library

For npm libraries, we need to set the environment URL manually and set a NPM_TOKEN environment variable. This also disables docker builds:

name: "Release"

on:
push:
branches:
- main

jobs:
release:
environment:
name: npm
url: https://www.npmjs.com/package/@open-sauced/semantic-release-conventional-config/v/${{ env.RELEASE_VERSION }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🔧 setup node"
uses: actions/setup-node@v2.1.5
with:
node-version: 16

- name: "🔧 install npm@latest"
run: npm i -g npm@latest

- name: "📦 install dependencies"
uses: bahmutov/npm-install@v1

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

An up-to-date version of the example above is available at @open-sauced/semantic-release-conventional-config.

Docker Image

For docker builds, it's best to build your node application in parallel with the container and re-use the artifact at a later stage:

name: "Release"

on:
push:
branches:
- main

jobs:
docker:
name: Build container
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2

- name: "🔧 setup buildx"
uses: docker/setup-buildx-action@v1

- name: "🔧 cache docker layers"
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-

- name: "🔧 docker meta"
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ github.repository }}
tags: latest

- name: "📦 docker build"
uses: docker/build-push-action@v2
with:
context: .
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
outputs: type=docker,dest=/tmp/docker.tar
push: false
cache-from: type=gha, scope=${{ github.workflow }}
cache-to: type=gha, scope=${{ github.workflow }}

- name: "📂 docker artifacts"
uses: actions/upload-artifact@v2
with:
name: docker
path: /tmp/docker.tar

build:
name: Build application
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2

- name: "🔧 setup node"
uses: actions/setup-node@v2.1.5
with:
node-version: 16

- name: "🔧 install npm@latest"
run: npm i -g npm@latest

- name: "📦 install dependencies"
uses: bahmutov/npm-install@v1

- name: "📊 repository visualizer"
id: diagram
uses: githubocto/repo-visualizer@0.7.1
with:
excluded_paths: "node_modules,build,.storybook,.netlify,.github,npm-shrinkwap.json"
output_file: "public/diagram.svg"
should_push: false
artifact_name: "diagram"

- name: "🚀 static app"
run: npm run build

- name: "📂 production artifacts"
uses: actions/upload-artifact@v2
with:
name: build
path: build

release:
environment:
name: production
url: https://github.com/${{ github.repository }}/releases/tag/${{ env.RELEASE_TAG }}
name: Semantic release
needs:
- docker
- build
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "📂 download docker artifacts"
uses: actions/download-artifact@v2
with:
name: docker
path: /tmp

- name: "📦 load tag"
run: |
docker load --input /tmp/docker.tar
docker image ls -a

- name: "📂 download build artifacts"
uses: actions/download-artifact@v2
with:
name: build
path: /tmp/build

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

cleanup:
name: Cleanup actions
needs:
- release
runs-on: ubuntu-latest
steps:
- name: "♻️ remove build artifacts"
uses: geekyeggo/delete-artifact@v1
with:
name: |
build
docker

An up-to-date version of the example above is available at open-sauced/open-sauced.

Pre-Releases

This workflow requires the creation of alpha and beta protected branches while templating every commit to be conventional. It does not support squashing without creating extremely complex conflict resolution:

name: "Release"

on:
push:
branches:
- main
- beta
- alpha

jobs:
release:
environment:
name: npm
url: https://www.npmjs.com/package/open-sauced-semantic-config-test/v/${{ steps.release.outputs.version }}
name: Semantic release
runs-on: ubuntu-latest
steps:
- name: "☁️ checkout repository"
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: "🚀 release"
id: semantic-release
uses: docker://ghcr.io/open-sauced/semantic-release-conventional-config:3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

FAQs

Which Assets are Pushed to Git?

The following assets are added to git using @semantic-release/git:

{
"assets": [
"LICENSE",
"LICENSE.md",
"COPYING",
"COPYING.md",
"CHANGELOG.md",
"package.json",
"package-lock.json",
"npm-shrinkwrap.json",
"public/diagram.svg",
"action.yml"
]
}

What is the Commit Convention?

The following commit rules are enforced by @semantic-release/commit-analyzer:

{
"preset": "conventionalcommits",
"releaseRules": [
{ "type": "build", "release": "minor" },
{ "type": "ci", "release": "patch" },
{ "type": "docs", "release": "minor" },
{ "type": "style", "release": "patch" },
{ "type": "refactor", "release": "patch" },
{ "type": "test", "release": "patch" },
{ "type": "revert", "release": "patch" },
{ "type": "chore", "release": false }
],
"parserOpts": {
"noteKeywords": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"]
}
}

How to Enrich the Static Distribution?

The following assets are packed into the github release download using @semantic-release/github:

{
"assets": [
{
"path": "pack/*.tgz",
"label": "Static distribution"
}
]
}

How to Start Using Pre-Releases?

Create the alpha and/or beta branches and protect them from being deleted or pushed directly by non-administrators.

Switch your branching strategy to merge and enable conventional commits checking.

As described in the semantic-releases recipes, you will have to resolve merge conflicts between alpha, beta, and main branches.

Contributing

We're always happy to onboard people into open source!

Check out the repository at @open-sauced/semantic-release-conventional-config. ❤️

+ \ No newline at end of file diff --git a/search/index.html b/search/index.html index 2317bded..291ef140 100644 --- a/search/index.html +++ b/search/index.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/sw.js b/sw.js index 13fd1908..e65c25e3 100644 --- a/sw.js +++ b/sw.js @@ -4556,7 +4556,7 @@ function getPossibleURLs(url) { (async () => { const params = parseSwParams(); // eslint-disable-next-line no-underscore-dangle - const precacheManifest = [{"revision":"a121af5a6e10a945aff28279a1f0fa1c","url":"404.html"},{"revision":"f75700e22f190a47ebe9ff2823787ff8","url":"assets/css/styles.d1157913.css"},{"revision":"d834340355ea9c84032475e43a5ef253","url":"assets/js/0f97bf69.3cbc0224.js"},{"revision":"3ed518086b2b4b0048061df9980568bf","url":"assets/js/163a28f8.3b5bdffd.js"},{"revision":"59a0c6fdf99ad8dfce37b8e5d5e7348f","url":"assets/js/17896441.61a38f7a.js"},{"revision":"a407155aceb17556c6b020119d9d7c9e","url":"assets/js/1a4e3797.d09beb41.js"},{"revision":"a9c00f1a307add6a9b1aa230ed5d437c","url":"assets/js/1be78505.d9836bb4.js"},{"revision":"c889506ab8ce9a96bc9b6ace29bd92bb","url":"assets/js/1f391b9e.a10c7a6a.js"},{"revision":"5157f5eeac043a7e3f54b309db907de2","url":"assets/js/230.248e11b9.js"},{"revision":"ae4738c266b25941ed474c5c81c45ddc","url":"assets/js/247783bb.f8dda0e7.js"},{"revision":"a044615d298dd48e0373e0b335949677","url":"assets/js/272.1192485d.js"},{"revision":"0c8dfd0df346234e246f73d0f8549261","url":"assets/js/32aa117d.994794ca.js"},{"revision":"678203a583e4f8bf99aff51b16853485","url":"assets/js/348cc82b.535f4178.js"},{"revision":"98cff3c63a6f93a6e4021b2662c830e9","url":"assets/js/393be207.58935734.js"},{"revision":"8e13812078ca256a4b38febc15fca92a","url":"assets/js/43ab1095.fba6b88b.js"},{"revision":"27cb506a16b7fbd2fb38707c56ca5c83","url":"assets/js/43d9ba09.b0bdd205.js"},{"revision":"44ab5f18a18efc19a20bcc532b608beb","url":"assets/js/455b852b.eab4eed9.js"},{"revision":"7b87598f0d9bf2c50442563983eae1e0","url":"assets/js/4658ccba.d669e4e8.js"},{"revision":"d7beeb508445ce932724f4d271cca295","url":"assets/js/48b9cea9.d0df8f59.js"},{"revision":"3a9bdffe1bb64af3654a63bb314c3e73","url":"assets/js/4972.769da039.js"},{"revision":"84fb6d174ed9ed61cb1e3ea653740864","url":"assets/js/4c2521ce.43219370.js"},{"revision":"f7f30eeeba58ffd864bf0d42db2deb5d","url":"assets/js/4d1cfcdd.5d011d1b.js"},{"revision":"9150b580d8c5dc8f5a229db9a4416dc5","url":"assets/js/5131.7108f3ad.js"},{"revision":"dc8a6125dc644fdbf231a30871e224e3","url":"assets/js/51fe39eb.fb1db7aa.js"},{"revision":"1fef43429e4783a72ab46cf601a8e0d6","url":"assets/js/5283.048636d0.js"},{"revision":"317e94a902a764b52994749cd0fc24b3","url":"assets/js/561e6817.edb2c7d5.js"},{"revision":"2fbf2743c93d97bf54673cbe01e3cb20","url":"assets/js/580fd761.21b70507.js"},{"revision":"09ec104eff0a4f29b8d449c4c88743d2","url":"assets/js/59b068d1.d7136326.js"},{"revision":"92d3cbc3d206a1b5d26aeaf58a0d439a","url":"assets/js/5a367a69.860421b7.js"},{"revision":"e72e1c5c93fd619ae63adf0a4f5af4e4","url":"assets/js/5c57b204.19227d1d.js"},{"revision":"d0ee6547c333a9ce388b0b12f7acf382","url":"assets/js/6308756d.c8db448c.js"},{"revision":"eda8279042e7b2ea5887a85e16a0e58e","url":"assets/js/6780.391805bd.js"},{"revision":"152145cc0fd50b93eb5676985fa5db8c","url":"assets/js/6945.f269f835.js"},{"revision":"37d93f5308261cd7c362d65253b53fba","url":"assets/js/814ea625.9019a54b.js"},{"revision":"bf95c4f5001b60923c57a66d187f5804","url":"assets/js/8894.1898a1c7.js"},{"revision":"1aab58ee4301b8351e4e42037113f884","url":"assets/js/88e6cb4a.97836ee1.js"},{"revision":"662291542f8bc0dc4653224eb30ee297","url":"assets/js/914479fa.882e621c.js"},{"revision":"7036df8155fe5b716ceef5fd93e38709","url":"assets/js/935f2afb.784cab55.js"},{"revision":"88b947a5846f923516ae090a1cab7b80","url":"assets/js/9b3a7c99.2faa207d.js"},{"revision":"42bb1b3f9a1625aa789a1972d3add07b","url":"assets/js/9f7d7e44.2c6d3d0b.js"},{"revision":"337c9ba1df5437c262bf19fdb210be78","url":"assets/js/a09c2993.cc892cd2.js"},{"revision":"7192f2fbfb792e30b91fc063d1fcbd2b","url":"assets/js/a7434565.b24642f5.js"},{"revision":"0b7f2c78f89de41c57707810d593b977","url":"assets/js/a93463cf.f367a9b1.js"},{"revision":"0499f2b797ae2ba123b96991122516df","url":"assets/js/ac97b6b0.c8ee3271.js"},{"revision":"47a9994151793276aa1a1fe270673145","url":"assets/js/aef95fb0.0c667c3d.js"},{"revision":"93638566c73b514d2f389d39ee55ae84","url":"assets/js/b44b9bb7.a119e698.js"},{"revision":"0dc3efed6048fa54da63867a20e01403","url":"assets/js/b77a626d.4027a7e9.js"},{"revision":"0763af0df8f9a3d84d03faf6246ad533","url":"assets/js/b8d96084.30d7e58f.js"},{"revision":"ee1d985bde5fb923b14616adfdaf38bb","url":"assets/js/c01322eb.3d7b287b.js"},{"revision":"45caa9ad5dd8a873f3737a66bf3fbf80","url":"assets/js/cf3cdde3.475d9369.js"},{"revision":"0578ef9a5043cbefa82500606a41d099","url":"assets/js/d55a4e5f.bee165ea.js"},{"revision":"35d36058d203fe3cfe04aaa46feb426e","url":"assets/js/e0315c91.8987dbdc.js"},{"revision":"13865b44e683ae5efbf3fa8e8b553c9b","url":"assets/js/e4e25c8b.289388c6.js"},{"revision":"8758a444db3afbffc93bf958d7542bd5","url":"assets/js/e5a72a0c.52e06d28.js"},{"revision":"003700b56560ad72eefe69f59e892fb5","url":"assets/js/ea6e505e.284d300e.js"},{"revision":"98c3e5cf45b73caa7c2fb8d19b7a89cd","url":"assets/js/f3a8e19a.f8a23e6e.js"},{"revision":"e9c2ef365dea7da31c984a45da0e22e1","url":"assets/js/f8d965ab.41d2df67.js"},{"revision":"3a3440fa6f7665fd164f2c1694b79179","url":"assets/js/main.c2383506.js"},{"revision":"f56e86be72d5351d4e4fecf25897e151","url":"assets/js/runtime~main.4e096f3f.js"},{"revision":"24605745ca560836085ca8e5a9d131f3","url":"community/100-days-of-oss/index.html"},{"revision":"5a32a9c8d74f1d338623200306a58467","url":"community/hacktoberfest/index.html"},{"revision":"6b46e081a3056d1c25130eb7d4471da4","url":"community/welcome-to-the-community/index.html"},{"revision":"c6e71be6c63770fd31f4391405fa8d88","url":"contributing/code-of-conduct/index.html"},{"revision":"4855efe9a24b35087ea418aa56493779","url":"contributing/introduction-to-contributing/index.html"},{"revision":"d999ca2c6f7962228f9ab34d01746c0b","url":"contributing/opensauced-maintainers-guide/community-maintainers-guide/index.html"},{"revision":"87a405bc69359f0cd5c29423011614a1","url":"contributing/opensauced-maintainers-guide/maintainers-guide/index.html"},{"revision":"aab900d61c297a27900a2b0d50fc1386","url":"contributing/set-up-authentication/index.html"},{"revision":"7721ac59ddafeff1d4d12bc7c627c7df","url":"contributing/technical/resolve-merge-conflicts/index.html"},{"revision":"683dcffb0170530ba5817ef216e8c665","url":"contributing/technical/setup-repo-with-git/index.html"},{"revision":"fdf5e3494cfbb5fbbdb9b171b2fd9935","url":"contributing/triage-guide/index.html"},{"revision":"dc177170862a599ba0137c435e0c386c","url":"contributors/contributors-guide-to-open-sauced/index.html"},{"revision":"62221eb289f5b6eca38e188db9024606","url":"features/connections/index.html"},{"revision":"0f713e81f6dac382abd5723063c3eae8","url":"features/contributor-insights/index.html"},{"revision":"0e802b108bac4c88c89fe332a694f5fd","url":"features/dev-card/index.html"},{"revision":"6e3738d21280c608eefdb5c42a044215","url":"features/highlights/index.html"},{"revision":"e98b978802372c2f3df2e408e861705e","url":"features/repo-insights/index.html"},{"revision":"5f41ae46f365bb8d25801089aa6fff2d","url":"features/workspaces/index.html"},{"revision":"3b0f2988b9963911dd05c92222668de6","url":"index.html"},{"revision":"3130e1c3607680e2018f532321aae9ff","url":"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/index.html"},{"revision":"dae48538e69cf4e9600b4b24860ff9cd","url":"job-seekers-guide/job-seekers-guide-introduction/index.html"},{"revision":"23ebd58bda4f3eafc380c87badeb3134","url":"maintainers/maintainers-guide-to-open-sauced/index.html"},{"revision":"58b7f9f778ab2a3be5d96ec4fe1c4f87","url":"maintainers/understanding-contribs-insights/index.html"},{"revision":"c2e54487b07a482ac7e238bcf532d9f1","url":"maintainers/understanding-repo-insights/index.html"},{"revision":"5c749681ffc49561041a053082f4e1ef","url":"manifest.json"},{"revision":"d8aec6c53e1b87ccc5278ce067ea880a","url":"markdown-page/index.html"},{"revision":"5f8aee5c99c1d65a3089fb2e501a14dc","url":"opensauced-packages/check-engines/index.html"},{"revision":"3b1d39c89d1276fec3325925639dc3c4","url":"opensauced-packages/conventional-commit/index.html"},{"revision":"26717129d9d3be3a383e5df675869003","url":"opensauced-packages/semantic-release/index.html"},{"revision":"0ad53917d25bd9601eb87e3e165f601d","url":"search/index.html"},{"revision":"7a3d7d2d4baf9710c5be3c17760715e3","url":"tools/chrome-extension/code-explanation/index.html"},{"revision":"c203e9bfed7c19338391c2086f29f708","url":"tools/chrome-extension/highlights/index.html"},{"revision":"02fd9f05f4fbb59841322bfad2201ffa","url":"tools/chrome-extension/introduction-to-the-chrome-extension/index.html"},{"revision":"4f6dfb17e52a2a46dda05e481dab507a","url":"tools/chrome-extension/pr-description/index.html"},{"revision":"5921cfbad6ad36a678b4ae4d159c1e65","url":"tools/chrome-extension/refactoring-and-testing/index.html"},{"revision":"d2bb2906e3e78843f8946bea71886e81","url":"tools/chrome-extension/viewing-insights-and-invitations/index.html"},{"revision":"0aaa1531cc82f12f3341f2d32a958287","url":"tools/hot-opensauced/index.html"},{"revision":"c6b3a3444cc8741af93fb3f6ca37b37a","url":"tools/pizza-cli/index.html"},{"revision":"ec71c5eacc7376c053ebac6a515b54d9","url":"welcome/faqs/index.html"},{"revision":"52e629da7396f584682d04b2b71d8e83","url":"welcome/glossary/index.html"},{"revision":"a03cb26f60165026ce3834d291624e88","url":"welcome/opensauced-intro/index.html"},{"revision":"f5d6709f185ff81514bf813df9ae10ca","url":"android-chrome-192x192.png"},{"revision":"6697696aa02fc51b60faa764d9250e49","url":"android-chrome-512x512.png"},{"revision":"dfdb48dea188986dd0e6a33561798096","url":"apple-touch-icon.png"},{"revision":"3b659a442044a121fe671e755541a016","url":"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},{"revision":"9a30a9699adaa6743d03943c7277f51a","url":"assets/images/access-workspace-547a99c3e2b489313f19aa5d5a73d73e.png"},{"revision":"a6e7a658c3e7de14ed8efb7824506298","url":"assets/images/activity-repos-insights-3734baf3ab38356a4de96d43dde41a3d.png"},{"revision":"0873d0ce794b97956bf633883c5edd1c","url":"assets/images/add-to-workspace-e8e843efa9c124bbce60110af201612a.png"},{"revision":"60ef20a5c4a5312ff3ea0bb2eb0688b0","url":"assets/images/contrib-insight-new-f821e7b17235b6c7ea7d7d1dedf9573b.png"},{"revision":"7ff0b1c7406c50ea48677199f04990af","url":"assets/images/contributing-avatar-top-right-4063afad1b9c314a1e261c492a65447c.png"},{"revision":"8bbebbf45920dc49f3f0dc29e012891f","url":"assets/images/contributing-print-auth-token-e1370316da4c4747a853289f72842d56.png"},{"revision":"85e7a50783c05df9e5464199a331861a","url":"assets/images/contributing-resolve-merge-conflicts-dont-do-9703e3dffc76ef8c046f2fd7b506676f.png"},{"revision":"5aab0048cfc3e35936e9729bef39a5be","url":"assets/images/contributing-resolve-merge-conflicts-review-conflicts-5df5a5e4934e39d9e07bcd96e53d7c3f.png"},{"revision":"3339aa4e65067f863272c668dffad3a0","url":"assets/images/contributing-token-printed-to-console-0deb43e35d7b18560ccf573c6f0411cc.png"},{"revision":"942127fb6ee320d2e55ca762a71fe1a4","url":"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},{"revision":"b65c2ad76632446c06cdda363c423f0d","url":"assets/images/extension-invite-b7bf72c8cbdf9a9d68614971b05896c1.png"},{"revision":"5ce6e21f511a9b5ea33b6ec78faa034b","url":"assets/images/extension-popup-0c8898c6c29c0a9a694fc95d24ecdc94.png"},{"revision":"0b5ccc70714107fb6ecb154f6e16bff3","url":"assets/images/extension-view-18fe042acf7d3e3b94aad7476a6dfd83.png"},{"revision":"3df8f23080b4f1b9627ccff3cbe9ad29","url":"assets/images/files-changed-tab-867f60b1281f09ba23cea7234e7703b5.png"},{"revision":"c7436a5635cd411e208b2eb74599bd2a","url":"assets/images/get-dev-card-c62768aa8c13ad8dd99b2ee0e83cfa12.png"},{"revision":"a1afe2023011c6bbd77041f038a1ca5b","url":"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},{"revision":"8bb7ed044e608471e304f769be869aaa","url":"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},{"revision":"6a711ec870f753c330c44591e6252ce8","url":"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},{"revision":"1e5dc68194c89ec354432460b9712c0f","url":"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},{"revision":"f004ac39bce807729f0a357970e8be3f","url":"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"},{"revision":"adff7c9d6e841375c19ba9db67d5f0b2","url":"assets/images/ml-explore-page-704a5b0153e392938e6f0e34a7e3a82d.png"},{"revision":"7f28dce5ced388db21864a84165ebb88","url":"assets/images/popular-repos-hot-opensauced-05f55b2302e73e41e51817408de73de9.png"},{"revision":"e77039e4f94628cd0c7fedf9150c7849","url":"assets/images/pr-code-explain-4dde1737ae1b0792fc287750ae7de5fd.gif"},{"revision":"ddb33f547ba11f150595627a14955a08","url":"assets/images/pr-code-refactor-2b26ff383ff3a6351a5b4feda98abafd.gif"},{"revision":"91c2ff76bfaa8872b1272d4b50204230","url":"assets/images/pr-code-test-90211422d3a31f62a0d0c8e073d7454a.gif"},{"revision":"fa8f293ee36f4ca34c56336e202c434f","url":"assets/images/pr-description-e9b163f4d321927a53dd90d340fec85f.gif"},{"revision":"200693f2d62b5719ccf6ef6d09400326","url":"assets/images/profile-d4fae85bbb516b6a5b5837a3d137c223.png"},{"revision":"ccde64e85c920d1f1b6f58850981dd3e","url":"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"},{"revision":"c7aa7ae15965cf4e1dafb25bcccedcd5","url":"assets/images/settings-748558f026c2a0b1c23cbb3648bf3a05.png"},{"revision":"a94d3e179e3bb5babcb57ca086e74434","url":"assets/images/sync-branch-GH-36c4d46d1782388d799fee76fe10398b.png"},{"revision":"c02e7355bbfc772590e19c89c1ee888c","url":"assets/images/team-sync-09e7e2ab7b54fae335f5b4c40cce94b1.gif"},{"revision":"c61edff8017536f394e500a38fd935be","url":"assets/images/team-sync-insights-d4d7794d5e28b72ffb375595c988cd37.gif"},{"revision":"31a4fb0bc61245920f543b0bb1c16ead","url":"assets/images/upvoted-repos-hot-opensauced-7b2cb4c0ada4836c56ad7b8e0484f907.png"},{"revision":"640588166e56d1eaf1560ae7fc235ec7","url":"assets/images/what-is-opensauced-borderless-0a51e6d81902d2866db643a60eae78c7.jpg"},{"revision":"07fb795d85529697a3d9a167dcb4f8c2","url":"assets/images/workspace-a7b3cbb522d0e99c0c233eec200a038c.png"},{"revision":"ce0d1a66c005053c9e7c4a6a003abcf1","url":"assets/images/workspace-sidebar-b94b7d7a5e2643911f2b66c157ce53b7.png"},{"revision":"01e77187fc3ad1d8300016a28ec01ff3","url":"assets/images/workspace-switcher-b2400ec5c309a762f822268b44779930.png"},{"revision":"dd1a3c1387fea50127026053ac769d8d","url":"favicon-16x16.png"},{"revision":"fb9bbd843e90e21de842ce787c8eacb0","url":"favicon-32x32.png"},{"revision":"2f44b184c82e0099cd08ea8779bcabbe","url":"favicon.ico"},{"revision":"a1afe2023011c6bbd77041f038a1ca5b","url":"gif/highlight.gif"},{"revision":"6a711ec870f753c330c44591e6252ce8","url":"gif/insight-page-demo.gif"},{"revision":"e77039e4f94628cd0c7fedf9150c7849","url":"gif/pr-code-explain.gif"},{"revision":"ddb33f547ba11f150595627a14955a08","url":"gif/pr-code-refactor.gif"},{"revision":"91c2ff76bfaa8872b1272d4b50204230","url":"gif/pr-code-test.gif"},{"revision":"fa8f293ee36f4ca34c56336e202c434f","url":"gif/pr-description.gif"},{"revision":"c61edff8017536f394e500a38fd935be","url":"gif/team-sync-insights.gif"},{"revision":"c02e7355bbfc772590e19c89c1ee888c","url":"gif/team-sync.gif"},{"revision":"de0de7f3698fca5b09bb81ee582efa52","url":"icon-144x144.png"},{"revision":"a90cf80d4a11415fc061ac639e8598ef","url":"icon-192x192.png"},{"revision":"daaaa50e6ddecab8ed1331fa46eb80e5","url":"icon-72x72.png"},{"revision":"c34b89463566422f2b3b45138e5a76d4","url":"icon-96x96.png"},{"revision":"3b659a442044a121fe671e755541a016","url":"img/a-dev-card.png"},{"revision":"9a30a9699adaa6743d03943c7277f51a","url":"img/access-workspace.png"},{"revision":"a6e7a658c3e7de14ed8efb7824506298","url":"img/activity-repos-insights.png"},{"revision":"0873d0ce794b97956bf633883c5edd1c","url":"img/add-to-workspace.png"},{"revision":"60ef20a5c4a5312ff3ea0bb2eb0688b0","url":"img/contrib-insight-new.png"},{"revision":"7ff0b1c7406c50ea48677199f04990af","url":"img/contributing-avatar-top-right.png"},{"revision":"181e0b93aebb788b42302b6929fea593","url":"img/contributing-maintainers-create-repository.png"},{"revision":"fcb1e1d3ec3de5da9da2b3adc6f07b02","url":"img/contributing-maintainers-env.png"},{"revision":"2ccd24487c12e0ab164d8093efdcca56","url":"img/contributing-maintainers-merge-protections.png"},{"revision":"409c1762e7d639f5c252d7f05d7db45f","url":"img/contributing-maintainers-merge-settings.png"},{"revision":"8bbebbf45920dc49f3f0dc29e012891f","url":"img/contributing-print-auth-token.png"},{"revision":"895411932aa5e2237c378d596fdfd069","url":"img/contributing-resolve-merge-conflicts-commit-message.png"},{"revision":"85e7a50783c05df9e5464199a331861a","url":"img/contributing-resolve-merge-conflicts-dont-do.png"},{"revision":"70c651fd54dd4e84b8fa185dd96d5db7","url":"img/contributing-resolve-merge-conflicts-merge-conflicts.png"},{"revision":"195b8ef6ea85ca5648fe8525c727e7b4","url":"img/contributing-resolve-merge-conflicts-merge-success.png"},{"revision":"3499b11290765adda0584d9d7a5a86bf","url":"img/contributing-resolve-merge-conflicts-ready-to-merge.png"},{"revision":"5aab0048cfc3e35936e9729bef39a5be","url":"img/contributing-resolve-merge-conflicts-review-conflicts.png"},{"revision":"a25e9ab7aab5320b491f573b7dba0f36","url":"img/contributing-resolve-merge-conflicts-view-merge-commit.png"},{"revision":"3339aa4e65067f863272c668dffad3a0","url":"img/contributing-token-printed-to-console.png"},{"revision":"942127fb6ee320d2e55ca762a71fe1a4","url":"img/contributors-insights.png"},{"revision":"b65c2ad76632446c06cdda363c423f0d","url":"img/extension-invite.png"},{"revision":"710464e74af65c4fd024cd416832c642","url":"img/extension-links.png"},{"revision":"5ce6e21f511a9b5ea33b6ec78faa034b","url":"img/extension-popup.png"},{"revision":"0b5ccc70714107fb6ecb154f6e16bff3","url":"img/extension-view.png"},{"revision":"876d22e3510bda31ab816add5c9c8e5b","url":"img/favicon.ico"},{"revision":"3df8f23080b4f1b9627ccff3cbe9ad29","url":"img/files-changed-tab.png"},{"revision":"c7436a5635cd411e208b2eb74599bd2a","url":"img/get-dev-card.png"},{"revision":"8bb7ed044e608471e304f769be869aaa","url":"img/highlights.png"},{"revision":"1e5dc68194c89ec354432460b9712c0f","url":"img/list-graph.png"},{"revision":"f004ac39bce807729f0a357970e8be3f","url":"img/lists-page.svg"},{"revision":"3b6c5d852ad7542f4b897254717810db","url":"img/logo_darkmode.png"},{"revision":"e93cdf20a7ce8d4792cd4c536e6e811d","url":"img/logo_lightmode.png"},{"revision":"0bc5e10806a22fbd376651dc8b2bd49c","url":"img/logo.svg"},{"revision":"adff7c9d6e841375c19ba9db67d5f0b2","url":"img/ml-explore-page.png"},{"revision":"76ed877972409e62d57b101ca7ed3563","url":"img/openSauced-icon.png"},{"revision":"7f28dce5ced388db21864a84165ebb88","url":"img/popular-repos-hot-opensauced.png"},{"revision":"6d7df3fb8347bf78540107b0a466c0c7","url":"img/pr-velocity-example.png"},{"revision":"200693f2d62b5719ccf6ef6d09400326","url":"img/profile.png"},{"revision":"ccde64e85c920d1f1b6f58850981dd3e","url":"img/repos-insights.png"},{"revision":"c7aa7ae15965cf4e1dafb25bcccedcd5","url":"img/settings.png"},{"revision":"a94d3e179e3bb5babcb57ca086e74434","url":"img/sync-branch-GH.png"},{"revision":"31a4fb0bc61245920f543b0bb1c16ead","url":"img/upvoted-repos-hot-opensauced.png"},{"revision":"640588166e56d1eaf1560ae7fc235ec7","url":"img/what-is-opensauced-borderless.jpg"},{"revision":"83d91aa6d9976e8e6f7092ba727f611b","url":"img/what-is-opensauced.jpg"},{"revision":"d30381155966797309fb49a060270cd0","url":"img/what-is-opensauced.png"},{"revision":"ce0d1a66c005053c9e7c4a6a003abcf1","url":"img/workspace-sidebar.png"},{"revision":"01e77187fc3ad1d8300016a28ec01ff3","url":"img/workspace-switcher.png"},{"revision":"07fb795d85529697a3d9a167dcb4f8c2","url":"img/workspace.png"}]; + const precacheManifest = [{"revision":"9bd488629d3c19652322ff9b6397043a","url":"404.html"},{"revision":"f75700e22f190a47ebe9ff2823787ff8","url":"assets/css/styles.d1157913.css"},{"revision":"c32bba256999fb1a712700e81de87ccf","url":"assets/js/0f97bf69.aaf795ca.js"},{"revision":"64454461b51d0cc38a691bde28bd1d5c","url":"assets/js/163a28f8.ad72db68.js"},{"revision":"59a0c6fdf99ad8dfce37b8e5d5e7348f","url":"assets/js/17896441.61a38f7a.js"},{"revision":"a407155aceb17556c6b020119d9d7c9e","url":"assets/js/1a4e3797.d09beb41.js"},{"revision":"a9c00f1a307add6a9b1aa230ed5d437c","url":"assets/js/1be78505.d9836bb4.js"},{"revision":"c889506ab8ce9a96bc9b6ace29bd92bb","url":"assets/js/1f391b9e.a10c7a6a.js"},{"revision":"5157f5eeac043a7e3f54b309db907de2","url":"assets/js/230.248e11b9.js"},{"revision":"ae4738c266b25941ed474c5c81c45ddc","url":"assets/js/247783bb.f8dda0e7.js"},{"revision":"a044615d298dd48e0373e0b335949677","url":"assets/js/272.1192485d.js"},{"revision":"b6d622b96ea8864a4a2af661aefb7d20","url":"assets/js/32aa117d.10376a28.js"},{"revision":"76daafc100843781023e68e014019e5c","url":"assets/js/348cc82b.04fc7f44.js"},{"revision":"98cff3c63a6f93a6e4021b2662c830e9","url":"assets/js/393be207.58935734.js"},{"revision":"a0a5d82a1d287377c648c08ed630620c","url":"assets/js/43ab1095.66513162.js"},{"revision":"b1988556a699997e682b4fca2a9680b7","url":"assets/js/43d9ba09.c699c8a9.js"},{"revision":"1467ce999b2f930edbd588fc86f99ba0","url":"assets/js/455b852b.2ee2b193.js"},{"revision":"d55687c39e3d42bfa6b5ffe8c5d34a86","url":"assets/js/4658ccba.402d7ecb.js"},{"revision":"5ca92f0935fbeb58fcdcbbeebb6d69ad","url":"assets/js/48b9cea9.63358515.js"},{"revision":"3a9bdffe1bb64af3654a63bb314c3e73","url":"assets/js/4972.769da039.js"},{"revision":"c003caaa101ef6f304b128896b2e875d","url":"assets/js/4c2521ce.2f13ba57.js"},{"revision":"a4e426787ba212e5fd4c3f8b09e1bb9f","url":"assets/js/4d1cfcdd.aff82b65.js"},{"revision":"9150b580d8c5dc8f5a229db9a4416dc5","url":"assets/js/5131.7108f3ad.js"},{"revision":"1e0100696dfec5d1905fa53a07b21fb4","url":"assets/js/51fe39eb.73736a51.js"},{"revision":"1fef43429e4783a72ab46cf601a8e0d6","url":"assets/js/5283.048636d0.js"},{"revision":"f327c0ecd05490d0c0f104bd74dfe012","url":"assets/js/561e6817.5a4fe194.js"},{"revision":"8c8f37cbc464dd7b7175150c13ceb8ae","url":"assets/js/580fd761.3bd7c9d9.js"},{"revision":"09ec104eff0a4f29b8d449c4c88743d2","url":"assets/js/59b068d1.d7136326.js"},{"revision":"3a14b0af5e22f232d738c2688cfcb9e7","url":"assets/js/5a367a69.e4aebccf.js"},{"revision":"12bca21482113b4fc5652923d12f9641","url":"assets/js/5c57b204.a749f47d.js"},{"revision":"ff738fa4ae391308231f04c98eae7248","url":"assets/js/6308756d.67362877.js"},{"revision":"eda8279042e7b2ea5887a85e16a0e58e","url":"assets/js/6780.391805bd.js"},{"revision":"152145cc0fd50b93eb5676985fa5db8c","url":"assets/js/6945.f269f835.js"},{"revision":"1801db1f6b6443eadd4fe8268ba56ae7","url":"assets/js/814ea625.55042e61.js"},{"revision":"bf95c4f5001b60923c57a66d187f5804","url":"assets/js/8894.1898a1c7.js"},{"revision":"6e0c204400bcedbce56e915b18c42ebb","url":"assets/js/88e6cb4a.467e19a3.js"},{"revision":"fa329fc067f621c6664ab6b67fcac940","url":"assets/js/914479fa.16cbddfd.js"},{"revision":"7036df8155fe5b716ceef5fd93e38709","url":"assets/js/935f2afb.784cab55.js"},{"revision":"03c6f8ddef364a6751d3946ea6b7b423","url":"assets/js/9b3a7c99.81fc04e6.js"},{"revision":"3343e0348ef75ac8738d506c1888ce0a","url":"assets/js/9f7d7e44.85f3784e.js"},{"revision":"3e9e5537e9bf85693c94efeee1a7577c","url":"assets/js/a09c2993.45729054.js"},{"revision":"7192f2fbfb792e30b91fc063d1fcbd2b","url":"assets/js/a7434565.b24642f5.js"},{"revision":"d958426d3e0d6daba4c9e204b40fc1e1","url":"assets/js/a93463cf.850029f4.js"},{"revision":"f0ba8101a9eb731c3f6197fe9b3b0c34","url":"assets/js/ac97b6b0.e602253c.js"},{"revision":"fcbc89dda9673c4002ebdd56b8138d68","url":"assets/js/aef95fb0.b676a682.js"},{"revision":"d3eaee2789a4ae0c6cff3fd68309456c","url":"assets/js/b44b9bb7.3b9dfb6b.js"},{"revision":"7c5e5023f247a5936eef92884c8d10ef","url":"assets/js/b77a626d.d642a6ff.js"},{"revision":"1af4e2f4c87bb49d1edbe4cce27056dc","url":"assets/js/b8d96084.e280eb49.js"},{"revision":"41d0ed1d12861bc1479a50a00db92143","url":"assets/js/c01322eb.62ad04f5.js"},{"revision":"7910143a7e663af87d14ded880e20e2e","url":"assets/js/cf3cdde3.83e406e2.js"},{"revision":"156728e45bd15f17bd1259a59e8491b9","url":"assets/js/d55a4e5f.6ced2a21.js"},{"revision":"a81bb4a35784e430306d6e17581ededa","url":"assets/js/e0315c91.50ac15cf.js"},{"revision":"776da86d0cf034d73431f57f631ecac4","url":"assets/js/e4e25c8b.e35c44f4.js"},{"revision":"642a0597aee84782ce385a29f61c408d","url":"assets/js/e5a72a0c.2bd242b3.js"},{"revision":"e3ce9b2faeb958b88bf063ea66748d9b","url":"assets/js/ea6e505e.88b8302b.js"},{"revision":"8157880e895aca011c593082f7c7c49d","url":"assets/js/f3a8e19a.419c160c.js"},{"revision":"0e3fba0829606ee8394a719be21adc8f","url":"assets/js/f8d965ab.959d5e27.js"},{"revision":"3a3440fa6f7665fd164f2c1694b79179","url":"assets/js/main.c2383506.js"},{"revision":"e9fa75221b7e012a72dcd02af050c125","url":"assets/js/runtime~main.03523fc5.js"},{"revision":"dabf4669c89d7a0c2c45f05c0c9600d4","url":"community/100-days-of-oss/index.html"},{"revision":"836a3f59f98338ec20f05be616b893b7","url":"community/hacktoberfest/index.html"},{"revision":"0adcaa874b681d2ef819e0f504663372","url":"community/welcome-to-the-community/index.html"},{"revision":"413ede1aa7c6b381b377c25e5988024e","url":"contributing/code-of-conduct/index.html"},{"revision":"423f652f147d3a2c469fea347d6ac112","url":"contributing/introduction-to-contributing/index.html"},{"revision":"2d06cfb694f6434a88aa3b458f7db93a","url":"contributing/opensauced-maintainers-guide/community-maintainers-guide/index.html"},{"revision":"6407ed15f2359cc64fe254c2b9d82b7a","url":"contributing/opensauced-maintainers-guide/maintainers-guide/index.html"},{"revision":"7e5f6a5ffd44c8b5289b0bc61ea8d5bf","url":"contributing/set-up-authentication/index.html"},{"revision":"2a14e7852c9f2a0f4c481b436a743341","url":"contributing/technical/resolve-merge-conflicts/index.html"},{"revision":"89ce7f09cfc6fe1f0fc33d4b2bdef025","url":"contributing/technical/setup-repo-with-git/index.html"},{"revision":"80856855de09daabf8334e82687cb2b9","url":"contributing/triage-guide/index.html"},{"revision":"9898a79600fc484977f3351a16996b01","url":"contributors/contributors-guide-to-open-sauced/index.html"},{"revision":"cfcdf7da1ebea75298dba6cfbd8da4ff","url":"features/connections/index.html"},{"revision":"d0251721b75cb5ccc4633f1d6369b928","url":"features/contributor-insights/index.html"},{"revision":"c2fed337cee0898a51e6662d77ce1409","url":"features/dev-card/index.html"},{"revision":"b2df5142099035c3e03e6a4453278c91","url":"features/highlights/index.html"},{"revision":"b9d2f330459727eac2a461695c96791b","url":"features/repo-insights/index.html"},{"revision":"dec001321c4ac4eb020795f5503d932a","url":"features/workspaces/index.html"},{"revision":"193a03d16927248eda4a6cfea5bda28c","url":"index.html"},{"revision":"df5087021b0ebaa602a4b7ec22667c4c","url":"job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities/index.html"},{"revision":"af9c05cc8a95fa7c404323c3a5f4dadb","url":"job-seekers-guide/job-seekers-guide-introduction/index.html"},{"revision":"d9fa8445fa855f94275df88d6ac179ed","url":"maintainers/maintainers-guide-to-open-sauced/index.html"},{"revision":"c87d3452eb9f564890e2502a9caa7194","url":"maintainers/understanding-contribs-insights/index.html"},{"revision":"5913f10de9536cf4393b472f07a30b1d","url":"maintainers/understanding-repo-insights/index.html"},{"revision":"5c749681ffc49561041a053082f4e1ef","url":"manifest.json"},{"revision":"38227cb6d9ade9b7f0af575e9663c9a1","url":"markdown-page/index.html"},{"revision":"5c60e292d400b21bafb5f2efcc39c555","url":"opensauced-packages/check-engines/index.html"},{"revision":"49d6ff3b08f6677827b4470e9708b726","url":"opensauced-packages/conventional-commit/index.html"},{"revision":"7ba4905afb1f031dcc7070cee3339a50","url":"opensauced-packages/semantic-release/index.html"},{"revision":"44d6d0aa1a8f560a924134501ae0f8c3","url":"search/index.html"},{"revision":"15658eeda302c34fed31b612994082e5","url":"tools/chrome-extension/code-explanation/index.html"},{"revision":"3f510b588c96f55c1ec64d14556f17f1","url":"tools/chrome-extension/highlights/index.html"},{"revision":"686b02a7f8a0a20ede7035b3da4e5a96","url":"tools/chrome-extension/introduction-to-the-chrome-extension/index.html"},{"revision":"d2c806daf062a32ca037bc496b11fc75","url":"tools/chrome-extension/pr-description/index.html"},{"revision":"3880cf6f2ae03bc02e836ee0eb90cb66","url":"tools/chrome-extension/refactoring-and-testing/index.html"},{"revision":"1a32f2c20ee55f54f718029c4f2a69c9","url":"tools/chrome-extension/viewing-insights-and-invitations/index.html"},{"revision":"dbbc12a128671a9236091bbb40e08384","url":"tools/hot-opensauced/index.html"},{"revision":"8afcb1d48f21eee06a517d62ff2f6ca7","url":"tools/pizza-cli/index.html"},{"revision":"1e66e0c7f142d3370dccbe642ea9b8a3","url":"welcome/faqs/index.html"},{"revision":"725aef18178fa62d5109e5656185f805","url":"welcome/glossary/index.html"},{"revision":"7dc94660e23e7482d068eddade19fd8b","url":"welcome/opensauced-intro/index.html"},{"revision":"f5d6709f185ff81514bf813df9ae10ca","url":"android-chrome-192x192.png"},{"revision":"6697696aa02fc51b60faa764d9250e49","url":"android-chrome-512x512.png"},{"revision":"dfdb48dea188986dd0e6a33561798096","url":"apple-touch-icon.png"},{"revision":"3b659a442044a121fe671e755541a016","url":"assets/images/a-dev-card-f7b01f48467c20d93ddb9814e8e54918.png"},{"revision":"a6e7a658c3e7de14ed8efb7824506298","url":"assets/images/activity-repos-insights-3734baf3ab38356a4de96d43dde41a3d.png"},{"revision":"0873d0ce794b97956bf633883c5edd1c","url":"assets/images/add-to-workspace-e8e843efa9c124bbce60110af201612a.png"},{"revision":"60ef20a5c4a5312ff3ea0bb2eb0688b0","url":"assets/images/contrib-insight-new-f821e7b17235b6c7ea7d7d1dedf9573b.png"},{"revision":"7ff0b1c7406c50ea48677199f04990af","url":"assets/images/contributing-avatar-top-right-4063afad1b9c314a1e261c492a65447c.png"},{"revision":"8bbebbf45920dc49f3f0dc29e012891f","url":"assets/images/contributing-print-auth-token-e1370316da4c4747a853289f72842d56.png"},{"revision":"85e7a50783c05df9e5464199a331861a","url":"assets/images/contributing-resolve-merge-conflicts-dont-do-9703e3dffc76ef8c046f2fd7b506676f.png"},{"revision":"5aab0048cfc3e35936e9729bef39a5be","url":"assets/images/contributing-resolve-merge-conflicts-review-conflicts-5df5a5e4934e39d9e07bcd96e53d7c3f.png"},{"revision":"3339aa4e65067f863272c668dffad3a0","url":"assets/images/contributing-token-printed-to-console-0deb43e35d7b18560ccf573c6f0411cc.png"},{"revision":"942127fb6ee320d2e55ca762a71fe1a4","url":"assets/images/contributors-insights-1bc09dd6a32c3a16eba8b63ec351157f.png"},{"revision":"b65c2ad76632446c06cdda363c423f0d","url":"assets/images/extension-invite-b7bf72c8cbdf9a9d68614971b05896c1.png"},{"revision":"5ce6e21f511a9b5ea33b6ec78faa034b","url":"assets/images/extension-popup-0c8898c6c29c0a9a694fc95d24ecdc94.png"},{"revision":"0b5ccc70714107fb6ecb154f6e16bff3","url":"assets/images/extension-view-18fe042acf7d3e3b94aad7476a6dfd83.png"},{"revision":"3df8f23080b4f1b9627ccff3cbe9ad29","url":"assets/images/files-changed-tab-867f60b1281f09ba23cea7234e7703b5.png"},{"revision":"c7436a5635cd411e208b2eb74599bd2a","url":"assets/images/get-dev-card-c62768aa8c13ad8dd99b2ee0e83cfa12.png"},{"revision":"a1afe2023011c6bbd77041f038a1ca5b","url":"assets/images/highlight-e3a2da2446fe91467a31d225755bf40a.gif"},{"revision":"8bb7ed044e608471e304f769be869aaa","url":"assets/images/highlights-fcc750f036bb2ea7c11166c8338d7f6c.png"},{"revision":"6a711ec870f753c330c44591e6252ce8","url":"assets/images/insight-page-demo-cc2291df69361b2d476ccffcdbd1ee25.gif"},{"revision":"1e5dc68194c89ec354432460b9712c0f","url":"assets/images/list-graph-a730e101fea2e18df0d76faed967f4e6.png"},{"revision":"f004ac39bce807729f0a357970e8be3f","url":"assets/images/lists-page-ba64789ac5cf5f607e2784276240dc5e.svg"},{"revision":"adff7c9d6e841375c19ba9db67d5f0b2","url":"assets/images/ml-explore-page-704a5b0153e392938e6f0e34a7e3a82d.png"},{"revision":"7f28dce5ced388db21864a84165ebb88","url":"assets/images/popular-repos-hot-opensauced-05f55b2302e73e41e51817408de73de9.png"},{"revision":"e77039e4f94628cd0c7fedf9150c7849","url":"assets/images/pr-code-explain-4dde1737ae1b0792fc287750ae7de5fd.gif"},{"revision":"ddb33f547ba11f150595627a14955a08","url":"assets/images/pr-code-refactor-2b26ff383ff3a6351a5b4feda98abafd.gif"},{"revision":"91c2ff76bfaa8872b1272d4b50204230","url":"assets/images/pr-code-test-90211422d3a31f62a0d0c8e073d7454a.gif"},{"revision":"fa8f293ee36f4ca34c56336e202c434f","url":"assets/images/pr-description-e9b163f4d321927a53dd90d340fec85f.gif"},{"revision":"200693f2d62b5719ccf6ef6d09400326","url":"assets/images/profile-d4fae85bbb516b6a5b5837a3d137c223.png"},{"revision":"ccde64e85c920d1f1b6f58850981dd3e","url":"assets/images/repos-insights-2db5d8c668cee2f528f47ae986d664c7.png"},{"revision":"c7aa7ae15965cf4e1dafb25bcccedcd5","url":"assets/images/settings-748558f026c2a0b1c23cbb3648bf3a05.png"},{"revision":"a94d3e179e3bb5babcb57ca086e74434","url":"assets/images/sync-branch-GH-36c4d46d1782388d799fee76fe10398b.png"},{"revision":"c02e7355bbfc772590e19c89c1ee888c","url":"assets/images/team-sync-09e7e2ab7b54fae335f5b4c40cce94b1.gif"},{"revision":"c61edff8017536f394e500a38fd935be","url":"assets/images/team-sync-insights-d4d7794d5e28b72ffb375595c988cd37.gif"},{"revision":"31a4fb0bc61245920f543b0bb1c16ead","url":"assets/images/upvoted-repos-hot-opensauced-7b2cb4c0ada4836c56ad7b8e0484f907.png"},{"revision":"640588166e56d1eaf1560ae7fc235ec7","url":"assets/images/what-is-opensauced-borderless-0a51e6d81902d2866db643a60eae78c7.jpg"},{"revision":"0194702a05865952ba81c4c8f7a8b1e6","url":"assets/images/workspace-644e59bed496d2a0df7502aaa833129e.png"},{"revision":"5081ad3b60c74f4fba7caf1391823728","url":"assets/images/workspace-access-72e8f9933caa4b45be55046d94f84fdb.png"},{"revision":"3db4d3ccb70f6cd4a9d416a6c45d1103","url":"assets/images/workspace-sidebar-258a48d99ed9cb31f7449da2de965d86.png"},{"revision":"01e77187fc3ad1d8300016a28ec01ff3","url":"assets/images/workspace-switcher-b2400ec5c309a762f822268b44779930.png"},{"revision":"dd1a3c1387fea50127026053ac769d8d","url":"favicon-16x16.png"},{"revision":"fb9bbd843e90e21de842ce787c8eacb0","url":"favicon-32x32.png"},{"revision":"2f44b184c82e0099cd08ea8779bcabbe","url":"favicon.ico"},{"revision":"a1afe2023011c6bbd77041f038a1ca5b","url":"gif/highlight.gif"},{"revision":"6a711ec870f753c330c44591e6252ce8","url":"gif/insight-page-demo.gif"},{"revision":"e77039e4f94628cd0c7fedf9150c7849","url":"gif/pr-code-explain.gif"},{"revision":"ddb33f547ba11f150595627a14955a08","url":"gif/pr-code-refactor.gif"},{"revision":"91c2ff76bfaa8872b1272d4b50204230","url":"gif/pr-code-test.gif"},{"revision":"fa8f293ee36f4ca34c56336e202c434f","url":"gif/pr-description.gif"},{"revision":"c61edff8017536f394e500a38fd935be","url":"gif/team-sync-insights.gif"},{"revision":"c02e7355bbfc772590e19c89c1ee888c","url":"gif/team-sync.gif"},{"revision":"de0de7f3698fca5b09bb81ee582efa52","url":"icon-144x144.png"},{"revision":"a90cf80d4a11415fc061ac639e8598ef","url":"icon-192x192.png"},{"revision":"daaaa50e6ddecab8ed1331fa46eb80e5","url":"icon-72x72.png"},{"revision":"c34b89463566422f2b3b45138e5a76d4","url":"icon-96x96.png"},{"revision":"3b659a442044a121fe671e755541a016","url":"img/a-dev-card.png"},{"revision":"9a30a9699adaa6743d03943c7277f51a","url":"img/access-workspace.png"},{"revision":"a6e7a658c3e7de14ed8efb7824506298","url":"img/activity-repos-insights.png"},{"revision":"0873d0ce794b97956bf633883c5edd1c","url":"img/add-to-workspace.png"},{"revision":"60ef20a5c4a5312ff3ea0bb2eb0688b0","url":"img/contrib-insight-new.png"},{"revision":"7ff0b1c7406c50ea48677199f04990af","url":"img/contributing-avatar-top-right.png"},{"revision":"181e0b93aebb788b42302b6929fea593","url":"img/contributing-maintainers-create-repository.png"},{"revision":"fcb1e1d3ec3de5da9da2b3adc6f07b02","url":"img/contributing-maintainers-env.png"},{"revision":"2ccd24487c12e0ab164d8093efdcca56","url":"img/contributing-maintainers-merge-protections.png"},{"revision":"409c1762e7d639f5c252d7f05d7db45f","url":"img/contributing-maintainers-merge-settings.png"},{"revision":"8bbebbf45920dc49f3f0dc29e012891f","url":"img/contributing-print-auth-token.png"},{"revision":"895411932aa5e2237c378d596fdfd069","url":"img/contributing-resolve-merge-conflicts-commit-message.png"},{"revision":"85e7a50783c05df9e5464199a331861a","url":"img/contributing-resolve-merge-conflicts-dont-do.png"},{"revision":"70c651fd54dd4e84b8fa185dd96d5db7","url":"img/contributing-resolve-merge-conflicts-merge-conflicts.png"},{"revision":"195b8ef6ea85ca5648fe8525c727e7b4","url":"img/contributing-resolve-merge-conflicts-merge-success.png"},{"revision":"3499b11290765adda0584d9d7a5a86bf","url":"img/contributing-resolve-merge-conflicts-ready-to-merge.png"},{"revision":"5aab0048cfc3e35936e9729bef39a5be","url":"img/contributing-resolve-merge-conflicts-review-conflicts.png"},{"revision":"a25e9ab7aab5320b491f573b7dba0f36","url":"img/contributing-resolve-merge-conflicts-view-merge-commit.png"},{"revision":"3339aa4e65067f863272c668dffad3a0","url":"img/contributing-token-printed-to-console.png"},{"revision":"942127fb6ee320d2e55ca762a71fe1a4","url":"img/contributors-insights.png"},{"revision":"b65c2ad76632446c06cdda363c423f0d","url":"img/extension-invite.png"},{"revision":"710464e74af65c4fd024cd416832c642","url":"img/extension-links.png"},{"revision":"5ce6e21f511a9b5ea33b6ec78faa034b","url":"img/extension-popup.png"},{"revision":"0b5ccc70714107fb6ecb154f6e16bff3","url":"img/extension-view.png"},{"revision":"876d22e3510bda31ab816add5c9c8e5b","url":"img/favicon.ico"},{"revision":"3df8f23080b4f1b9627ccff3cbe9ad29","url":"img/files-changed-tab.png"},{"revision":"c7436a5635cd411e208b2eb74599bd2a","url":"img/get-dev-card.png"},{"revision":"8bb7ed044e608471e304f769be869aaa","url":"img/highlights.png"},{"revision":"1e5dc68194c89ec354432460b9712c0f","url":"img/list-graph.png"},{"revision":"f004ac39bce807729f0a357970e8be3f","url":"img/lists-page.svg"},{"revision":"3b6c5d852ad7542f4b897254717810db","url":"img/logo_darkmode.png"},{"revision":"e93cdf20a7ce8d4792cd4c536e6e811d","url":"img/logo_lightmode.png"},{"revision":"0bc5e10806a22fbd376651dc8b2bd49c","url":"img/logo.svg"},{"revision":"adff7c9d6e841375c19ba9db67d5f0b2","url":"img/ml-explore-page.png"},{"revision":"76ed877972409e62d57b101ca7ed3563","url":"img/openSauced-icon.png"},{"revision":"7f28dce5ced388db21864a84165ebb88","url":"img/popular-repos-hot-opensauced.png"},{"revision":"6d7df3fb8347bf78540107b0a466c0c7","url":"img/pr-velocity-example.png"},{"revision":"200693f2d62b5719ccf6ef6d09400326","url":"img/profile.png"},{"revision":"ccde64e85c920d1f1b6f58850981dd3e","url":"img/repos-insights.png"},{"revision":"c7aa7ae15965cf4e1dafb25bcccedcd5","url":"img/settings.png"},{"revision":"a94d3e179e3bb5babcb57ca086e74434","url":"img/sync-branch-GH.png"},{"revision":"31a4fb0bc61245920f543b0bb1c16ead","url":"img/upvoted-repos-hot-opensauced.png"},{"revision":"640588166e56d1eaf1560ae7fc235ec7","url":"img/what-is-opensauced-borderless.jpg"},{"revision":"83d91aa6d9976e8e6f7092ba727f611b","url":"img/what-is-opensauced.jpg"},{"revision":"d30381155966797309fb49a060270cd0","url":"img/what-is-opensauced.png"},{"revision":"5081ad3b60c74f4fba7caf1391823728","url":"img/workspace-access.png"},{"revision":"3db4d3ccb70f6cd4a9d416a6c45d1103","url":"img/workspace-sidebar.png"},{"revision":"01e77187fc3ad1d8300016a28ec01ff3","url":"img/workspace-switcher.png"},{"revision":"0194702a05865952ba81c4c8f7a8b1e6","url":"img/workspace.png"}]; const controller = new workbox_precaching__WEBPACK_IMPORTED_MODULE_0__.PrecacheController({ // Safer to turn this true? fallbackToNetwork: true, diff --git a/tools/chrome-extension/code-explanation/index.html b/tools/chrome-extension/code-explanation/index.html index afc69602..5452f295 100644 --- a/tools/chrome-extension/code-explanation/index.html +++ b/tools/chrome-extension/code-explanation/index.html @@ -13,13 +13,13 @@ - + - + + \ No newline at end of file diff --git a/tools/chrome-extension/highlights/index.html b/tools/chrome-extension/highlights/index.html index 9f283b41..d856b64b 100644 --- a/tools/chrome-extension/highlights/index.html +++ b/tools/chrome-extension/highlights/index.html @@ -13,13 +13,13 @@ - +
-

Highlight

You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.

location of post to highlight

If your Highlight is successfully posted, you will get a message with an option to see the Highlight on the OpenSauced website.

Successful message example

But if there is an error with the summarization, you will see it in the text area, as in the example below:

Error message

- +

Highlight

You can access the post to highlight it from the popup window in the extension. When you clicked, it will automatically, populate the PR or issue title, here you can use our AI functions to get a summary of the highlight similar to the PR summary.

location of post to highlight

If your Highlight is successfully posted, you will get a message with an option to see the Highlight on the OpenSauced website.

Successful message example

But if there is an error with the summarization, you will see it in the text area, as in the example below:

Error message

+ \ No newline at end of file diff --git a/tools/chrome-extension/introduction-to-the-chrome-extension/index.html b/tools/chrome-extension/introduction-to-the-chrome-extension/index.html index d7d1a7e7..cfeb8374 100644 --- a/tools/chrome-extension/introduction-to-the-chrome-extension/index.html +++ b/tools/chrome-extension/introduction-to-the-chrome-extension/index.html @@ -13,13 +13,13 @@ - +
-

Introduction to the Chrome Extension

The OpenSauced Chrome Extension

The OpenSauced Chrome extension seamlessly integrates GitHub with the OpenSauced platform. With this extension, you can easily view and discover open-source projects looking for contributions directly from GitHub, making collaboration and contribution easier than ever.

Installing the Chrome Extension

To install the OpenSauced Chrome extension, navigate to the OpenSauced.ai extension on Chrome Web Store and click the "Add to Chrome" button.

- +

Introduction to the Chrome Extension

The OpenSauced Chrome Extension

The OpenSauced Chrome extension seamlessly integrates GitHub with the OpenSauced platform. With this extension, you can easily view and discover open-source projects looking for contributions directly from GitHub, making collaboration and contribution easier than ever.

Installing the Chrome Extension

To install the OpenSauced Chrome extension, navigate to the OpenSauced.ai extension on Chrome Web Store and click the "Add to Chrome" button.

+ \ No newline at end of file diff --git a/tools/chrome-extension/pr-description/index.html b/tools/chrome-extension/pr-description/index.html index a260ce46..aedb49ca 100644 --- a/tools/chrome-extension/pr-description/index.html +++ b/tools/chrome-extension/pr-description/index.html @@ -13,13 +13,13 @@ - +
-

PR Description

The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings.

Note: This feature is not available on private repositories.

generate pr description

You can use these settings to set the strictness and the tone of the generated AI. Below is the explanation of the settings:

  • Description Length: The output length.
  • Temperature: The similarity between the input text and the output, higher temperature mean more randomness, lower temperature means more strict to the input.
  • Max Input Length.
  • Description Language: Right now, this feature supports: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Korean.
  • Description Tone: The tone of the output: Exciting, Persuasive, Informative, Humorous, Formal.
  • Description Source: The source of the description that our AI will use to get the output it can be the next: Commit Messages or The diff between the files or both.

Setting screenshot

ezgif-3-43e056fc1f

Example PR, using the next options: both in the description source, 500 for output length and 3900 max input length, temperature 0.7.

Exciting: This PR fixes the follow call and adds a FollowUser function to the contributor-highlight-card. The code has been linted and merged from the beta branch. FollowUser function allows users to follow/unfollow contributors. Copy link and follow/unfollow options are now available in the dropdown menu.

Persuasive: This PR fixes the follow call and linting issues in the ContributorHighlightCard component. It also merges the beta branch into fix-follow-check. A new FollowUser function has been added to handle follow/unfollow functionality. This PR ensures a smoother user experience.

Informative: This PR fixes the follow call and linting issues in the ContributorHighlightCard component. A new function FollowUser has been added to handle the follow/unfollow functionality. The useFollowUser hook has been moved inside this function. The FollowUser function is now used in place of the previous follow/unfollow code block. The code has been tested and reviewed.

Humorous: This PR fixes the follow call and also lints the file. We've also added a new FollowUser function to make the code more readable. Now you can follow/unfollow contributors with ease. We've also merged the beta branch into fix-follow-check.

Formal: This PR fixes the follow call and linting issues in the ContributorHighlightCard component. A new function FollowUser has been added to handle the follow/unfollow functionality. The useFollowUser hook has been moved inside this function. The FollowUser function is now used in place of the previous follow/unfollow code block. This PR also merges the beta branch into fix-follow-check.

- +

PR Description

The OpenSauced Chrome extension will help you create a PR based on the configuration you have in the extension. It will enable you to create the summary based on either commit messages, the difference between the files, or both. You can even set the message's length and tone using the same settings.

Note: This feature is not available on private repositories.

generate pr description

You can use these settings to set the strictness and the tone of the generated AI. Below is the explanation of the settings:

  • Description Length: The output length.
  • Temperature: The similarity between the input text and the output, higher temperature mean more randomness, lower temperature means more strict to the input.
  • Max Input Length.
  • Description Language: Right now, this feature supports: English, Spanish, French, German, Italian, Portuguese, Dutch, Russian, Chinese, Korean.
  • Description Tone: The tone of the output: Exciting, Persuasive, Informative, Humorous, Formal.
  • Description Source: The source of the description that our AI will use to get the output it can be the next: Commit Messages or The diff between the files or both.

Setting screenshot

ezgif-3-43e056fc1f

Example PR, using the next options: both in the description source, 500 for output length and 3900 max input length, temperature 0.7.

Exciting: This PR fixes the follow call and adds a FollowUser function to the contributor-highlight-card. The code has been linted and merged from the beta branch. FollowUser function allows users to follow/unfollow contributors. Copy link and follow/unfollow options are now available in the dropdown menu.

Persuasive: This PR fixes the follow call and linting issues in the ContributorHighlightCard component. It also merges the beta branch into fix-follow-check. A new FollowUser function has been added to handle follow/unfollow functionality. This PR ensures a smoother user experience.

Informative: This PR fixes the follow call and linting issues in the ContributorHighlightCard component. A new function FollowUser has been added to handle the follow/unfollow functionality. The useFollowUser hook has been moved inside this function. The FollowUser function is now used in place of the previous follow/unfollow code block. The code has been tested and reviewed.

Humorous: This PR fixes the follow call and also lints the file. We've also added a new FollowUser function to make the code more readable. Now you can follow/unfollow contributors with ease. We've also merged the beta branch into fix-follow-check.

Formal: This PR fixes the follow call and linting issues in the ContributorHighlightCard component. A new function FollowUser has been added to handle the follow/unfollow functionality. The useFollowUser hook has been moved inside this function. The FollowUser function is now used in place of the previous follow/unfollow code block. This PR also merges the beta branch into fix-follow-check.

+ \ No newline at end of file diff --git a/tools/chrome-extension/refactoring-and-testing/index.html b/tools/chrome-extension/refactoring-and-testing/index.html index c928e31b..4e010a41 100644 --- a/tools/chrome-extension/refactoring-and-testing/index.html +++ b/tools/chrome-extension/refactoring-and-testing/index.html @@ -13,13 +13,13 @@ - +
-

Refactoring and Testing

Refactoring a Block of Code

Refactor a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.

generate code refactor

Testing a Block of Code

Generate tests for a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.

generate code refactor

- +

Refactoring and Testing

Refactoring a Block of Code

Refactor a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.

generate code refactor

Testing a Block of Code

Generate tests for a block of code by using the blue plus button that is displayed when hovering over a line. To select a block of code, hover over the starting line, click, and drag the blue plus button until you reach the desired line.

generate code refactor

+ \ No newline at end of file diff --git a/tools/chrome-extension/viewing-insights-and-invitations/index.html b/tools/chrome-extension/viewing-insights-and-invitations/index.html index 39b52ac8..56547e64 100644 --- a/tools/chrome-extension/viewing-insights-and-invitations/index.html +++ b/tools/chrome-extension/viewing-insights-and-invitations/index.html @@ -13,13 +13,13 @@ - +
-

Viewing Insights and Invitations

View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.

GitHub Profile Insights

Invite GitHub Users to Join OpenSauced With a Single Click

Invite other users to create an OpenSauced account to keep track of open source contributions when visiting their GitHub profile.

Invite GitHub Users

View GitHub Users' OpenSauced Profiles and Connect With Them

View a user’s OpenSauced profile when on their GitHub profile page.

View OpenSauced Profiles

- +

Viewing Insights and Invitations

View stats about open issues, PRs made, average PRs velocity, and contributed repos that are in the OpenSauced database. This page can be found by clicking the profile picture at the top left of the extension.

GitHub Profile Insights

Invite GitHub Users to Join OpenSauced With a Single Click

Invite other users to create an OpenSauced account to keep track of open source contributions when visiting their GitHub profile.

Invite GitHub Users

View GitHub Users' OpenSauced Profiles and Connect With Them

View a user’s OpenSauced profile when on their GitHub profile page.

View OpenSauced Profiles

+ \ No newline at end of file diff --git a/tools/hot-opensauced/index.html b/tools/hot-opensauced/index.html index dd5a4843..f59f1fce 100644 --- a/tools/hot-opensauced/index.html +++ b/tools/hot-opensauced/index.html @@ -13,13 +13,13 @@ - +
-

Hot OpenSauced Project

Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.

How to Find Hot Open Source Projects to Contribute to?

When you visit the Hot OpenSauced site, you will see a list of open source projects that are currently trending on GitHub. You can sign in with your GitHub account and search for the most upvoted, recent, and popular projects.

hot opensauced upvoted repos

How to Vote for Your Favorite Open Source Projects?

You can vote for your favorite open source project by clicking on the upvote button. You can view all of your upvoted projects under the My Votes tab.

hot opensauced popular repos

- +

Hot OpenSauced Project

Hot OpenSauced is a site that helps you discover the hottest open source projects to contribute to. You also have the ability to vote for your favorite open source projects.

How to Find Hot Open Source Projects to Contribute to?

When you visit the Hot OpenSauced site, you will see a list of open source projects that are currently trending on GitHub. You can sign in with your GitHub account and search for the most upvoted, recent, and popular projects.

hot opensauced upvoted repos

How to Vote for Your Favorite Open Source Projects?

You can vote for your favorite open source project by clicking on the upvote button. You can view all of your upvoted projects under the My Votes tab.

hot opensauced popular repos

+ \ No newline at end of file diff --git a/tools/pizza-cli/index.html b/tools/pizza-cli/index.html index 4428ec81..390ddfab 100644 --- a/tools/pizza-cli/index.html +++ b/tools/pizza-cli/index.html @@ -13,13 +13,13 @@ - +
-

Introduction to the Pizza CLI

The OpenSauced Pizza CLI

The OpenSauced Pizza CLI is a command-line utility designed specifically for OpenSauced. It provides a comprehensive set of functionalities that make it easier for users to gain insights and metrics and manage various tasks related to open source projects through OpenSauced.

Beyond just code commits, the pizza CLI reports on different ways individuals contribute to the open source ecosystem through community engagement, issue reporting, blog post writings, or pull request creations.

Key Features

  • Bake: Seamlessly source git commits into OpenSauced with the metaphorical 'oven' of technology.
  • Insights: Dive deep into data about git contributors, repositories, users, and pull requests.
  • Repo-query: Get your questions about any GitHub repository answered.
  • Show: Visualize the metrics of a repository, providing a holistic view of its health and activity.
  • Login: Securely log into the application via GitHub, ensuring a streamlined and safe experience.

Installation and Instructions

📦 Download and Install

The pizza CLI provides multiple installation methods to cater to the varied preferences of its users:

  • Homebrew: For macOS users who prefer the Homebrew package manager.

    brew install open-sauced/tap/pizza
  • NPM: For those who are fond of the Node Package Manager.

    npm i -g pizza
  • Direct script: A quick way to get started by directly fetching the installation script from GitHub.

    curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh

    ⚠️ Warning: Piping scripts directly from the web to your shell can be risky. Always ensure you trust the source. For a safer approach, download, inspect, and then execute the following commands:

    curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh > install.sh
    vim install.sh
    ./install.sh
  • Manual build and install: For those who like a hands-on approach.

    make install

    Ensure /usr/local/bin/ is in your path with:

    export PATH="$PATH:/usr/local/bin"

    Alternatively, after building with make build, move the binary to your desired location:

    mv build/pizza <your-preferred-path>

🖥️ Local Development Setup

To contribute to or modify the pizza CLI, you need a specific set of tools:

  • Go Toolchain: The foundational tool for building and managing Go applications.

  • Docker: Required for linting and other auxiliary tooling.

  • Make: A build automation tool.

    Development commands:

    • Linting: Ensure code quality with make lint.
    • Testing: Verify functionality with make test.
    • Building: Create the executable with make build.
- +

Introduction to the Pizza CLI

The OpenSauced Pizza CLI

The OpenSauced Pizza CLI is a command-line utility designed specifically for OpenSauced. It provides a comprehensive set of functionalities that make it easier for users to gain insights and metrics and manage various tasks related to open source projects through OpenSauced.

Beyond just code commits, the pizza CLI reports on different ways individuals contribute to the open source ecosystem through community engagement, issue reporting, blog post writings, or pull request creations.

Key Features

  • Bake: Seamlessly source git commits into OpenSauced with the metaphorical 'oven' of technology.
  • Insights: Dive deep into data about git contributors, repositories, users, and pull requests.
  • Repo-query: Get your questions about any GitHub repository answered.
  • Show: Visualize the metrics of a repository, providing a holistic view of its health and activity.
  • Login: Securely log into the application via GitHub, ensuring a streamlined and safe experience.

Installation and Instructions

📦 Download and Install

The pizza CLI provides multiple installation methods to cater to the varied preferences of its users:

  • Homebrew: For macOS users who prefer the Homebrew package manager.

    brew install open-sauced/tap/pizza
  • NPM: For those who are fond of the Node Package Manager.

    npm i -g pizza
  • Direct script: A quick way to get started by directly fetching the installation script from GitHub.

    curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh

    ⚠️ Warning: Piping scripts directly from the web to your shell can be risky. Always ensure you trust the source. For a safer approach, download, inspect, and then execute the following commands:

    curl -fsSL https://raw.githubusercontent.com/open-sauced/pizza-cli/main/install.sh > install.sh
    vim install.sh
    ./install.sh
  • Manual build and install: For those who like a hands-on approach.

    make install

    Ensure /usr/local/bin/ is in your path with:

    export PATH="$PATH:/usr/local/bin"

    Alternatively, after building with make build, move the binary to your desired location:

    mv build/pizza <your-preferred-path>

🖥️ Local Development Setup

To contribute to or modify the pizza CLI, you need a specific set of tools:

  • Go Toolchain: The foundational tool for building and managing Go applications.

  • Docker: Required for linting and other auxiliary tooling.

  • Make: A build automation tool.

    Development commands:

    • Linting: Ensure code quality with make lint.
    • Testing: Verify functionality with make test.
    • Building: Create the executable with make build.
+ \ No newline at end of file diff --git a/welcome/faqs/index.html b/welcome/faqs/index.html index 26d10a0d..a974d3f8 100644 --- a/welcome/faqs/index.html +++ b/welcome/faqs/index.html @@ -13,13 +13,13 @@ - +
-

Frequently Asked Questions

Contributions

1. How do I find good first issues?

We believe that good first issues don't exist, and the best way to find an issue to work on is to create the issue yourself.

However, sites like Good First Issues and First Timers Only can lead you to projects and issues worth working on. You can also use the good first issue label in the project search engine you want to contribute to. Check out this guide to learn more about finding a good first issue on GitHub..

Additional Resources:

2. My contribution does not show up on my OpenSauced profile. How do I fix it?

Create a Repository Insights Page or add your merged pull request to a Highlight.

3. I want to provide feedback on OpenSauced.

We love feedback. Post your suggestion in our feedback repository.

Sync Your GitHub Team

1. I don't see my organization on "Sync your GitHub Team."

You may not see your organization if you are not a "public" member. You can update this by going to the organization on GitHub and selecting the "People" tab. Next, search for your name. You can then change "private" to "public." For complete instructions, see this guide.

2. I get an error when I try to select my team in "Sync your GitHub Team."

If you see your organization but get an error when selecting a team, your organization likely has restricted third-party applications. You can check this if you are an owner by going to "Your organizations" on GitHub, selecting "Settings", and then "Third-party Access."

If you're an owner of the repository, you can select "Allow select third-party access" or specifically approve OpenSauced by following the directions in this guide.

If you are not an owner of the organization, you will need to check with your organization's owner and request access. For complete instructions, see this guide.

3. Do I need to grant authorization to connect GitHub to OpenSauced?

Yes, auth access through GitHub OAuth is required to link your profile to a workspace/team. As an early stage startup, we chose this method for its simplicity. We also request read-only access to your GitHub organizations to gather Contributor Insights based on public GitHub Teams data. We ensure all data used is public and read-only.

- +

Frequently Asked Questions

Contributions

1. How do I find good first issues?

We believe that good first issues don't exist, and the best way to find an issue to work on is to create the issue yourself.

However, sites like Good First Issues and First Timers Only can lead you to projects and issues worth working on. You can also use the good first issue label in the project search engine you want to contribute to. Check out this guide to learn more about finding a good first issue on GitHub..

Additional Resources:

2. My contribution does not show up on my OpenSauced profile. How do I fix it?

Create a Repository Insights Page or add your merged pull request to a Highlight.

3. I want to provide feedback on OpenSauced.

We love feedback. Post your suggestion in our feedback repository.

Sync Your GitHub Team

1. I don't see my organization on "Sync your GitHub Team."

You may not see your organization if you are not a "public" member. You can update this by going to the organization on GitHub and selecting the "People" tab. Next, search for your name. You can then change "private" to "public." For complete instructions, see this guide.

2. I get an error when I try to select my team in "Sync your GitHub Team."

If you see your organization but get an error when selecting a team, your organization likely has restricted third-party applications. You can check this if you are an owner by going to "Your organizations" on GitHub, selecting "Settings", and then "Third-party Access."

If you're an owner of the repository, you can select "Allow select third-party access" or specifically approve OpenSauced by following the directions in this guide.

If you are not an owner of the organization, you will need to check with your organization's owner and request access. For complete instructions, see this guide.

3. Do I need to grant authorization to connect GitHub to OpenSauced?

Yes, auth access through GitHub OAuth is required to link your profile to a workspace/team. As an early stage startup, we chose this method for its simplicity. We also request read-only access to your GitHub organizations to gather Contributor Insights based on public GitHub Teams data. We ensure all data used is public and read-only.

+ \ No newline at end of file diff --git a/welcome/glossary/index.html b/welcome/glossary/index.html index cdce8bca..7f1e057c 100644 --- a/welcome/glossary/index.html +++ b/welcome/glossary/index.html @@ -13,13 +13,13 @@ - +
-

OpenSauced Glossary

Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.

Active Contributors

A contributor who has been active in the last 30 days.

Activity

Activity tracks Pull Requests (PRs) over the last 30 days:

  • High: More than 80 PRs.
  • Medium: Between 5 and 80 PRs.
  • Low: Below 5 PRs.

Alumni Contributors

A contributor who has not been active on a project in the last 30 days.

Contributor Insights

The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions.

New Contributors

A contributor who has recently made their first contribution to a project.

PR Overview

PR Overview tells the story of the Pull Requests (PRs) submitted in the last 30 days:

  • Green line: Open PRs.
  • Red line: Closed PRs.
  • Purple line: Merged PRs.
  • Grey line: Draft PRs.

PR Velocity

PR Velocity tracks how quickly Pull Requests (PRs) are being merged in by identifying the average time to completion from the request submission.

Repository Insights

The Repository Insights feature is a one-stop solution for understanding the pulse of your open-source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions.

- +

OpenSauced Glossary

Welcome to the glossary, where we define concepts used on our platform to help you get the most out of OpenSauced.

Active Contributors

A contributor who has been active in the last 30 days.

Activity

Activity tracks Pull Requests (PRs) over the last 30 days:

  • High: More than 80 PRs.
  • Medium: Between 5 and 80 PRs.
  • Low: Below 5 PRs.

Alumni Contributors

A contributor who has not been active on a project in the last 30 days.

Contributor Insights

The Contributor Insights feature enables you to categorize, monitor, and analyze different groups of contributors within open source projects. With the Contributor Insights feature, gain granular insights into each contributor's activity and contributions.

New Contributors

A contributor who has recently made their first contribution to a project.

PR Overview

PR Overview tells the story of the Pull Requests (PRs) submitted in the last 30 days:

  • Green line: Open PRs.
  • Red line: Closed PRs.
  • Purple line: Merged PRs.
  • Grey line: Draft PRs.

PR Velocity

PR Velocity tracks how quickly Pull Requests (PRs) are being merged in by identifying the average time to completion from the request submission.

Repository Insights

The Repository Insights feature is a one-stop solution for understanding the pulse of your open-source projects and contributions. This feature is designed to provide a comprehensive view of your project's health and your individual contributions.

+ \ No newline at end of file diff --git a/welcome/opensauced-intro/index.html b/welcome/opensauced-intro/index.html index d9bc09cc..e8874ad1 100644 --- a/welcome/opensauced-intro/index.html +++ b/welcome/opensauced-intro/index.html @@ -13,13 +13,13 @@ - +
-

What is OpenSauced?

OpenSauced: Your Open Source Partner

OpenSauced is a platform dedicated to nurturing and expanding your open source community while recognizing every contributor's impact.

Our OpenSauced dashboard allows you to:

  • Understand open source projects: Get a comprehensive view of open source contributors and their engagement.
  • Discover valuable insights: Identify key contributors, emerging trends, and valuable project insights.
  • Engage effectively: Reach out to community members to foster involvement and collaboration.
  • Generate reports: Create insightful reports to visualize and communicate the influence of your community.
  • Collaborate with your team: Work together with your team or other contributors for a holistic approach to open source.
  • See beyond the green squares: Connect with various aspects of open source contribution and community activities.

Who is OpenSauced for?

OpenSauced is for maintainers, Open Source Program Offices (OSPOs), contributors, companies, community managers, and anyone interested in what's happening in the open source ecosystem.

Embarking on an OpenSauced journey enhances your growth and community engagement. Let's launch your open source success story! 🚀

- +

What is OpenSauced?

OpenSauced: Your Open Source Partner

OpenSauced is a platform dedicated to nurturing and expanding your open source community while recognizing every contributor's impact.

Our OpenSauced dashboard allows you to:

  • Understand open source projects: Get a comprehensive view of open source contributors and their engagement.
  • Discover valuable insights: Identify key contributors, emerging trends, and valuable project insights.
  • Engage effectively: Reach out to community members to foster involvement and collaboration.
  • Generate reports: Create insightful reports to visualize and communicate the influence of your community.
  • Collaborate with your team: Work together with your team or other contributors for a holistic approach to open source.
  • See beyond the green squares: Connect with various aspects of open source contribution and community activities.

Who is OpenSauced for?

OpenSauced is for maintainers, Open Source Program Offices (OSPOs), contributors, companies, community managers, and anyone interested in what's happening in the open source ecosystem.

Embarking on an OpenSauced journey enhances your growth and community engagement. Let's launch your open source success story! 🚀

+ \ No newline at end of file