Skip to content

🏹 @reliverse/religet is a modern alternative to giget/gegit. πŸ”œ Coming soon: a full-featured download library, CLI, browser extension, embedded website downloads (like mega), desktop app, and mobile app.

License

Notifications You must be signed in to change notification settings

reliverse/religet

Repository files navigation

🧬 @reliverse/religet

Zero-dependency project + template downloader. Based on giget, with extra vibes and developer-first polish.

πŸ“¦ NPM β€’ ✨ GitHub β€’ πŸ’¬ Discord

πŸ’‘ What is Religet?

@reliverse/religet is your one-stop drop-in CLI and library for pulling down project starters, templates, and repos β€” from GitHub, GitLab, Bitbucket, Sourcehut, or custom template registries.

Think of it like degit, giget, or npx create-* β€” but:

  • πŸ’₯ No git required
  • 🧠 Smart caching + offline mode
  • πŸ” Auth support for private repos
  • πŸ› οΈ Custom registries and providers
  • πŸ’« Built for starter kits, generators, internal tooling
  • πŸ“¦ Perfect for tool authors who ship code templates

⚠️ Heads up!
Some of the things mentioned in this doc aren't implemented yet β€” they're part of the vision for v1.0.0. Got thoughts? Ideas? Complaints? Drop your feedback in Discord or use GitHub Issues. Your feedback means the world and helps shape where this project goes next. Thank you!

πŸš€ Install

pnpm add -D @reliverse/religet

or use directly via CLI:

npx @reliverse/religet gh:reliverse/cli-starter

πŸ”§ Usage (CLI)

npx religet <template> [target-dir] [...options]

Examples

# Clone a GitHub repo via shortcut
religet gh:reliverse/resejs-starter

# Clone to a custom folder
religet gh:user/template my-new-project

# Clone subpath from main branch
religet gh:user/template/starters/web

# Clone from a tarball
religet https://api.github.com/repos/unjs/template/tarball/main

# Use a custom registry
religet mylib --registry=https://registry.example.com

CLI Flags

Flag Description
--force Allow writing into existing folder
--offline Skip downloading, use local cache
--prefer-offline Try cache first, fallback to download
--force-clean ⚠️ Delete folder before cloning
--install Auto-install deps (uses nypm)
--cwd Set working dir
--auth Auth token for private repos (or use GIGET_AUTH)
--registry Custom registry URL

🧠 Usage (Library)

import { downloadTemplate } from "@reliverse/religet";

const { dir, source } = await downloadTemplate("gh:reliverse/cli-starter", {
  dir: "./my-app",
  force: true,
  install: true,
});

Options

  • dir: Destination path
  • force: Overwrite existing files
  • offline, preferOffline
  • install: Run dependency installation post-download
  • auth: Access token (env GIGET_AUTH also supported)
  • provider: Custom template providers
  • registry: Template registry (e.g. GitHub JSON-based or custom)

πŸ“¦ Template Sources

Religet supports a wide range of input formats:

Format Example
GitHub repo gh:user/repo
GitLab gitlab:user/repo
Bitbucket bitbucket:user/repo
Sourcehut sourcehut:user/repo
HTTP tarball https://github.com/user/repo/tarball/main
Template registry your-template-name + --registry=...

πŸ”Œ Advanced: Custom Providers

import type { TemplateProvider } from "@reliverse/religet";

const rainbow: TemplateProvider = async (input, { auth }) => {
  return {
    name: "rainbow",
    url: `https://rainbow.example/${input}`,
    tar: `https://rainbow.example/tarballs/${input}.tar.gz`,
    headers: { authorization: auth },
  };
};

await downloadTemplate("rainbow:example", {
  providers: { rainbow },
});

🧱 Use Cases

  • πŸ“¦ Starter kits and boilerplates
  • πŸ§™ create-* style CLIs
  • πŸ› οΈ Code generators for plugins, templates, engines
  • 🌌 Internal developer platforms & dev portals
  • πŸ€– AI-assisted project bootstrapping

πŸ” Private Repo Access

GIGET_AUTH=ghp_xxx religet gh:user/private-template

Works with CLI and programmatic APIs. Auth is sent via Authorization: Bearer <token>.

πŸ”­ Related Projects

  • giget β€” the incredible base powering Religet
  • degit β€” the OG that started it all
  • create-t3-app β€” template-first app generator
  • unjs/nypm β€” dependency installer used internally

πŸ’¬ Community & Feedback

πŸ“„ License

MIT Β© blefnk (Nazar Kornienko)
Part of the Reliverse ecosystem.

About

🏹 @reliverse/religet is a modern alternative to giget/gegit. πŸ”œ Coming soon: a full-featured download library, CLI, browser extension, embedded website downloads (like mega), desktop app, and mobile app.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published