From cbfd1cf2c40972ed4f07c5b0b4944f2815e65092 Mon Sep 17 00:00:00 2001 From: Kamil Samigullin Date: Thu, 1 Dec 2022 08:55:20 +0300 Subject: [PATCH] docs: publish v1.0.0 release notes --- docs/404.html | 2 +- .../_buildManifest.js | 2 +- .../_ssgManifest.js | 0 .../static/chunks/nextra-data-en-US.json | 2 +- .../changelog/v1.0.0-58e42347fa8eb7ea.js | 1 + .../changelog/v1.0.0-7e741ac96840474e.js | 1 - .../chunks/pages/index-0bd9bbfc1679ab9d.js | 1 + .../chunks/pages/index-95880520e16f3174.js | 1 - docs/changelog/v1.0.0.html | 30 +++++++++++++++++-- docs/index.html | 18 +++++------ 10 files changed, 42 insertions(+), 16 deletions(-) rename docs/_next/static/{d_O3aMWKeEJ7HCj8xw83O => Be7GKARz4at19fmnu6Tej}/_buildManifest.js (73%) rename docs/_next/static/{d_O3aMWKeEJ7HCj8xw83O => Be7GKARz4at19fmnu6Tej}/_ssgManifest.js (100%) create mode 100644 docs/_next/static/chunks/pages/changelog/v1.0.0-58e42347fa8eb7ea.js delete mode 100644 docs/_next/static/chunks/pages/changelog/v1.0.0-7e741ac96840474e.js create mode 100644 docs/_next/static/chunks/pages/index-0bd9bbfc1679ab9d.js delete mode 100644 docs/_next/static/chunks/pages/index-95880520e16f3174.js diff --git a/docs/404.html b/docs/404.html index eb0693a..52094b4 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

404

This page could not be found.

\ No newline at end of file diff --git a/docs/_next/static/d_O3aMWKeEJ7HCj8xw83O/_buildManifest.js b/docs/_next/static/Be7GKARz4at19fmnu6Tej/_buildManifest.js similarity index 73% rename from docs/_next/static/d_O3aMWKeEJ7HCj8xw83O/_buildManifest.js rename to docs/_next/static/Be7GKARz4at19fmnu6Tej/_buildManifest.js index 938b54a..5d9c648 100644 --- a/docs/_next/static/d_O3aMWKeEJ7HCj8xw83O/_buildManifest.js +++ b/docs/_next/static/Be7GKARz4at19fmnu6Tej/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(e,s){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[e,s,"static/chunks/pages/index-95880520e16f3174.js"],"/_error":["static/chunks/pages/_error-3986dd5834f581dc.js"],"/changelog/v1.0.0":[e,s,"static/chunks/pages/changelog/v1.0.0-7e741ac96840474e.js"],sortedPages:["/","/_app","/_error","/changelog/v1.0.0"]}}("static/css/e73ec87daa5345b3.css","static/chunks/42-b12cb2c51808a3ef.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(e,s){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[e,s,"static/chunks/pages/index-0bd9bbfc1679ab9d.js"],"/_error":["static/chunks/pages/_error-3986dd5834f581dc.js"],"/changelog/v1.0.0":[e,s,"static/chunks/pages/changelog/v1.0.0-58e42347fa8eb7ea.js"],sortedPages:["/","/_app","/_error","/changelog/v1.0.0"]}}("static/css/e73ec87daa5345b3.css","static/chunks/42-b12cb2c51808a3ef.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/docs/_next/static/d_O3aMWKeEJ7HCj8xw83O/_ssgManifest.js b/docs/_next/static/Be7GKARz4at19fmnu6Tej/_ssgManifest.js similarity index 100% rename from docs/_next/static/d_O3aMWKeEJ7HCj8xw83O/_ssgManifest.js rename to docs/_next/static/Be7GKARz4at19fmnu6Tej/_ssgManifest.js diff --git a/docs/_next/static/chunks/nextra-data-en-US.json b/docs/_next/static/chunks/nextra-data-en-US.json index d04e7d4..fdc40ca 100644 --- a/docs/_next/static/chunks/nextra-data-en-US.json +++ b/docs/_next/static/chunks/nextra-data-en-US.json @@ -1 +1 @@ -{"/changelog/v1.0.0":{"title":"Release notes, v1.0.0","data":{"":"Stay tuned."}},"/":{"title":"🧩 Module ","data":{"":"Template for a typical module written on Go.","-quick-start#πŸ›« Quick start":"Work with Makefile\n$ make setup\n$ make help\n\n$ make find-todos\n$ make test lint\n$ TIMEOUT=5s make test-with-coverage\nWork with Taskfile\n$ alias run=./Taskfile\n$ run help\n\n$ run docs\n$ run docs install build start\nWork with Tools\n$ make tools\n$ source bin/activate\n\n$ which goimports\n$ make go-fmt # goimports -local $(go list -m) -w ./...\nWork with Docker\n$ make go-1.11 # or go-1.12, etc.\n/src# make go-env 2>/dev/null | grep GOVERSION\n# GOVERSION: 1.11.13\n/src# make test","-idea#πŸ’‘ Idea":"Define a powerful template that quickly creates a new Go module from scratch.\nNot only does it provide a starting point for new projects,\nbut it comes equipped with pre-configured ci/cd and inventory.","-motivation#πŸ† Motivation":"At OctoLab, we want to start new projects faster using best practices\nwith a predefined structure and focusing on core ideas implementation\nrather than wasting time on environment configuration and copying boilerplate code.","-how-to#πŸ€Όβ€ How to":"","build-your-own-module#Build your own module":"Generate a new repository from the template.\nClone the repository locally.\nUpdate files:\ndocs/CNAME, tools/pages/*, tools/*.jsx?,\ngo.mod, and README.md:\nπŸ›« Quick start\nπŸ’‘ Idea\nπŸ† Motivation\nπŸ€Όβ€ How to\nπŸ›¬ Integration\n\n\n\n\nWrite your code and tests.\nπŸš€","contribute-to-the-template#Contribute to the template":"Read the contribution guidelines.\nFork the repository.\nMake your changes.\nSend a pull request.\nπŸ€—\n\nBefore you start, please make sure your changes are in demand.\nThe best for that is to create a new discussion,\nor if you find an issue, report it first.","️-configuration#πŸŽ›οΈ Configuration":"","pre-configured#Pre-configured":"GitHub Actions.\nGitHub Pages.\nDependabot.","included#Included":"Nextra.\nMakefiles.\nTaskfiles.\nGo tools:\nmockgen,\ngolangci-lint,\ngoimports,\ngovulncheck.","optional#Optional":"Bitbucket.\nCodecov.\nSlack.\nSettings.\nGitHub Socialify.\nGo Report Card.\nShields.io.","coming-soon#Coming soon":"CodeQL (code scanning).\nGraphite (git workflow).\nQodana (code quality).\nSonarCloud (code quality).\nVanity URL (canonical import path).\nVercel (docs preview).","miscellaneous#Miscellaneous":"Crontab.guru.\nGit History.","-integration#πŸ›¬ Integration":"The project uses SemVer for versioning, and it is not\nBC-safe through major releases.\nPlease use Go Modules to manage its version.\n$ go get go.octolab.org@latest","-outputs--outcomes#🀲 Outputs & outcomes":"OctoLab\n\nhttps://github.com/octolab/breaker*\nhttps://github.com/octolab/cli*\nhttps://github.com/octolab/config\nhttps://github.com/octolab/pkg*\nhttps://github.com/octolab/propaganda\nhttps://github.com/octolab/protocol*\n\n\n\n\nOctomation\n\nhttps://github.com/octomation/dna*\nhttps://github.com/octomation/go-tool*\nhttps://github.com/octomation/go-service*\n\n\n\n\nOthers\n\nhttps://github.com/kamilsk/retry*\nhttps://github.com/kamilsk/semaphore*\nhttps://github.com/kamilsk/tracer*\n\n\n\nmade with ❀️ for everyone"}}} \ No newline at end of file +{"/changelog/v1.0.0":{"title":"Release notes, v1.0.0","data":{"":"πŸ‘‹ Hi, folks!We are glad to announce the first stable release of the template\nto help the Go community build their excellent modules faster! πŸŽ‰","ready-to-go#Ready to go":"Adopted for Go 1.11..1.20 support.\nCall make go-1.11 # go-1.12, etc. and work with a module inside the specified Go environment.\n\n\nHas a lot of well-tested workflows.\nUses the full power of GitHub:\nGitHub Actions.\nGitHub Pages.\nDependabot.\n\n\nImplements best practices of Go.\nIncludes Makefiles, Taskfiles, and tools.","out-of-the-box#Out of the box":"","slack-integration#Slack integration":"","documentation#Documentation":"Based on Nextra, hosted by GitHub Pages.\nSee the example."}},"/":{"title":"🧩 Module ","data":{"":"Template for a typical module written on Go.","-quick-start#πŸ›« Quick start":"Work with Makefile\n$ make setup\n$ make help\n\n$ make find-todos\n$ make test lint\n$ TIMEOUT=5s make test-with-coverage\nWork with Taskfile\n$ alias run=./Taskfile\n$ run help\n\n$ run docs\n$ run docs install build start\nWork with Tools\n$ make tools\n$ source bin/activate\n\n$ which goimports\n$ make go-fmt # goimports -local $(go list -m) -w ./...\nWork with Docker\n$ make go-1.11 # or go-1.12, etc.\n/src# make go-env 2>/dev/null | grep GOVERSION\n# GOVERSION: 1.11.13\n/src# make test","-idea#πŸ’‘ Idea":"Define a powerful template that quickly creates a new Go module.\nNot only does it provide a starting point for new projects,\nbut it comes equipped with pre-configured ci/cd and inventory.","-motivation#πŸ† Motivation":"At OctoLab, we want to start new projects faster using best practices\nwith a predefined structure and focusing on core ideas implementation\nrather than wasting time on environment configuration and copying boilerplate code.","-how-to#πŸ€Όβ€ How to":"","build-your-own-module#Build your own module":"Generate a new repository from the template.\nClone the repository locally.\nUpdate files:\ndocs/CNAME, tools/pages/*, tools/*.jsx?,\ngo.mod, and README.md:\nπŸ›« Quick start\nπŸ’‘ Idea\nπŸ† Motivation\nπŸ€Όβ€ How to\nπŸ›¬ Integration\n\n\n\n\nWrite your code and tests.\nπŸš€","contribute-to-the-template#Contribute to the template":"Read the contribution guidelines.\nFork the repository.\nMake your changes.\nSend a pull request.\nπŸ€—\n\nBefore you start, please make sure your changes are in demand.\nThe best for that is to create a new discussion,\nor if you find an issue, report it first.","️-configuration#πŸŽ›οΈ Configuration":"","pre-configured#Pre-configured":"GitHub Actions.\nGitHub Pages.\nDependabot.","included#Included":"Nextra.\nMakefiles.\nTaskfiles.\nGo tools:\nmockgen,\ngolangci-lint,\ngoimports,\ngovulncheck.","optional#Optional":"Bitbucket.\nCodecov.\nSlack.\nSettings.\nGitHub Socialify.\nGo Report Card.\nShields.io.","coming-soon#Coming soon":"CodeQL (code scanning).\nGraphite (git workflow).\nQodana (code quality).\nSonarCloud (code quality).\nVanity URL (canonical import path).\nVercel (docs preview).","miscellaneous#Miscellaneous":"Crontab.guru.\nGit History.","-integration#πŸ›¬ Integration":"The project uses SemVer for versioning, and it is not\nBC-safe through major releases.\nPlease use Go Modules to manage its version.\n$ go get go.octolab.org@latest","-outputs--outcomes#🀲 Outputs & outcomes":"OctoLab\n\nhttps://github.com/octolab/breaker*\nhttps://github.com/octolab/cli*\nhttps://github.com/octolab/config\nhttps://github.com/octolab/pkg*\nhttps://github.com/octolab/propaganda\nhttps://github.com/octolab/protocol*\n\n\n\n\nOctomation\n\nhttps://github.com/octomation/dna*\nhttps://github.com/octomation/go-tool*\nhttps://github.com/octomation/go-service*\n\n\n\n\nOthers\n\nhttps://github.com/kamilsk/retry*\nhttps://github.com/kamilsk/semaphore*\nhttps://github.com/kamilsk/tracer*\n\n\n\nmade with ❀️ for everyone"}}} \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/changelog/v1.0.0-58e42347fa8eb7ea.js b/docs/_next/static/chunks/pages/changelog/v1.0.0-58e42347fa8eb7ea.js new file mode 100644 index 0000000..b17c370 --- /dev/null +++ b/docs/_next/static/chunks/pages/changelog/v1.0.0-58e42347fa8eb7ea.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[989],{1966:function(t,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/changelog/v1.0.0",function(){return o(5650)}])},979:function(t,e,o){"use strict";var n=o(5893);e.Z={project:{link:"https://github.com/octomation/go-module"},docsRepositoryBase:"https://github.com/octomation/go-module/blob/main/tools",feedback:{useLink:()=>"https://github.com/octomation/go-module/discussions/new/choose"},useNextSeoProps:()=>({titleTemplate:"%s"}),head:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("meta",{charSet:"utf-8"}),(0,n.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,n.jsx)("meta",{name:"twitter:image:src",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,n.jsx)("meta",{name:"twitter:site",content:"@github"}),(0,n.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,n.jsx)("meta",{name:"twitter:title",content:"Module"}),(0,n.jsx)("meta",{name:"twitter:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,n.jsx)("meta",{property:"og:image",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,n.jsx)("meta",{property:"og:image:alt",content:"\uD83E\uDDE9 Module"}),(0,n.jsx)("meta",{property:"og:site_name",content:"GitHub"}),(0,n.jsx)("meta",{property:"og:type",content:"object"}),(0,n.jsx)("meta",{property:"og:title",content:"Module"}),(0,n.jsx)("meta",{property:"og:url",content:"https://go-module.octolab.org"}),(0,n.jsx)("meta",{property:"og:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,n.jsx)("style",{children:"\n main p a img { display: inline; } /* badges */\n "})]}),logo:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("img",{width:24,height:24,src:"https://raw.githubusercontent.com/octomation/.github/main/.static/octolab.png",alt:"OctoLab"}),(0,n.jsx)("span",{children:"Module"})]}),banner:{text:(0,n.jsx)("a",{href:"https://github.com/octomation/go-module/releases/tag/v1.0.0",target:"_blank",children:"\uD83C\uDF89 Module v1.0.0 is released. Read more β†’"})},footer:{text:(0,n.jsxs)("span",{children:["MIT ",new Date().getFullYear()," \xa9 ",(0,n.jsx)("a",{href:"https://github.com/octolab",target:"_blank",children:"OctoLab"}),"."]})}}},5650:function(t,e,o){"use strict";o.r(e);var n=o(5893),i=o(4319),a=o(1307),s=o(979);o(9966);var c=o(1151);function l(t){let e=Object.assign({h1:"h1",p:"p",h2:"h2",a:"a",ul:"ul",li:"li",code:"code",ol:"ol",h3:"h3",img:"img"},(0,c.ah)(),t.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h1,{children:"Release notes, v1.0.0"}),"\n",(0,n.jsx)(e.p,{children:"\uD83D\uDC4B Hi, folks!"}),"\n",(0,n.jsx)(e.p,{children:"We are glad to announce the first stable release of the template\nto help the Go community build their excellent modules faster! \uD83C\uDF89"}),"\n",(0,n.jsx)(e.h2,{id:"ready-to-go",children:(0,n.jsx)(e.a,{href:"https://github.com/octomation/go-module/milestone/1",children:"Ready to go"})}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["Adopted for ",(0,n.jsx)(e.a,{href:"https://github.com/octomation/go-module/blob/ce4b2f9da00629de266f672db011616b97a8804c/.github/workflows/ci.yml#L59-L71",children:"Go 1.11..1.20"})," support.","\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:["Call ",(0,n.jsx)(e.code,{children:"make go-1.11 # go-1.12, etc."})," and work with a module inside the specified Go environment."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(e.li,{children:["Has a lot of well-tested ",(0,n.jsx)(e.a,{href:"https://github.com/octomation/go-module/tree/main/.github/workflows",children:"workflows"}),"."]}),"\n",(0,n.jsxs)(e.li,{children:["Uses the full power of GitHub:","\n",(0,n.jsxs)(e.ol,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.a,{href:"https://github.com/features/actions",children:"GitHub Actions"}),"."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.a,{href:"https://pages.github.com",children:"GitHub Pages"}),"."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.a,{href:"https://github.com/dependabot",children:"Dependabot"}),"."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(e.li,{children:"Implements best practices of Go."}),"\n",(0,n.jsxs)(e.li,{children:["Includes ",(0,n.jsx)(e.a,{href:"https://github.com/octomation/makefiles",children:"Makefiles"}),", ",(0,n.jsx)(e.a,{href:"https://github.com/octomation/taskfiles",children:"Taskfiles"}),", and ",(0,n.jsx)(e.a,{href:"https://github.com/octomation/go-module/blob/main/tools/tools.go",children:"tools"}),"."]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"out-of-the-box",children:(0,n.jsx)(e.a,{href:"https://github.com/octomation/go-module/tree/main/.github/integrations",children:"Out of the box"})}),"\n",(0,n.jsx)(e.h3,{id:"slack-integration",children:"Slack integration"}),"\n",(0,n.jsx)(e.p,{children:(0,n.jsx)(e.img,{src:"https://user-images.githubusercontent.com/1165416/234065649-f9ac53ea-e420-4759-92ff-de2e071f5f0e.png",alt:"image"})}),"\n",(0,n.jsx)(e.h3,{id:"documentation",children:"Documentation"}),"\n",(0,n.jsxs)(e.p,{children:["Based on ",(0,n.jsx)(e.a,{href:"https://nextra.site",children:"Nextra"}),", hosted by ",(0,n.jsx)(e.a,{href:"https://pages.github.com",children:"GitHub Pages"}),".\nSee ",(0,n.jsx)(e.a,{href:"https://go-module.octolab.org",children:"the example"}),"."]})]})}o(5675);let h={MDXContent:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,c.ah)(),t.components);return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(l,{...t})}):l(t)},pageOpts:{filePath:"pages/changelog/v1.0.0.md",route:"/changelog/v1.0.0",headings:[{depth:1,value:"Release notes, v1.0.0",id:"release-notes-v100"},{depth:2,value:"Ready to go",id:"ready-to-go"},{depth:2,value:"Out of the box",id:"out-of-the-box"},{depth:3,value:"Slack integration",id:"slack-integration"},{depth:3,value:"Documentation",id:"documentation"}],timestamp:1669788411e3,pageMap:[{kind:"Meta",data:{index:{title:"\uD83C\uDFE1 Home",theme:{breadcrumb:!1,pagination:!1}},changelog:{title:"\uD83D\uDDD2️ Changelog",theme:{breadcrumb:!1,pagination:!1}},company:{title:"OctoLab",type:"menu",items:{about:{title:"About",href:"https://github.com/octolab"},octomation:{title:"Octomation",href:"https://github.com/octomation"},octopot:{title:"Octopot",href:"https://github.com/octopot"},"tact-app":{title:"Tact.app",href:"https://github.com/tact-app"},contact:{title:"Contact us",href:"mailto:hi@octolab.org"}}}}},{kind:"Folder",name:"changelog",route:"/changelog",children:[{kind:"Meta",data:{"v1.0.0":{title:"v1.0.0",theme:{breadcrumb:!1,pagination:!1}}}},{kind:"MdxPage",name:"v1.0.0",route:"/changelog/v1.0.0"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Release notes, v1.0.0"},pageNextRoute:"/changelog/v1.0.0",nextraLayout:a.ZP,themeConfig:s.Z};e.default=(0,i.j)(h)}},function(t){t.O(0,[774,42,888,179],function(){return t(t.s=1966)}),_N_E=t.O()}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/changelog/v1.0.0-7e741ac96840474e.js b/docs/_next/static/chunks/pages/changelog/v1.0.0-7e741ac96840474e.js deleted file mode 100644 index 29e4271..0000000 --- a/docs/_next/static/chunks/pages/changelog/v1.0.0-7e741ac96840474e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[989],{1966:function(t,e,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/changelog/v1.0.0",function(){return o(5650)}])},979:function(t,e,o){"use strict";var a=o(5893);e.Z={project:{link:"https://github.com/octomation/go-module"},docsRepositoryBase:"https://github.com/octomation/go-module/blob/main/tools",feedback:{useLink:()=>"https://github.com/octomation/go-module/discussions/new/choose"},useNextSeoProps:()=>({titleTemplate:"%s"}),head:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("meta",{charSet:"utf-8"}),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,a.jsx)("meta",{name:"twitter:image:src",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,a.jsx)("meta",{name:"twitter:site",content:"@github"}),(0,a.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,a.jsx)("meta",{name:"twitter:title",content:"Module"}),(0,a.jsx)("meta",{name:"twitter:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,a.jsx)("meta",{property:"og:image",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,a.jsx)("meta",{property:"og:image:alt",content:"\uD83E\uDDE9 Module"}),(0,a.jsx)("meta",{property:"og:site_name",content:"GitHub"}),(0,a.jsx)("meta",{property:"og:type",content:"object"}),(0,a.jsx)("meta",{property:"og:title",content:"Module"}),(0,a.jsx)("meta",{property:"og:url",content:"https://go-module.octolab.org"}),(0,a.jsx)("meta",{property:"og:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,a.jsx)("style",{children:"\n main p a img { display: inline; } /* badges */\n "})]}),logo:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("img",{width:24,height:24,src:"https://raw.githubusercontent.com/octomation/.github/main/.static/octolab.png",alt:"OctoLab"}),(0,a.jsx)("span",{children:"Module"})]}),banner:{text:(0,a.jsx)("a",{href:"https://github.com/octomation/go-module/releases/tag/v1.0.0",target:"_blank",children:"\uD83C\uDF89 Module v1.0.0 is released. Read more β†’"})},footer:{text:(0,a.jsxs)("span",{children:["MIT ",new Date().getFullYear()," \xa9 ",(0,a.jsx)("a",{href:"https://github.com/octolab",target:"_blank",children:"OctoLab"}),"."]})}}},5650:function(t,e,o){"use strict";o.r(e);var a=o(5893),n=o(4319),i=o(1307),c=o(979);o(9966);var s=o(1151);function r(t){let e=Object.assign({h1:"h1",p:"p"},(0,s.ah)(),t.components);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(e.h1,{children:"Release notes, v1.0.0"}),"\n",(0,a.jsx)(e.p,{children:"Stay tuned."})]})}o(5675);let l={MDXContent:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:e}=Object.assign({},(0,s.ah)(),t.components);return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(r,{...t})}):r(t)},pageOpts:{filePath:"pages/changelog/v1.0.0.md",route:"/changelog/v1.0.0",headings:[{depth:1,value:"Release notes, v1.0.0",id:"release-notes-v100"}],timestamp:1668322459e3,pageMap:[{kind:"Meta",data:{index:{title:"\uD83C\uDFE1 Home",theme:{breadcrumb:!1,pagination:!1}},changelog:{title:"\uD83D\uDDD2️ Changelog",theme:{breadcrumb:!1,pagination:!1}},company:{title:"OctoLab",type:"menu",items:{about:{title:"About",href:"https://github.com/octolab"},octomation:{title:"Octomation",href:"https://github.com/octomation"},octopot:{title:"Octopot",href:"https://github.com/octopot"},"tact-app":{title:"Tact.app",href:"https://github.com/tact-app"},contact:{title:"Contact us",href:"mailto:hi@octolab.org"}}}}},{kind:"Folder",name:"changelog",route:"/changelog",children:[{kind:"Meta",data:{"v1.0.0":{title:"v1.0.0",theme:{breadcrumb:!1,pagination:!1}}}},{kind:"MdxPage",name:"v1.0.0",route:"/changelog/v1.0.0"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"Release notes, v1.0.0"},pageNextRoute:"/changelog/v1.0.0",nextraLayout:i.ZP,themeConfig:c.Z};e.default=(0,n.j)(l)}},function(t){t.O(0,[774,42,888,179],function(){return t(t.s=1966)}),_N_E=t.O()}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/index-0bd9bbfc1679ab9d.js b/docs/_next/static/chunks/pages/index-0bd9bbfc1679ab9d.js new file mode 100644 index 0000000..50b28d9 --- /dev/null +++ b/docs/_next/static/chunks/pages/index-0bd9bbfc1679ab9d.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{1464:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return s(1969)}])},979:function(e,t,s){"use strict";var i=s(5893);t.Z={project:{link:"https://github.com/octomation/go-module"},docsRepositoryBase:"https://github.com/octomation/go-module/blob/main/tools",feedback:{useLink:()=>"https://github.com/octomation/go-module/discussions/new/choose"},useNextSeoProps:()=>({titleTemplate:"%s"}),head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{charSet:"utf-8"}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{name:"twitter:image:src",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,i.jsx)("meta",{name:"twitter:site",content:"@github"}),(0,i.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,i.jsx)("meta",{name:"twitter:title",content:"Module"}),(0,i.jsx)("meta",{name:"twitter:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,i.jsx)("meta",{property:"og:image",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,i.jsx)("meta",{property:"og:image:alt",content:"\uD83E\uDDE9 Module"}),(0,i.jsx)("meta",{property:"og:site_name",content:"GitHub"}),(0,i.jsx)("meta",{property:"og:type",content:"object"}),(0,i.jsx)("meta",{property:"og:title",content:"Module"}),(0,i.jsx)("meta",{property:"og:url",content:"https://go-module.octolab.org"}),(0,i.jsx)("meta",{property:"og:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,i.jsx)("style",{children:"\n main p a img { display: inline; } /* badges */\n "})]}),logo:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("img",{width:24,height:24,src:"https://raw.githubusercontent.com/octomation/.github/main/.static/octolab.png",alt:"OctoLab"}),(0,i.jsx)("span",{children:"Module"})]}),banner:{text:(0,i.jsx)("a",{href:"https://github.com/octomation/go-module/releases/tag/v1.0.0",target:"_blank",children:"\uD83C\uDF89 Module v1.0.0 is released. Read more β†’"})},footer:{text:(0,i.jsxs)("span",{children:["MIT ",new Date().getFullYear()," \xa9 ",(0,i.jsx)("a",{href:"https://github.com/octolab",target:"_blank",children:"OctoLab"}),"."]})}}},1969:function(e,t,s){"use strict";s.r(t);var i=s(5893),o=s(4319),n=s(1307),l=s(979);s(9966);var r=s(1151);function a(e){let t=Object.assign({p:"p",img:"img",h1:"h1",a:"a",h2:"h2",strong:"strong",pre:"pre",code:"code",span:"span",h3:"h3",ol:"ol",li:"li",ul:"ul",input:"input",details:"details",summary:"summary"},(0,r.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://socialify.git.ci/octomation/go-module/image?description=1&font=Raleway&language=1&name=1&owner=1&pattern=Circuit%20Board&theme=Light",alt:"Go Module"})}),"\n",(0,i.jsxs)(t.h1,{children:["\uD83E\uDDE9 Module ",(0,i.jsx)(t.a,{href:"https://awesome-go.com/project-layout/",children:(0,i.jsx)(t.img,{src:"https://awesome.re/mentioned-badge.svg",alt:"awesome.icon"})})]}),"\n",(0,i.jsx)(t.p,{children:"Template for a typical module written on Go."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/actions/workflows/ci.yml",children:(0,i.jsx)(t.img,{src:"https://github.com/octomation/go-module/actions/workflows/ci.yml/badge.svg",alt:"Build"})}),"\n",(0,i.jsx)(t.a,{href:"https://codecov.io/gh/octomation/go-module",children:(0,i.jsx)(t.img,{src:"https://codecov.io/gh/octomation/go-module/branch/main/graph/badge.svg",alt:"Coverage"})}),"\n",(0,i.jsx)(t.a,{href:"https://goreportcard.com/report/go.octolab.org/template/module",children:(0,i.jsx)(t.img,{src:"https://goreportcard.com/badge/go.octolab.org/template/module",alt:"Quality"})}),"\n",(0,i.jsx)(t.a,{href:"https://pkg.go.dev/go.octolab.org/template/module",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/docs-pkg.go.dev-blue",alt:"Documentation"})})]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://go-module.octolab.org",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/site-static-brightgreen",alt:"Promo"})}),"\n",(0,i.jsx)(t.a,{href:"https://bitbucket.org/kamilsk/go-module",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/mirror-bitbucket-blue",alt:"Mirror"})}),"\n",(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/template-go--module-blue",alt:"Template"})})]}),"\n",(0,i.jsx)(t.h2,{id:"-quick-start",children:"\uD83D\uDEEB Quick start"}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Makefile"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"help"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"find-todos"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"test"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"lint"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"TIMEOUT=5s"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"test-with-coverage"})]})]})}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Taskfile"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"alias"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run=./Taskfile"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"help"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"docs"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"docs"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"build"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Tools"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tools"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"source"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"bin/activate"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"which"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"goimports"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go-fmt"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"# goimports -local $(go list -m) -w ./..."})]})]})}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Docker"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go-"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"1.11"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"# or go-1.12, etc."})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"/src# make go-env "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"/dev/null "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" grep "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"GOVERSION"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"# GOVERSION: 1.11.13"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"/src# make test"})})]})}),"\n",(0,i.jsx)(t.h2,{id:"-idea",children:"\uD83D\uDCA1 Idea"}),"\n",(0,i.jsx)(t.p,{children:"Define a powerful template that quickly creates a new Go module.\nNot only does it provide a starting point for new projects,\nbut it comes equipped with pre-configured ci/cd and inventory."}),"\n",(0,i.jsx)(t.h2,{id:"-motivation",children:"\uD83C\uDFC6 Motivation"}),"\n",(0,i.jsxs)(t.p,{children:["At ",(0,i.jsx)(t.a,{href:"https://github.com/octolab",children:"OctoLab"}),", we want to start new projects faster using best practices\nwith a predefined structure and focusing on core ideas implementation\nrather than wasting time on environment configuration and copying boilerplate code."]}),"\n",(0,i.jsx)(t.h2,{id:"-how-to",children:"\uD83E\uDD3C‍ How to"}),"\n",(0,i.jsx)(t.h3,{id:"build-your-own-module",children:"Build your own module"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/generate",children:"Generate"})," a new repository from the template."]}),"\n",(0,i.jsx)(t.li,{children:"Clone the repository locally."}),"\n",(0,i.jsxs)(t.li,{children:["Update files:","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"docs/CNAME"}),", ",(0,i.jsx)(t.code,{children:"tools/pages/*"}),", ",(0,i.jsx)(t.code,{children:"tools/*.jsx?"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"go.mod"}),", and ",(0,i.jsx)(t.code,{children:"README.md"}),":","\n",(0,i.jsxs)(t.ul,{className:"contains-task-list",children:["\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","\uD83D\uDEEB Quick start"]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","\uD83D\uDCA1 Idea"]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","\uD83C\uDFC6 Motivation"]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","\uD83E\uDD3C‍ How to"]}),"\n",(0,i.jsxs)(t.li,{className:"task-list-item",children:[(0,i.jsx)(t.input,{type:"checkbox",disabled:!0})," ","\uD83D\uDEEC Integration"]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.li,{children:"Write your code and tests."}),"\n",(0,i.jsx)(t.li,{children:"\uD83D\uDE80"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"contribute-to-the-template",children:"Contribute to the template"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Read the ",(0,i.jsx)(t.a,{href:"https://github.com/octomation/.github/blob/main/.github/CONTRIBUTING.md",children:"contribution guidelines"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/fork",children:"Fork"})," the repository."]}),"\n",(0,i.jsx)(t.li,{children:"Make your changes."}),"\n",(0,i.jsx)(t.li,{children:"Send a pull request."}),"\n",(0,i.jsx)(t.li,{children:"\uD83E\uDD17"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Before you start, please make sure your changes are in demand.\nThe best for that is to create ",(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/discussions/new/choose",children:"a new discussion"}),",\nor if you find an issue, ",(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/issues/new/choose",children:"report it"})," first."]}),"\n",(0,i.jsx)(t.h2,{id:"️-configuration",children:"\uD83C\uDF9B️ Configuration"}),"\n",(0,i.jsx)(t.h3,{id:"pre-configured",children:"Pre-configured"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/features/actions",children:"GitHub Actions"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://pages.github.com",children:"GitHub Pages"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/dependabot",children:"Dependabot"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"included",children:"Included"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://nextra.site",children:"Nextra"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/makefiles",children:"Makefiles"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/taskfiles",children:"Taskfiles"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Go tools:","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/golang/mock",children:"mockgen"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/golangci-lint",children:"golangci-lint"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/go-tools",children:"goimports"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/golang/vuln",children:"govulncheck"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"optional",children:"Optional"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://bitbucket.org",children:"Bitbucket"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://about.codecov.io",children:"Codecov"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/marketplace/slack-github",children:"Slack"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/apps/settings",children:"Settings"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://socialify.git.ci",children:"GitHub Socialify"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://goreportcard.com",children:"Go Report Card"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://shields.io",children:"Shields.io"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"coming-soon",children:"Coming soon"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://codeql.github.com",children:"CodeQL"})," (code scanning)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://graphite.dev",children:"Graphite"})," (git workflow)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://qodana.cloud",children:"Qodana"})," (code quality)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://sonarcloud.io",children:"SonarCloud"})," (code quality)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/vanity",children:"Vanity URL"})," (canonical import path)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://vercel.com",children:"Vercel"})," (docs preview)."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"miscellaneous",children:"Miscellaneous"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://crontab.guru",children:"Crontab.guru"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://githistory.xyz",children:"Git History"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"-integration",children:"\uD83D\uDEEC Integration"}),"\n",(0,i.jsxs)(t.p,{children:["The project uses ",(0,i.jsx)(t.a,{href:"https://semver.org",children:"SemVer"})," for versioning, and it is not\n",(0,i.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/Backward_compatibility",children:"BC"}),"-safe through major releases.\nPlease use ",(0,i.jsx)(t.a,{href:"https://github.com/golang/go/wiki/Modules",children:"Go Modules"})," to manage its version."]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"get"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go.octolab.org@latest"})]})})}),"\n",(0,i.jsx)(t.h2,{id:"-outputs--outcomes",children:"\uD83E\uDD32 Outputs & outcomes"}),"\n",(0,i.jsxs)(t.details,{children:[(0,i.jsx)(t.summary,{children:"OctoLab"}),(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/breaker",children:"https://github.com/octolab/breaker"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/cli",children:"https://github.com/octolab/cli"}),"*"]}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://github.com/octolab/config",children:"https://github.com/octolab/config"})}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/pkg",children:"https://github.com/octolab/pkg"}),"*"]}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://github.com/octolab/propaganda",children:"https://github.com/octolab/propaganda"})}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/protocol",children:"https://github.com/octolab/protocol"}),"*"]}),"\n"]})]}),"\n",(0,i.jsxs)(t.details,{children:[(0,i.jsx)(t.summary,{children:"Octomation"}),(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/dna",children:"https://github.com/octomation/dna"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-tool",children:"https://github.com/octomation/go-tool"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-service",children:"https://github.com/octomation/go-service"}),"*"]}),"\n"]})]}),"\n",(0,i.jsxs)(t.details,{children:[(0,i.jsx)(t.summary,{children:"Others"}),(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/retry",children:"https://github.com/kamilsk/retry"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/semaphore",children:"https://github.com/kamilsk/semaphore"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/tracer",children:"https://github.com/kamilsk/tracer"}),"*"]}),"\n"]})]}),"\n",(0,i.jsx)("p",{align:"right",children:"made with ❀️ for everyone"})]})}s(5675);let c={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,r.ah)(),e.components);return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)},pageOpts:{filePath:"pages/index.mdx",route:"/",headings:[{depth:1,value:"\uD83E\uDDE9 Module ",id:"-module-"},{depth:2,value:"\uD83D\uDEEB Quick start",id:"-quick-start"},{depth:2,value:"\uD83D\uDCA1 Idea",id:"-idea"},{depth:2,value:"\uD83C\uDFC6 Motivation",id:"-motivation"},{depth:2,value:"\uD83E\uDD3C‍ How to",id:"-how-to"},{depth:3,value:"Build your own module",id:"build-your-own-module"},{depth:3,value:"Contribute to the template",id:"contribute-to-the-template"},{depth:2,value:"\uD83C\uDF9B️ Configuration",id:"️-configuration"},{depth:3,value:"Pre-configured",id:"pre-configured"},{depth:3,value:"Included",id:"included"},{depth:3,value:"Optional",id:"optional"},{depth:3,value:"Coming soon",id:"coming-soon"},{depth:3,value:"Miscellaneous",id:"miscellaneous"},{depth:2,value:"\uD83D\uDEEC Integration",id:"-integration"},{depth:2,value:"\uD83E\uDD32 Outputs & outcomes",id:"-outputs--outcomes"}],timestamp:1669788411e3,pageMap:[{kind:"Meta",data:{index:{title:"\uD83C\uDFE1 Home",theme:{breadcrumb:!1,pagination:!1}},changelog:{title:"\uD83D\uDDD2️ Changelog",theme:{breadcrumb:!1,pagination:!1}},company:{title:"OctoLab",type:"menu",items:{about:{title:"About",href:"https://github.com/octolab"},octomation:{title:"Octomation",href:"https://github.com/octomation"},octopot:{title:"Octopot",href:"https://github.com/octopot"},"tact-app":{title:"Tact.app",href:"https://github.com/tact-app"},contact:{title:"Contact us",href:"mailto:hi@octolab.org"}}}}},{kind:"Folder",name:"changelog",route:"/changelog",children:[{kind:"Meta",data:{"v1.0.0":{title:"v1.0.0",theme:{breadcrumb:!1,pagination:!1}}}},{kind:"MdxPage",name:"v1.0.0",route:"/changelog/v1.0.0"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"\uD83E\uDDE9 Module "},pageNextRoute:"/",nextraLayout:n.ZP,themeConfig:l.Z};t.default=(0,o.j)(c)}},function(e){e.O(0,[774,42,888,179],function(){return e(e.s=1464)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/index-95880520e16f3174.js b/docs/_next/static/chunks/pages/index-95880520e16f3174.js deleted file mode 100644 index 7a82c8d..0000000 --- a/docs/_next/static/chunks/pages/index-95880520e16f3174.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{1464:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return s(1969)}])},979:function(e,t,s){"use strict";var i=s(5893);t.Z={project:{link:"https://github.com/octomation/go-module"},docsRepositoryBase:"https://github.com/octomation/go-module/blob/main/tools",feedback:{useLink:()=>"https://github.com/octomation/go-module/discussions/new/choose"},useNextSeoProps:()=>({titleTemplate:"%s"}),head:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("meta",{charSet:"utf-8"}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),(0,i.jsx)("meta",{name:"twitter:image:src",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,i.jsx)("meta",{name:"twitter:site",content:"@github"}),(0,i.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,i.jsx)("meta",{name:"twitter:title",content:"Module"}),(0,i.jsx)("meta",{name:"twitter:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,i.jsx)("meta",{property:"og:image",content:"https://repository-images.githubusercontent.com/190747443/299e9ada-7893-4eba-8cc0-9a29d3c53b83"}),(0,i.jsx)("meta",{property:"og:image:alt",content:"\uD83E\uDDE9 Module"}),(0,i.jsx)("meta",{property:"og:site_name",content:"GitHub"}),(0,i.jsx)("meta",{property:"og:type",content:"object"}),(0,i.jsx)("meta",{property:"og:title",content:"Module"}),(0,i.jsx)("meta",{property:"og:url",content:"https://go-module.octolab.org"}),(0,i.jsx)("meta",{property:"og:description",content:"\uD83E\uDDE9 Template for a typical module written on Go."}),(0,i.jsx)("style",{children:"\n main p a img { display: inline; } /* badges */\n "})]}),logo:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("img",{width:24,height:24,src:"https://raw.githubusercontent.com/octomation/.github/main/.static/octolab.png",alt:"OctoLab"}),(0,i.jsx)("span",{children:"Module"})]}),banner:{text:(0,i.jsx)("a",{href:"https://github.com/octomation/go-module/releases/tag/v1.0.0",target:"_blank",children:"\uD83C\uDF89 Module v1.0.0 is released. Read more β†’"})},footer:{text:(0,i.jsxs)("span",{children:["MIT ",new Date().getFullYear()," \xa9 ",(0,i.jsx)("a",{href:"https://github.com/octolab",target:"_blank",children:"OctoLab"}),"."]})}}},1969:function(e,t,s){"use strict";s.r(t);var i=s(5893),o=s(4319),n=s(1307),l=s(979);s(9966);var r=s(1151);function a(e){let t=Object.assign({p:"p",img:"img",h1:"h1",a:"a",h2:"h2",strong:"strong",pre:"pre",code:"code",span:"span",h3:"h3",ol:"ol",li:"li",ul:"ul",details:"details",summary:"summary"},(0,r.ah)(),e.components);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{src:"https://socialify.git.ci/octomation/go-module/image?description=1&font=Raleway&language=1&name=1&owner=1&pattern=Circuit%20Board&theme=Light",alt:"Go Module"})}),"\n",(0,i.jsxs)(t.h1,{children:["\uD83E\uDDE9 Module ",(0,i.jsx)(t.a,{href:"https://awesome-go.com/project-layout/",children:(0,i.jsx)(t.img,{src:"https://awesome.re/mentioned-badge.svg",alt:"awesome.icon"})})]}),"\n",(0,i.jsx)(t.p,{children:"Template for a typical module written on Go."}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/actions/workflows/ci.yml",children:(0,i.jsx)(t.img,{src:"https://github.com/octomation/go-module/actions/workflows/ci.yml/badge.svg",alt:"Build"})}),"\n",(0,i.jsx)(t.a,{href:"https://codecov.io/gh/octomation/go-module",children:(0,i.jsx)(t.img,{src:"https://codecov.io/gh/octomation/go-module/branch/main/graph/badge.svg",alt:"Coverage"})}),"\n",(0,i.jsx)(t.a,{href:"https://goreportcard.com/report/go.octolab.org/template/module",children:(0,i.jsx)(t.img,{src:"https://goreportcard.com/badge/go.octolab.org/template/module",alt:"Quality"})}),"\n",(0,i.jsx)(t.a,{href:"https://pkg.go.dev/go.octolab.org/template/module",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/docs-pkg.go.dev-blue",alt:"Documentation"})})]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"https://go-module.octolab.org",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/site-static-brightgreen",alt:"Promo"})}),"\n",(0,i.jsx)(t.a,{href:"https://bitbucket.org/kamilsk/go-module",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/mirror-bitbucket-blue",alt:"Mirror"})}),"\n",(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module",children:(0,i.jsx)(t.img,{src:"https://img.shields.io/badge/template-go--module-blue",alt:"Template"})})]}),"\n",(0,i.jsx)(t.h2,{id:"-quick-start",children:"\uD83D\uDEEB Quick start"}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Makefile"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"setup"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"help"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"find-todos"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"test"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"lint"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"TIMEOUT=5s"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"test-with-coverage"})]})]})}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Taskfile"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"alias"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run=./Taskfile"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"help"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"docs"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"run"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"docs"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"install"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"build"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"start"})]})]})}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Tools"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"tools"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"source"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"bin/activate"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:" "}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"which"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"goimports"})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go-fmt"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"# goimports -local $(go list -m) -w ./..."})]})]})}),"\n",(0,i.jsxs)(t.p,{children:["Work with ",(0,i.jsx)(t.strong,{children:"Docker"})]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.code,{"data-language":"bash","data-theme":"default",children:[(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"make"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go-"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"1.11"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"# or go-1.12, etc."})]}),"\n",(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"/src# make go-env "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-constant)"},children:"2"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:">"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"/dev/null "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-keyword)"},children:"|"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" grep "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"GOVERSION"})]}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-comment)"},children:"# GOVERSION: 1.11.13"})}),"\n",(0,i.jsx)(t.span,{className:"line",children:(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"/src# make test"})})]})}),"\n",(0,i.jsx)(t.h2,{id:"-idea",children:"\uD83D\uDCA1 Idea"}),"\n",(0,i.jsx)(t.p,{children:"Define a powerful template that quickly creates a new Go module from scratch.\nNot only does it provide a starting point for new projects,\nbut it comes equipped with pre-configured ci/cd and inventory."}),"\n",(0,i.jsx)(t.h2,{id:"-motivation",children:"\uD83C\uDFC6 Motivation"}),"\n",(0,i.jsxs)(t.p,{children:["At ",(0,i.jsx)(t.a,{href:"https://github.com/octolab",children:"OctoLab"}),", we want to start new projects faster using best practices\nwith a predefined structure and focusing on core ideas implementation\nrather than wasting time on environment configuration and copying boilerplate code."]}),"\n",(0,i.jsx)(t.h2,{id:"-how-to",children:"\uD83E\uDD3C‍ How to"}),"\n",(0,i.jsx)(t.h3,{id:"build-your-own-module",children:"Build your own module"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/generate",children:"Generate"})," a new repository from the template."]}),"\n",(0,i.jsx)(t.li,{children:"Clone the repository locally."}),"\n",(0,i.jsxs)(t.li,{children:["Update files:","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"docs/CNAME"}),", ",(0,i.jsx)(t.code,{children:"tools/pages/*"}),", ",(0,i.jsx)(t.code,{children:"tools/*.jsx?"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"go.mod"}),", and ",(0,i.jsx)(t.code,{children:"README.md"}),":","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"\uD83D\uDEEB Quick start"}),"\n",(0,i.jsx)(t.li,{children:"\uD83D\uDCA1 Idea"}),"\n",(0,i.jsx)(t.li,{children:"\uD83C\uDFC6 Motivation"}),"\n",(0,i.jsx)(t.li,{children:"\uD83E\uDD3C‍ How to"}),"\n",(0,i.jsx)(t.li,{children:"\uD83D\uDEEC Integration"}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.li,{children:"Write your code and tests."}),"\n",(0,i.jsx)(t.li,{children:"\uD83D\uDE80"}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"contribute-to-the-template",children:"Contribute to the template"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Read the ",(0,i.jsx)(t.a,{href:"https://github.com/octomation/.github/blob/main/.github/CONTRIBUTING.md",children:"contribution guidelines"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/fork",children:"Fork"})," the repository."]}),"\n",(0,i.jsx)(t.li,{children:"Make your changes."}),"\n",(0,i.jsx)(t.li,{children:"Send a pull request."}),"\n",(0,i.jsx)(t.li,{children:"\uD83E\uDD17"}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Before you start, please make sure your changes are in demand.\nThe best for that is to create ",(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/discussions/new/choose",children:"a new discussion"}),",\nor if you find an issue, ",(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-module/issues/new/choose",children:"report it"})," first."]}),"\n",(0,i.jsx)(t.h2,{id:"️-configuration",children:"\uD83C\uDF9B️ Configuration"}),"\n",(0,i.jsx)(t.h3,{id:"pre-configured",children:"Pre-configured"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/features/actions",children:"GitHub Actions"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://pages.github.com",children:"GitHub Pages"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/dependabot",children:"Dependabot"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"included",children:"Included"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://nextra.site",children:"Nextra"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/makefiles",children:"Makefiles"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/taskfiles",children:"Taskfiles"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Go tools:","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/golang/mock",children:"mockgen"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/golangci-lint",children:"golangci-lint"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/go-tools",children:"goimports"}),","]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/golang/vuln",children:"govulncheck"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"optional",children:"Optional"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://bitbucket.org",children:"Bitbucket"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://about.codecov.io",children:"Codecov"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/marketplace/slack-github",children:"Slack"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/apps/settings",children:"Settings"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://socialify.git.ci",children:"GitHub Socialify"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://goreportcard.com",children:"Go Report Card"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://shields.io",children:"Shields.io"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"coming-soon",children:"Coming soon"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://codeql.github.com",children:"CodeQL"})," (code scanning)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://graphite.dev",children:"Graphite"})," (git workflow)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://qodana.cloud",children:"Qodana"})," (code quality)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://sonarcloud.io",children:"SonarCloud"})," (code quality)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/vanity",children:"Vanity URL"})," (canonical import path)."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://vercel.com",children:"Vercel"})," (docs preview)."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"miscellaneous",children:"Miscellaneous"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://crontab.guru",children:"Crontab.guru"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://githistory.xyz",children:"Git History"}),"."]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"-integration",children:"\uD83D\uDEEC Integration"}),"\n",(0,i.jsxs)(t.p,{children:["The project uses ",(0,i.jsx)(t.a,{href:"https://semver.org",children:"SemVer"})," for versioning, and it is not\n",(0,i.jsx)(t.a,{href:"https://en.wikipedia.org/wiki/Backward_compatibility",children:"BC"}),"-safe through major releases.\nPlease use ",(0,i.jsx)(t.a,{href:"https://github.com/golang/go/wiki/Modules",children:"Go Modules"})," to manage its version."]}),"\n",(0,i.jsx)(t.pre,{"data-language":"bash","data-theme":"default",children:(0,i.jsx)(t.code,{"data-language":"bash","data-theme":"default",children:(0,i.jsxs)(t.span,{className:"line",children:[(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:"$ "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"get"}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,i.jsx)(t.span,{style:{color:"var(--shiki-token-string)"},children:"go.octolab.org@latest"})]})})}),"\n",(0,i.jsx)(t.h2,{id:"-outputs--outcomes",children:"\uD83E\uDD32 Outputs & outcomes"}),"\n",(0,i.jsxs)(t.details,{children:[(0,i.jsx)(t.summary,{children:"OctoLab"}),(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/breaker",children:"https://github.com/octolab/breaker"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/cli",children:"https://github.com/octolab/cli"}),"*"]}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://github.com/octolab/config",children:"https://github.com/octolab/config"})}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/pkg",children:"https://github.com/octolab/pkg"}),"*"]}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"https://github.com/octolab/propaganda",children:"https://github.com/octolab/propaganda"})}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octolab/protocol",children:"https://github.com/octolab/protocol"}),"*"]}),"\n"]})]}),"\n",(0,i.jsxs)(t.details,{children:[(0,i.jsx)(t.summary,{children:"Octomation"}),(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/dna",children:"https://github.com/octomation/dna"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-tool",children:"https://github.com/octomation/go-tool"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/octomation/go-service",children:"https://github.com/octomation/go-service"}),"*"]}),"\n"]})]}),"\n",(0,i.jsxs)(t.details,{children:[(0,i.jsx)(t.summary,{children:"Others"}),(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/retry",children:"https://github.com/kamilsk/retry"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/semaphore",children:"https://github.com/kamilsk/semaphore"}),"*"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/kamilsk/tracer",children:"https://github.com/kamilsk/tracer"}),"*"]}),"\n"]})]}),"\n",(0,i.jsx)("p",{align:"right",children:"made with ❀️ for everyone"})]})}s(5675);let c={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:t}=Object.assign({},(0,r.ah)(),e.components);return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)},pageOpts:{filePath:"pages/index.mdx",route:"/",headings:[{depth:1,value:"\uD83E\uDDE9 Module ",id:"-module-"},{depth:2,value:"\uD83D\uDEEB Quick start",id:"-quick-start"},{depth:2,value:"\uD83D\uDCA1 Idea",id:"-idea"},{depth:2,value:"\uD83C\uDFC6 Motivation",id:"-motivation"},{depth:2,value:"\uD83E\uDD3C‍ How to",id:"-how-to"},{depth:3,value:"Build your own module",id:"build-your-own-module"},{depth:3,value:"Contribute to the template",id:"contribute-to-the-template"},{depth:2,value:"\uD83C\uDF9B️ Configuration",id:"️-configuration"},{depth:3,value:"Pre-configured",id:"pre-configured"},{depth:3,value:"Included",id:"included"},{depth:3,value:"Optional",id:"optional"},{depth:3,value:"Coming soon",id:"coming-soon"},{depth:3,value:"Miscellaneous",id:"miscellaneous"},{depth:2,value:"\uD83D\uDEEC Integration",id:"-integration"},{depth:2,value:"\uD83E\uDD32 Outputs & outcomes",id:"-outputs--outcomes"}],timestamp:166857635e4,pageMap:[{kind:"Meta",data:{index:{title:"\uD83C\uDFE1 Home",theme:{breadcrumb:!1,pagination:!1}},changelog:{title:"\uD83D\uDDD2️ Changelog",theme:{breadcrumb:!1,pagination:!1}},company:{title:"OctoLab",type:"menu",items:{about:{title:"About",href:"https://github.com/octolab"},octomation:{title:"Octomation",href:"https://github.com/octomation"},octopot:{title:"Octopot",href:"https://github.com/octopot"},"tact-app":{title:"Tact.app",href:"https://github.com/tact-app"},contact:{title:"Contact us",href:"mailto:hi@octolab.org"}}}}},{kind:"Folder",name:"changelog",route:"/changelog",children:[{kind:"Meta",data:{"v1.0.0":{title:"v1.0.0",theme:{breadcrumb:!1,pagination:!1}}}},{kind:"MdxPage",name:"v1.0.0",route:"/changelog/v1.0.0"}]},{kind:"MdxPage",name:"index",route:"/"}],flexsearch:{codeblocks:!0},title:"\uD83E\uDDE9 Module "},pageNextRoute:"/",nextraLayout:n.ZP,themeConfig:l.Z};t.default=(0,o.j)(c)}},function(e){e.O(0,[774,42,888,179],function(){return e(e.s=1464)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/docs/changelog/v1.0.0.html b/docs/changelog/v1.0.0.html index 7e2b890..fd28e81 100644 --- a/docs/changelog/v1.0.0.html +++ b/docs/changelog/v1.0.0.html @@ -11,5 +11,31 @@ }
\ No newline at end of file +

Release notes, v1.0.0

+

πŸ‘‹ Hi, folks!

+

We are glad to announce the first stable release of the template +to help the Go community build their excellent modules faster! πŸŽ‰

+

Ready to go (opens in a new tab)

+ +

Out of the box (opens in a new tab)

+

Slack integration

+

image

+

Documentation

+

Based on Nextra (opens in a new tab), hosted by GitHub Pages (opens in a new tab). +See the example (opens in a new tab).

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 3af9f72..5aafc1d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -11,7 +11,7 @@ }

Go Module

+

πŸ’‘ Idea

-

Define a powerful template that quickly creates a new Go module from scratch. +

Define a powerful template that quickly creates a new Go module. Not only does it provide a starting point for new projects, but it comes equipped with pre-configured ci/cd and inventory.

πŸ† Motivation

@@ -63,12 +63,12 @@

  • docs/CNAME, tools/pages/*, tools/*.jsx?,
  • go.mod, and README.md: -
      -
    • πŸ›« Quick start
    • -
    • πŸ’‘ Idea
    • -
    • πŸ† Motivation
    • -
    • πŸ€Όβ€ How to
    • -
    • πŸ›¬ Integration
    • +
        +
      • πŸ›« Quick start
      • +
      • πŸ’‘ Idea
      • +
      • πŸ† Motivation
      • +
      • πŸ€Όβ€ How to
      • +
      • πŸ›¬ Integration
    @@ -156,4 +156,4 @@

    https://github.com/kamilsk/semaphore (opens in a new tab)*

  • https://github.com/kamilsk/tracer (opens in a new tab)*
  • -

    made with ❀️ for everyone

    \ No newline at end of file +

    made with ❀️ for everyone

    \ No newline at end of file