Get Started

Jet is a template repository that you can use to create your own repository under your, or your organization's GitHub account.

Prerequisites

  1. You have a GitHub account and are logged in.

  2. You have bought access to Jet. If not, buy.

  3. You have been granted access to Jet and can access https://github.com/karmasakshi/jet. If not, DM us on X or send the author an email instead.

Start Building

Step 1: Open https://github.com/karmasakshi/jet.

Step 2: Click Use this template, then click Create a new repository.

Create a new repository from template
Create a new repository from template

Step 3: Choose the Owner, Repository name and Description (optional). Select Private since Jet's license prohibits sharing it publicly.

Choose Private
Choose Private

Step 4: Click Create repository. You will now have a repository with Jet as the initial commit.

Jet as the initial commit
Jet as the initial commit

Optional: Since a token isn't set, Release Please Action will run and fail (it runs on pushes to the main branch). This is normal and expected.

Release Please Action fails without token
Release Please Action fails without token

You can create a token and add it to your repository's Actions secrets. Name it RELEASE_PLEASE_TOKEN as mentioned in the workflow file (.github/workflows/release-please.yml). Click Add secret.

Actions secrets
Actions secrets

Alternatively, if you choose to not use this feature, you can ignore creating the token and the Actions secret, and remove the workflow file altogether.

Step 5: Clone the repository and do the following:

  1. Delete .github/FUNDING.yml to remove Jet's sponsorship links.

  2. Delete CHANGELOG.md. A new one will be created automatically when Release Please Action runs next.

  3. Duplicate .env.example and rename it to .env for local environment variables. It has already been added to .gitignore and won't be committed.

  4. Empty the template of Footer Component.

  5. Use the configuration in vercel.json as a reference for your hosting configuration; delete it afterwards.

  6. Reset version in package.json to "0.0.0".

  7. Run npm i to install dependencies and enable Husky. It will also update the version property in package-lock.json to "0.0.0".

  8. Run npm run commit to commit these changes.

  9. Start building!

Optional: Optimize and Personalize Further

  1. Set up a new Supabase project and set the Supabase key and URL in .env. Set the URL in index.html and your Content Security Policy.

  2. Update the title, keywords and description tags in index.html.

  3. Update this._prefix in Storage Service to a unique string, so keys of other apps made with Jet do not conflict on localhost.

  4. Update scope-enum in .commitlintrc.json with major features of your app so changes of a feature are grouped together in CHANGELOG.md.

  5. Replace Jet icons and logo with your own in public/. https://realfavicongenerator.net/ is a great tool to generate icons from a single icon file.

  6. Compress images if any. https://squoosh.app/ is a great tool to convert images to modern formats.

  7. Update sitemap-main.xml to include all routes of your app. Submit it to various crawlers (Bing, Google, Yandex, etc.) when your app is ready. Update robots.txt if required.

  8. Integrate with an analytics service. Update the Content Security Policy rules in index.html accordingly.

  9. Set up Supabase Redirect URLs (suffix * to forward query params) and OAuth providers.

Supabase Redirect URLs
Supabase Redirect URLs

Last updated

Was this helpful?