🚀 SHSF CLI

A powerful command-line interface for managing and interacting with your SHSF instance. Built with TypeScript and designed for developers, it provides a seamless experience to perform health checks, run tests, and more—all from your terminal.

pnpm TypeScript

🚦 Getting Started

📋 Prerequisites

  • Node.js (v22+)
  • pnpm (preferred)

📦 Installation

To install SHSF CLI globally on your system:

pnpm add -g shsf-cli

or

npm install -g shsf-cli

Once installed, simply type:

shsf health

and it will ask you for your SHSF instance URL and API token to perform a health check.

🛠️ Usage & Commands

🩺 Health Check

Quickly see if the system is up and running:

shsf health

🔗 Execution URL

Get a function's execution URL by ID:

shsf get exec-url --id <id>

If your repo has a .shsf.json mapping with an id, you can omit --id:

shsf get exec-url

The command prints the standard execution URL and, when available, the alias URL based on the function's executionAlias.

🏗️ Local Development

If you're contributing or running from source:

  1. Setup:

    git clone https://github.com/Space-Banane/shsf-cli.git
    cd shsf-cli
    pnpm install
    
  2. Run:

    pnpm build      # Build the project
    pnpm start [cmd] # Run a command directly
    

Ignore & Mapping files

You can control what files shsf remote push ignores using a .shsfignore file (gitignore-style).

Place .shsfignore in the source directory you're pushing or in the repository root. Examples:

# ignore logs and secrets
*.log
secret.txt
node_modules

You can also create a .shsf.json mapping file at the repository root to avoid passing --id and --from every time. Example:

{
  "default": {
    "id": "my-function-id",
    "from": "src/functions/my-fn"
  }
}

Command-line options always override values from .shsf.json.

🤝 Contributing

We love builders! To add a new command:

  1. Create a .ts file in src/commands/.
  2. Export a definition object:
    export const myCommand = {
      name: "run-test",
      description: "Explanation of what it does",
      action: async () => { ... }
    };
    
  3. Run pnpm build and test it with shsf run-test.

📄 License

Licensed under the MIT-0 License. Happy coding! 🍌

S
Description
No description provided
Readme 178 KiB
v2.3.3 Latest
2026-07-10 22:56:51 +02:00
Languages
TypeScript 99.3%
JavaScript 0.7%