<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Husky on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/husky/</link>
        <description>Recent content in Husky on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 11 Sep 2025 15:29:44 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/husky/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>examples</title>
        <link>https://producthunt.programnotes.cn/en/p/examples/</link>
        <pubDate>Thu, 11 Sep 2025 15:29:44 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/examples/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1639401182416-313713ce68de?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTc1NzU3Mzd8&amp;ixlib=rb-4.1.0" alt="Featured image of post examples" /&gt;&lt;h1 id=&#34;vercelexamples&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/examples&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vercel/examples&lt;/a&gt;
&lt;/h1&gt;&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://vercel.com&#34;&gt;
    &lt;img src=&#34;https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png&#34; height=&#34;96&#34;&gt;
    &lt;h3 align=&#34;center&#34;&gt;Vercel Examples&lt;/h3&gt;
  &lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://producthunt.programnotes.cn/solutions&#34; &gt;Solutions&lt;/a&gt; – Demos, reference architecture, and best practices&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://producthunt.programnotes.cn/starter&#34; &gt;Starter&lt;/a&gt; – Functional applications which can act as a starting point&lt;/li&gt;
&lt;li&gt;And more!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;vercel-templates&#34;&gt;Vercel Templates
&lt;/h2&gt;&lt;p&gt;Multiple examples are being featured in &lt;a class=&#34;link&#34; href=&#34;https://vercel.com/templates&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel&amp;rsquo;s Templates&lt;/a&gt;, visit that page for more advanced filtering options.&lt;/p&gt;
&lt;h3 id=&#34;for-vercelians&#34;&gt;For Vercelians
&lt;/h3&gt;&lt;p&gt;Examples that have front matter metadata will create a new Draft template in &lt;a class=&#34;link&#34; href=&#34;https://app.contentful.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Contentful&lt;/a&gt;, for more steps on how to publish a template, read &lt;a class=&#34;link&#34; href=&#34;./internal/publishing-templates.md&#34; &gt;Publishing Templates&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;adding-a-new-example&#34;&gt;Adding a new example
&lt;/h2&gt;&lt;p&gt;To quickly start contributing with a new example, run the following commands:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm i
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm new-example
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If the script above isn&amp;rsquo;t used, make sure the example complies with the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It must have a &lt;code&gt;.gitignore&lt;/code&gt; similar to &lt;a class=&#34;link&#34; href=&#34;./plop-templates/example/.gitignore&#34; &gt;plop-templates/example/.gitignore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;It must have a &lt;code&gt;package.json&lt;/code&gt; similar to &lt;a class=&#34;link&#34; href=&#34;./plop-templates/example/package.json&#34; &gt;plop-templates/example/package.json&lt;/a&gt; (usage of Next.js is optional). The license should be &lt;code&gt;MIT&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;It must have a &lt;code&gt;README.md&lt;/code&gt; similar to &lt;a class=&#34;link&#34; href=&#34;./plop-templates/example/README.md&#34; &gt;plop-templates/example/README.md&lt;/a&gt;. The example has to be able to include a demo URL (the Vercel team will deploy it!) and if it requires environment variables, it must have a &lt;code&gt;.env.example&lt;/code&gt; file and instructions on how to set them up. Take &lt;a class=&#34;link&#34; href=&#34;./edge-middleware/bot-protection-datadome/README.md&#34; &gt;bot-protection-datadome&lt;/a&gt; as an example.
&lt;ul&gt;
&lt;li&gt;To customize the Vercel Deploy Button take a look at the &lt;a class=&#34;link&#34; href=&#34;https://vercel.com/docs/deploy-button&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docs&lt;/a&gt;, useful if the deployment has required environment variables.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If using Next.js, it must have a &lt;code&gt;.eslintrc.json&lt;/code&gt; similar to &lt;a class=&#34;link&#34; href=&#34;./plop-templates/example/.eslintrc.json&#34; &gt;plop-templates/example/.eslintrc.json&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;All Next.js examples should be using the same styling and layout provided by &lt;code&gt;@vercel/examples-ui&lt;/code&gt;, its usage can be seen in the &lt;a class=&#34;link&#34; href=&#34;./plop-templates/example&#34; &gt;plop template&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;adding-a-template&#34;&gt;Adding a template
&lt;/h3&gt;&lt;p&gt;If you would like the example to be featured in &lt;a class=&#34;link&#34; href=&#34;https://vercel.com/templates&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vercel.com/templates&lt;/a&gt; then also add the front matter metadata to the top of the readme, like in &lt;a class=&#34;link&#34; href=&#34;./edge-middleware/bot-protection-datadome/README.md&#34; &gt;bot-protection-datadome&lt;/a&gt;. To know all the possible values for each metadata take a look at &lt;a class=&#34;link&#34; href=&#34;./internal/fields.json&#34; &gt;&lt;code&gt;internal/fields.json&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you want to add related templates to your template, copy the &lt;code&gt;slug&lt;/code&gt; from the other template into the &lt;code&gt;relatedTemplates&lt;/code&gt; field, for example for &lt;a class=&#34;link&#34; href=&#34;https://vercel.com/templates/next.js/monorepo-turborepo&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vercel.com/templates/next.js/monorepo-turborepo&lt;/a&gt; the slug is &lt;code&gt;monorepo-turborepo&lt;/code&gt;, as written in &lt;a class=&#34;link&#34; href=&#34;./solutions/monorepo/README.md&#34; &gt;solutions/monorepo/README.md&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;the-pre-commit-hook&#34;&gt;The pre-commit hook
&lt;/h3&gt;&lt;p&gt;We use &lt;a class=&#34;link&#34; href=&#34;https://typicode.github.io/husky/#/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Husky&lt;/a&gt; to manage the pre-commit &lt;a class=&#34;link&#34; href=&#34;https://git-scm.com/docs/githooks&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Git hook&lt;/a&gt; in this repo. Husky configures hooks automatically during install, so you don&amp;rsquo;t need to do anything special to get them working, but if it fails to install, you can run the following command to install it manually:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm run prepare
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Code changes automatically go through Prettier and ESLint when you make a commit, &lt;strong&gt;please do not skip these steps&lt;/strong&gt; unless they&amp;rsquo;re broken and in that case let us known by creating an issue.&lt;/p&gt;
&lt;h2 id=&#34;read-the-docs&#34;&gt;Read the Docs
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://vercel.com/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel Docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://nextjs.org/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Next.js Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have any questions or suggestions about the docs, feel free to &lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/examples/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;open a discussion&lt;/a&gt;, or &lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/examples/pulls&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;submit a PR&lt;/a&gt; with your suggestions!&lt;/p&gt;
&lt;h2 id=&#34;provide-feedback&#34;&gt;Provide Feedback
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/examples/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Start a Discussion&lt;/a&gt; with a question, piece of feedback, or idea you want to share with the team.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/examples/issues&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Open an Issue&lt;/a&gt; if you believe you&amp;rsquo;ve encountered a bug that you want to flag for the team.&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
