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 now.

  3. You have been granted access to Jet and can access https://github.com/karmasakshi/jet. If not, DM the author on X or send 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. Create a .env file for local environment variables. It has already been added to .gitignore and won't be committed.

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

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

  6. Run npm run commit to commit these changes.

  7. Start building!

Optional: Optimize and Personalise Further

  1. Update the title, keywords and description tags in /src/index.html.

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

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

  4. 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.

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

  6. Update sitemap.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 to exclude routes from being indexed.

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

Last updated