### Clone and install dependencies Source: https://sigillo.dev/ Initial setup steps for deploying from source. ```bash git clone https://github.com/remorses/sigillo.git cd sigillo && pnpm install ``` -------------------------------- ### Run Sigillo Setup Source: https://sigillo.dev/docs/cli/setup Executes the setup command to initialize project and environment defaults for the current directory. ```sh sigillo setup ``` -------------------------------- ### Run locally Source: https://sigillo.dev/ Start the development server for the app. ```bash pnpm --dir app dev ``` -------------------------------- ### Install Sigillo CLI Source: https://sigillo.dev/ Provides methods to install the Sigillo binary natively or via npm. ```bash curl -fsSL https://sigillo.dev/install.sh | bash ``` ```bash npm i -g sigillo ``` -------------------------------- ### Initialize and run project Source: https://sigillo.dev/docs/self-hosting Sets up the project and starts the development server against the self-hosted instance. ```bash sigillo setup sigillo run -- next dev ``` -------------------------------- ### Run Sigillo without installation Source: https://sigillo.dev/ Executes the Sigillo command directly using npx or bunx without a global installation. ```bash npx sigillo run -- next dev bunx sigillo run -- next dev ``` -------------------------------- ### Get project details command Source: https://sigillo.dev/docs/cli/projects-get Retrieves details for a specific project using its ID. ```sh sigillo projects get ``` -------------------------------- ### List projects via cURL Source: https://sigillo.dev/api/get-api-v0-projects Retrieves a list of all projects using a standard GET request. ```bash curl -X GET "https://api.example.com/api/v0/projects" ``` -------------------------------- ### GET /api/v0/projects/{projectId}/environments Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments Retrieves a list of environments for the specified project. ```APIDOC ## GET /api/v0/projects/{projectId}/environments ### Description Retrieves a list of environments associated with the specified project ID. ### Method GET ### Endpoint /api/v0/projects/{projectId}/environments ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. ### Response #### Success Response (200) - **projectId** (string) - The project ID. - **environments** (array) - List of environment objects. #### Error Response (404) - **error** (string) - Error message when the project is not found. ``` -------------------------------- ### sigillo projects get Source: https://sigillo.dev/docs/cli/projects-get Retrieves details for a specific project by its ID. ```APIDOC ## CLI Command: sigillo projects get ### Description Retrieves the details of a project identified by the provided ID. ### Usage `sigillo projects get ` ### Arguments - **id** (string) - Required - The unique identifier of the project to retrieve. ### Global Options - **-h, --help** - Display help message. - **-v, --version** - Display version number. - **--token [token]** - Auth token override. - **--api-url [url]** - API URL override (default: https://sigillo.dev). ``` -------------------------------- ### sigillo environments get Source: https://sigillo.dev/docs/cli/environments-get Retrieves details for a specific environment using its ID or slug. ```APIDOC ## sigillo environments get ### Description Retrieves environment details by providing the environment ID or slug. ### Usage `sigillo environments get ` ### Global Options - **-h, --help** - Display help message - **-v, --version** - Display version number - **--token [token]** - Auth token override - **--api-url [url]** - API URL override (default: https://sigillo.dev) ``` -------------------------------- ### Get environment details Source: https://sigillo.dev/docs/cli/environments-get Retrieve information for a specific environment using its ID or slug. ```sh sigillo environments get ``` -------------------------------- ### Interact with Sigillo REST API Source: https://sigillo.dev/ Examples for listing, setting, and bulk managing secrets via the REST API using curl. ```bash # list secrets curl -H "Authorization: Bearer sig_xxx" \ https://sigillo.dev/api/environments/{envId}/secrets # set a secret curl -X POST -H "Authorization: Bearer sig_xxx" \ -H "Content-Type: application/json" \ -d '{"name": "API_KEY", "value": "sk-live-xxx"}' \ https://sigillo.dev/api/environments/{envId}/secrets # bulk download as JSON curl -H "Authorization: Bearer sig_xxx" \ https://sigillo.dev/api/environments/{envId}/secrets/download?format=json # bulk set curl -X PUT -H "Authorization: Bearer sig_xxx" \ -H "Content-Type: application/json" \ -d '{"secrets": {"KEY1": "val1", "KEY2": "val2"}}' \ https://sigillo.dev/api/environments/{envId}/secrets ``` -------------------------------- ### GET /api/environments/{envId}/secrets/download Source: https://sigillo.dev/ Downloads all secrets for an environment in a specific format. ```APIDOC ## GET /api/environments/{envId}/secrets/download ### Description Downloads the secrets for an environment as a JSON object. ### Method GET ### Endpoint https://sigillo.dev/api/environments/{envId}/secrets/download ### Parameters #### Path Parameters - **envId** (string) - Required - The unique identifier of the environment. #### Query Parameters - **format** (string) - Required - The format for the download (e.g., json). ``` -------------------------------- ### Get current user via cURL Source: https://sigillo.dev/api/get-api-v0-me Retrieves the current user's profile and organization data using a standard GET request. ```bash curl -X GET "https://api.example.com/api/v0/me" ``` -------------------------------- ### Install Sigillo skill for AI agents Source: https://sigillo.dev/ Adds the Sigillo skill to AI coding agents such as Claude Code, Cursor, and Windsurf. ```bash npx -y skills add remorses/sigillo ``` -------------------------------- ### GET /api/environments/{envId}/secrets Source: https://sigillo.dev/ Lists all secrets for a given environment. ```APIDOC ## GET /api/environments/{envId}/secrets ### Description Retrieves a list of secrets for the specified environment. ### Method GET ### Endpoint https://sigillo.dev/api/environments/{envId}/secrets ### Parameters #### Path Parameters - **envId** (string) - Required - The unique identifier of the environment. ``` -------------------------------- ### GET /api/v0/orgs Source: https://sigillo.dev/api/get-api-v0-orgs Retrieves a list of organizations for the authenticated user. ```APIDOC ## GET /api/v0/orgs ### Description List all organizations associated with the current user. ### Method GET ### Endpoint /api/v0/orgs ### Response #### Success Response (200) - **orgs** (array) - A list of organization objects. - **id** (string) - The unique identifier of the organization. - **name** (string) - The name of the organization. - **createdAt** (string) - The timestamp when the organization was created. - **updatedAt** (string) - The timestamp when the organization was last updated. - **role** (string) - The user's role in the organization (admin or member). ``` -------------------------------- ### GET /api/v0/projects/{projectId}/environments/{id} Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-id Retrieves the details of a specific environment associated with a project. ```APIDOC ## GET /api/v0/projects/{projectId}/environments/{id} ### Description Retrieves the details of a specific environment within a project. ### Method GET ### Endpoint /api/v0/projects/{projectId}/environments/{id} ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. - **id** (string) - Required - The unique identifier of the environment. ### Request Example ```bash curl -X GET "https://api.example.com/api/v0/projects//environments/" ``` ### Response #### Success Response (200) - **id** (string) - The environment ID. - **projectId** (string) - The project ID. - **name** (string) - The name of the environment. - **slug** (string) - The slug of the environment. - **createdAt** (object) - The creation timestamp. - **updatedAt** (object) - The last update timestamp. #### Error Response (404) - **error** (string) - Error message indicating the resource was not found. ``` -------------------------------- ### GET /api/v0/projects Source: https://sigillo.dev/api/get-api-v0-projects Retrieves a list of projects. Supports optional filtering by organization ID. ```APIDOC ## GET /api/v0/projects ### Description Retrieves a list of projects associated with the authenticated user or organization. ### Method GET ### Endpoint /api/v0/projects ### Parameters #### Query Parameters - **orgId** (string) - Optional - The organization ID to filter projects by. ### Request Example ```bash curl -X GET "https://api.example.com/api/v0/projects" ``` ### Response #### Success Response (200) - **projects** (array) - A list of project objects. #### Response Example { "projects": [ { "id": "string", "orgId": "string", "name": "string", "createdAt": "string", "updatedAt": "string", "orgName": "string", "environments": [ { "id": "string", "projectId": "string", "name": "string", "slug": "string", "createdAt": "string", "updatedAt": "string" } ] } ] } ``` -------------------------------- ### Get environment via cURL Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-id Use this cURL command to fetch environment details by providing the project ID and environment ID in the URL path. ```bash curl -X GET "https://api.example.com/api/v0/projects//environments/" ``` -------------------------------- ### GET /api/v0/projects/{id} Source: https://sigillo.dev/api/get-api-v0-projects-id Retrieves the details of a specific project using its unique identifier. ```APIDOC ## GET /api/v0/projects/{id} ### Description Retrieves the details of a specific project using its unique identifier. ### Method GET ### Endpoint /api/v0/projects/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the project. ### Response #### Success Response (200) - **id** (string) - Project ID - **orgId** (string) - Organization ID - **name** (string) - Project name - **createdAt** (object) - Creation timestamp - **updatedAt** (object) - Last update timestamp - **orgName** (string) - Organization name - **environments** (array) - List of environments associated with the project #### Error Response (404) - **error** (string) - Error message ``` -------------------------------- ### Get project via cURL Source: https://sigillo.dev/api/get-api-v0-projects-id Use this cURL command to retrieve project details by replacing with the target project identifier. ```bash curl -X GET "https://api.example.com/api/v0/projects/" ``` -------------------------------- ### Securely pipe secrets to tools Source: https://sigillo.dev/ Examples of piping secret values directly to other commands to avoid exposing them in agent chat contexts. ```bash 12sigillo run --command 'psql "$DATABASE_URL" -c "select 1"' sigillo secrets download --format env | fly secrets import --app my-app ``` -------------------------------- ### GET /api/v0/projects/{projectId}/environments/{environmentId}/secrets/download Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-environmentid-secrets-download Downloads secrets for a specified project and environment. Supports multiple output formats. ```APIDOC ## GET /api/v0/projects/{projectId}/environments/{environmentId}/secrets/download ### Description Downloads secrets for a specific project environment. The output format can be customized using the format query parameter. ### Method GET ### Endpoint /api/v0/projects/{projectId}/environments/{environmentId}/secrets/download ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. - **environmentId** (string) - Required - The unique identifier of the environment. #### Query Parameters - **format** (string) - Optional - The format of the secrets file. Supported values: json, env, env-no-quotes, xargs, yaml, docker, dotnet-json. ### Request Example curl -X GET "https://api.example.com/api/v0/projects//environments//secrets/download" ### Response #### Success Response (200) - Returns the secrets file in the requested format. ``` -------------------------------- ### List secrets via cURL Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-environmentid-secrets Retrieve secrets for a specific project and environment using a GET request. ```bash curl -X GET "https://api.example.com/api/v0/projects//environments//secrets" ``` -------------------------------- ### List organizations via cURL Source: https://sigillo.dev/api/get-api-v0-orgs Use this cURL command to perform a GET request to the organizations endpoint. ```bash curl -X GET "https://api.example.com/api/v0/orgs" ``` -------------------------------- ### GET /api/v0/projects/{projectId}/environments/{environmentId}/secrets Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-environmentid-secrets Retrieves a list of secrets for the specified project and environment. ```APIDOC ## GET /api/v0/projects/{projectId}/environments/{environmentId}/secrets ### Description Retrieves a list of secrets for the specified project and environment. ### Method GET ### Endpoint /api/v0/projects/{projectId}/environments/{environmentId}/secrets ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project. - **environmentId** (string) - Required - The ID of the environment. ### Response #### Success Response (200) - **environmentId** (string) - The ID of the environment. - **secrets** (array) - List of secret objects. - **allNames** (array) - List of secret names. ``` -------------------------------- ### sigillo secrets get Source: https://sigillo.dev/docs/cli/secrets-get Retrieves a secret value by name, supporting project and environment overrides. ```APIDOC ## CLI Command: sigillo secrets get ### Description Retrieves the value of a specified secret. Supports project and environment overrides, as well as raw output formatting. ### Usage `sigillo secrets get [options]` ### Arguments - **name** (string) - Required - The name of the secret to retrieve. ### Options - **-p, --project** (id) - Optional - Project ID override. - **--env** (slug) - Optional - Environment slug override (e.g., dev, prod). - **-c, --config** (slug) - Optional - Environment slug override. - **--force** (boolean) - Optional - Allow printing secret values in agent shells. - **--raw** (boolean) - Optional - Output only the raw value without YAML wrapping. ### Global Options - **-h, --help** - Display help message. - **-v, --version** - Display version number. - **--token** (string) - Auth token override. - **--api-url** (url) - API URL override (default: https://sigillo.dev). ``` -------------------------------- ### GET /api/v0/me Source: https://sigillo.dev/api/get-api-v0-me Retrieves the currently authenticated user's profile details and their associated organizations. ```APIDOC ## GET /api/v0/me ### Description Retrieves the profile information for the currently authenticated user, including their ID, name, email, and a list of organizations they belong to. ### Method GET ### Endpoint /api/v0/me ### Response #### Success Response (200) - **user** (object) - The authenticated user's profile. - **id** (string) - User unique identifier. - **name** (string) - User display name. - **email** (string) - User email address. - **orgs** (array) - List of organizations the user belongs to. - **id** (string) - Organization unique identifier. - **name** (string) - Organization name. - **role** (string) - User role within the organization (admin or member). ### Request Example ```bash curl -X GET "https://api.example.com/api/v0/me" ``` ``` -------------------------------- ### GET /api/v0/projects/{projectId}/environments/{environmentId}/secrets/{name} Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-environmentid-secrets-name Retrieves the value and metadata for a specific secret identified by its name within a given project and environment. ```APIDOC ## GET /api/v0/projects/{projectId}/environments/{environmentId}/secrets/{name} ### Description Retrieves the value and metadata for a specific secret identified by its name within a given project and environment. ### Method GET ### Endpoint /api/v0/projects/{projectId}/environments/{environmentId}/secrets/{name} ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. - **environmentId** (string) - Required - The unique identifier of the environment. - **name** (string) - Required - The name of the secret to retrieve. ### Response #### Success Response (200) - **id** (string) - The unique identifier of the secret. - **name** (string) - The name of the secret. - **createdAt** (object) - The timestamp when the secret was created. - **updatedAt** (number) - The timestamp when the secret was last updated. - **value** (string) - The value of the secret. - **environmentId** (string) - The environment ID associated with the secret. #### Error Response (404) - **error** (string) - Error message when the secret is not found. ``` -------------------------------- ### Get secret value via cURL Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-environmentid-secrets-name Use this cURL command to retrieve a secret value by specifying the project, environment, and secret name in the URL path. ```bash curl -X GET "https://api.example.com/api/v0/projects//environments//secrets/" ``` -------------------------------- ### Configure Project and Environment Source: https://sigillo.dev/ Initializes the project and environment settings locally. Run this in the project root or monorepo subfolders. ```bash sigillo setup # interactive project/env picker sigillo setup --project proj_abc --env dev # non-interactive ``` -------------------------------- ### Create a project via CLI Source: https://sigillo.dev/docs/cli/projects-create Basic command to initialize a new project. ```sh sigillo projects create ``` -------------------------------- ### Create a project Source: https://sigillo.dev/ Create a new project within an organization, which automatically provisions dev, preview, and prod environments. ```bash sigillo orgs # find your org ID sigillo projects create --org --name my-app ``` -------------------------------- ### Login to self-hosted instance Source: https://sigillo.dev/docs/self-hosting Configures the CLI to point to your specific deployment URL. ```bash sigillo login --api-url https://sigillo..workers.dev ``` -------------------------------- ### Create an environment Source: https://sigillo.dev/docs/cli/environments-create Basic command to initiate the creation of an environment. ```sh sigillo environments create ``` -------------------------------- ### Verify and run Source: https://sigillo.dev/ List configured secrets or execute commands within the environment context. ```bash sigillo secrets -c dev # list secret names (values hidden) sigillo run -c dev -- pnpm dev ``` -------------------------------- ### Create an organization Source: https://sigillo.dev/ Initialize a new organization to group projects and team members. ```bash sigillo orgs create --name my-company ``` -------------------------------- ### Deployment Process Diagram Source: https://sigillo.dev/docs/self-hosting Visual representation of the steps performed by the self-host command. ```diagram npx sigillo self-host │ ├──> 1. Log in to Cloudflare (reuses wrangler login when present) ├──> 2. Download the latest prebuilt Sigillo release bundle ├──> 3. Create a D1 database ──> apply migrations ├──> 4. Upload the Worker with static assets and bindings ├──> 5. Enable your workers.dev URL └──> 6. Optionally attach a custom domain ``` -------------------------------- ### Create an organization via CLI Source: https://sigillo.dev/docs/cli/orgs-create Basic command to initiate the creation of a new organization. ```sh sigillo orgs create ``` -------------------------------- ### Execute local binaries with sigillo run Source: https://sigillo.dev/ Demonstrates running local binaries like vite, wrangler, and tsc directly through Sigillo when invoked via package manager scripts. ```bash 1234567# in package.json scripts, local bins just work: sigillo run -- vite build # vite found via node_modules/.bin sigillo run -- wrangler deploy # wrangler found via node_modules/.bin sigillo run -- tsc --noEmit # tsc found via node_modules/.bin # same with --command: sigillo run --command 'vite build && wrangler deploy' ``` ```bash 12pnpm exec sigillo run -- vite dev bunx sigillo run -- next build ``` -------------------------------- ### Non-interactive deployment for CI Source: https://sigillo.dev/docs/self-hosting Automates the deployment process by accepting all defaults and using an API token. ```bash CLOUDFLARE_API_TOKEN=xxx npx sigillo self-host --yes ``` -------------------------------- ### Configure app secrets Source: https://sigillo.dev/ Create the .dev.vars file with required authentication and encryption keys. ```text BETTER_AUTH_SECRET= ENCRYPTION_KEY= ``` -------------------------------- ### Link a directory Source: https://sigillo.dev/ Configure the current directory to associate with a specific project and environment, or run commands explicitly. ```bash # single project cd my-app sigillo setup --project --env dev # monorepo cd monorepo/api && sigillo setup --project api_xxx --env dev cd monorepo/web && sigillo setup --project web_xxx --env dev ``` ```bash sigillo run --project -c dev -- next dev ``` -------------------------------- ### Manage Sigillo Projects Source: https://sigillo.dev/ Commands for listing, creating, retrieving, updating, and deleting projects. ```bash sigillo projects # list all projects sigillo projects create --org org_abc --name my-app # create project sigillo projects get proj_abc # show project details sigillo projects update proj_abc --name new-name # rename sigillo projects delete proj_abc # delete ``` -------------------------------- ### Deploy Sigillo via CLI Source: https://sigillo.dev/docs/cli/self-host Execute this command to initiate the self-hosting deployment process to your Cloudflare account. ```sh sigillo self-host ``` -------------------------------- ### Authenticate with Sigillo CLI Source: https://sigillo.dev/ Use these commands to authenticate via device flow, token, or custom instance URL. ```bash sigillo login # interactive device flow sigillo login --token sig_xxx # save existing API token sigillo login --api-url https://my-instance.dev --scope . # custom instance, scoped to current dir ``` -------------------------------- ### List environments command Source: https://sigillo.dev/docs/cli/environments Executes the command to list all environments associated with the currently configured project. ```sh sigillo environments ``` -------------------------------- ### sigillo environments create Source: https://sigillo.dev/docs/cli/environments-create Creates a new environment using the sigillo CLI. ```APIDOC ## CLI Command: sigillo environments create ### Description Creates a new environment for a specified project. ### Usage `sigillo environments create [options]` ### Options - **-p, --project** (id) - Required - Project ID - **--name** (name) - Optional - Env name - **--slug** (slug) - Optional - Env slug ### Global Options - **-h, --help** - Display help message - **-v, --version** - Display version number - **--token** (token) - Optional - Auth token override - **--api-url** (url) - Optional - API URL override (default: https://sigillo.dev) ``` -------------------------------- ### Manage Sigillo Environments Source: https://sigillo.dev/ Commands for listing, creating, renaming, and deleting environments within a project. ```bash sigillo environments # list environments sigillo environments create --project proj_abc --name Staging --slug staging # create sigillo environments rename env_abc --name Production --slug prod # rename sigillo environments delete env_abc # delete ``` -------------------------------- ### Authenticate with Sigillo CLI Source: https://sigillo.dev/docs/cli/login Initiates the device authentication flow for the Sigillo CLI. ```sh sigillo login ``` -------------------------------- ### POST /api/v0/projects/{projectId}/environments Source: https://sigillo.dev/api/post-api-v0-projects-projectid-environments Creates a new environment for the specified project. ```APIDOC ## POST /api/v0/projects/{projectId}/environments ### Description Creates a new environment for the specified project. ### Method POST ### Endpoint /api/v0/projects/{projectId}/environments ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project. #### Request Body - **name** (string) - Required - The name of the environment. - **slug** (string) - Required - The slug of the environment. ### Request Example { "name": "string", "slug": "string" } ### Response #### Success Response (200) - **ok** (boolean) - Status of the request. - **id** (string) - The ID of the created environment. - **name** (string) - The name of the environment. - **slug** (string) - The slug of the environment. - **projectId** (string) - The ID of the project. #### Error Response (404) - **error** (string) - Error message. ``` -------------------------------- ### Deploy app worker Source: https://sigillo.dev/ Commands to deploy the app to preview or production environments. ```bash pnpm --dir app deployment # deploy preview worker pnpm --dir app deployment:prod # deploy production worker ``` -------------------------------- ### sigillo environments Source: https://sigillo.dev/docs/cli/environments Lists all environments for the currently configured project. Supports project ID overrides and global configuration options. ```APIDOC ## sigillo environments ### Description Lists the environments associated with the configured project. ### Usage `sigillo environments [options]` ### Options - **-p, --project** (string) - Optional - Project ID override ### Global Options - **-h, --help** - Display help message - **-v, --version** - Display version number - **--token** (string) - Optional - Auth token override - **--api-url** (string) - Optional - API URL override (default: https://sigillo.dev) ``` -------------------------------- ### List environments via cURL Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments Use this cURL command to fetch all environments for a given project by replacing with the actual project identifier. ```bash curl -X GET "https://api.example.com/api/v0/projects//environments" ``` -------------------------------- ### sigillo projects create Source: https://sigillo.dev/docs/cli/projects-create Creates a new project using the Sigillo CLI. ```APIDOC ## sigillo projects create ### Description Creates a new project in the Sigillo platform. ### Usage `sigillo projects create [options]` ### Options - **--org** (string) - Required - Organization ID - **--name** (string) - Required - Project name ### Global Options - **-h, --help** - Display help message - **-v, --version** - Display version number - **--token** (string) - Optional - Auth token override - **--api-url** (string) - Optional - API URL override (default: https://sigillo.dev) ``` -------------------------------- ### Non-interactive and custom deployment Source: https://sigillo.dev/ Use environment variables for CI/CD or specify custom worker names and domains. ```bash CLOUDFLARE_API_TOKEN=xxx npx sigillo self-host --yes # custom worker name and domain npx sigillo self-host --name sigillo --domain secrets.acme.com ``` -------------------------------- ### sigillo orgs create Source: https://sigillo.dev/docs/cli/orgs-create Command to create a new organization. ```APIDOC ## sigillo orgs create ### Description Creates a new organization in the Sigillo platform. ### Usage `sigillo orgs create` ### Options - **--name** (string) - Required - Organization name ### Global Options - **-h, --help** - Display help message - **-v, --version** - Display version number - **--token** (string) - Optional - Auth token override - **--api-url** (string) - Optional - API URL override (default: https://sigillo.dev) ``` -------------------------------- ### Create project via cURL Source: https://sigillo.dev/api/post-api-v0-projects Sends a POST request to the projects endpoint with the required JSON body containing the project name and organization ID. ```bash curl -X POST "https://api.example.com/api/v0/projects" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "orgId": "string" }' ``` -------------------------------- ### Configure provider secrets Source: https://sigillo.dev/ Set up authentication secrets for a self-hosted provider. ```text BETTER_AUTH_SECRET= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= ``` -------------------------------- ### List projects command Source: https://sigillo.dev/docs/cli/projects Executes the command to list all projects across organizations. ```sh sigillo projects ``` -------------------------------- ### Deploy provider worker Source: https://sigillo.dev/ Commands to deploy the authentication provider to preview or production. ```bash pnpm --dir provider deployment # deploy preview pnpm --dir provider deployment:prod # deploy production ``` -------------------------------- ### Authenticate and configure Sigillo Source: https://sigillo.dev/ Commands to authenticate the CLI session and link the current directory to a Sigillo project. ```bash sigillo login ``` ```bash sigillo setup ``` -------------------------------- ### Create environment via cURL Source: https://sigillo.dev/api/post-api-v0-projects-projectid-environments Use this cURL command to send a POST request to the environment creation endpoint with the required JSON payload. ```bash curl -X POST "https://api.example.com/api/v0/projects//environments" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "slug": "string" }' ``` -------------------------------- ### POST /api/v0/orgs Source: https://sigillo.dev/api/post-api-v0-orgs Creates a new organization in the system. ```APIDOC ## POST /api/v0/orgs ### Description Create a new organization. ### Method POST ### Endpoint /api/v0/orgs ### Request Body - **name** (string) - Required - The name of the organization. ### Request Example { "name": "string" } ### Response #### Success Response (200) - **ok** (boolean) - Status of the request. - **id** (string) - The unique identifier of the created organization. - **name** (string) - The name of the created organization. ``` -------------------------------- ### sigillo environments Source: https://sigillo.dev/ Commands for managing environments within a project. ```APIDOC ## sigillo environments ### Description Manage environments for projects in Sigillo. ### Commands - `sigillo environments`: List environments - `sigillo environments create --project --name --slug `: Create an environment - `sigillo environments rename --name --slug `: Rename an environment - `sigillo environments delete `: Delete an environment ``` -------------------------------- ### Run command usage Source: https://sigillo.dev/docs/cli/run Basic syntax for executing a command with injected secrets. ```sh sigillo run <...cmd> ``` -------------------------------- ### List secrets via CLI Source: https://sigillo.dev/docs/cli/secrets Executes the command to list all secrets associated with the currently configured environment. ```sh sigillo secrets ``` -------------------------------- ### Create organization via cURL Source: https://sigillo.dev/api/post-api-v0-orgs Use this cURL command to send a POST request to the organization creation endpoint with a JSON payload. ```bash curl -X POST "https://api.example.com/api/v0/orgs" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }' ``` -------------------------------- ### Download secrets via CLI Source: https://sigillo.dev/docs/cli/secrets-download Executes the command to download all secrets in the default format. ```sh sigillo secrets download ``` -------------------------------- ### Deploy Sigillo to Cloudflare Source: https://sigillo.dev/docs/self-hosting Provisions a Worker and D1 database on your Cloudflare account without requiring manual configuration. ```bash npx sigillo self-host ``` -------------------------------- ### POST /api/v0/projects Source: https://sigillo.dev/api/post-api-v0-projects Creates a new project within the specified organization. ```APIDOC ## POST /api/v0/projects ### Description Creates a new project. ### Method POST ### Endpoint /api/v0/projects ### Request Body - **name** (string) - Required - The name of the project. - **orgId** (string) - Required - The ID of the organization the project belongs to. ### Request Example { "name": "string", "orgId": "string" } ### Response #### Success Response (200) - **ok** (boolean) - Status of the request. - **id** (string) - The unique identifier of the created project. - **orgId** (string) - The organization ID associated with the project. - **name** (string) - The name of the project. ``` -------------------------------- ### Configure provider URL Source: https://sigillo.dev/ Update the app configuration to point to a custom self-hosted provider. ```json { "vars": { "PROVIDER_URL": "https://your-provider.your-domain.com" } } ``` -------------------------------- ### Display current user info Source: https://sigillo.dev/docs/cli/me Executes the command to fetch and display the current user's profile information. ```sh sigillo me ``` -------------------------------- ### sigillo projects Source: https://sigillo.dev/docs/cli/projects Lists all projects across organizations using the sigillo CLI. ```APIDOC ## sigillo projects ### Description Lists projects across organizations. ### Usage `sigillo projects` ### Global Options - **-h, --help** - Display help message - **-v, --version** - Display version number - **--token [token]** - Auth token override - **--api-url [url]** - API URL override (default: https://sigillo.dev) ``` -------------------------------- ### Run application with secrets Source: https://sigillo.dev/ Executes the application command with secrets automatically injected as environment variables. ```bash sigillo run -- next dev ``` -------------------------------- ### Update a project via CLI Source: https://sigillo.dev/docs/cli/projects-update Basic command syntax to update an existing project by its ID. ```sh sigillo projects update ``` -------------------------------- ### sigillo projects Source: https://sigillo.dev/ Commands for managing projects within the Sigillo platform. ```APIDOC ## sigillo projects ### Description Manage projects in Sigillo. ### Commands - `sigillo projects`: List all projects - `sigillo projects create --org --name `: Create a new project - `sigillo projects get `: Show project details - `sigillo projects update --name `: Rename a project - `sigillo projects delete `: Delete a project ``` -------------------------------- ### Manage secrets with sigillo secrets Source: https://sigillo.dev/ Commands for listing, retrieving, setting, and deleting secrets, including support for different output formats. ```bash 123456789sigillo secrets # list secret names sigillo secrets get DATABASE_URL # get a single value sigillo secrets get DATABASE_URL --force # allow value output inside agent shells sigillo secrets set API_KEY sk-live-xxx # set a value echo "multiline\nvalue" | sigillo secrets set CERT # set from stdin sigillo secrets delete OLD_KEY # delete sigillo secrets download # download all (YAML) sigillo secrets download --format json # download as JSON sigillo secrets download --format env # download as .env ``` -------------------------------- ### Export Secrets for .NET Source: https://sigillo.dev/ Downloads secrets as a hierarchical JSON file compatible with .NET appsettings configuration. ```bash sigillo secrets download --format dotnet-json > appsettings.Secrets.json ``` -------------------------------- ### Inject secrets into commands Source: https://sigillo.dev/ Use the sigillo run command to inject secrets into your application process instead of sourcing .env files. ```bash # instead of this source .env && next dev # do this sigillo run -- next dev ``` -------------------------------- ### Download secrets via cURL Source: https://sigillo.dev/api/get-api-v0-projects-projectid-environments-environmentid-secrets-download Use this cURL command to retrieve secrets for a specified project and environment. ```bash curl -X GET "https://api.example.com/api/v0/projects//environments//secrets/download" ``` -------------------------------- ### Run Secrets in GitHub Actions Source: https://sigillo.dev/ Configures Sigillo authentication via environment variables for non-interactive CI environments. ```yaml - name: Run with secrets env: SIGILLO_TOKEN: ${{ secrets.SIGILLO_TOKEN }} SIGILLO_PROJECT: ${{ vars.SIGILLO_PROJECT }} SIGILLO_ENVIRONMENT: ${{ vars.SIGILLO_ENVIRONMENT }} run: | npx sigillo run -- next build ``` -------------------------------- ### List organizations command Source: https://sigillo.dev/docs/cli/orgs Executes the command to retrieve a list of organizations. ```sh sigillo orgs ``` -------------------------------- ### Generate Encryption Key Source: https://sigillo.dev/ Command to generate a 32-byte base64-encoded key for secret encryption. ```bash openssl rand -base64 32 ``` -------------------------------- ### PATCH /api/v0/projects/{projectId}/environments/{id} Source: https://sigillo.dev/api/patch-api-v0-projects-projectid-environments-id Updates the details of an existing environment. ```APIDOC ## PATCH /api/v0/projects/{projectId}/environments/{id} ### Description Updates the name and slug of an existing environment associated with a specific project. ### Method PATCH ### Endpoint /api/v0/projects/{projectId}/environments/{id} ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. - **id** (string) - Required - The unique identifier of the environment. #### Request Body - **name** (string) - Optional - The new name for the environment. - **slug** (string) - Optional - The new slug for the environment. ### Request Example { "name": "string", "slug": "string" } ### Response #### Success Response (200) - **ok** (boolean) - Status of the operation. - **id** (string) - The environment ID. - **name** (string) - The updated environment name. - **slug** (string) - The updated environment slug. - **projectId** (string) - The project ID. #### Error Response (400/404) - **error** (string) - Description of the error encountered. ``` -------------------------------- ### Delete a project via CLI Source: https://sigillo.dev/docs/cli/projects-delete Execute the delete command by providing the project ID as an argument. ```sh sigillo projects delete ``` -------------------------------- ### Execute Commands with Secrets Source: https://sigillo.dev/ Runs commands with secrets injected as environment variables. Supports environment selection, file mounting, and output redaction. ```bash sigillo run -- next dev # inject secrets from the configured env sigillo run -c dev -- next dev # use the dev environment sigillo run -c preview -- next dev # use the preview environment sigillo run -c production -- next build # use the production environment sigillo run -- printenv # verify which vars are injected (values redacted) sigillo run --command 'echo $MY_SECRET' # shell string mode sigillo run --mount .env -- npm start # write to file, clean up after sigillo run --mount config.json --mount-format json -- next dev # mount as JSON sigillo run --disable-redaction -- ./my-script.sh # opt out of output redaction ``` -------------------------------- ### Handle Shell Expansion in Commands Source: https://sigillo.dev/ Use single quotes with --command to prevent the parent shell from expanding variables before Sigillo injects them. ```bash # Wrong: your shell expands $DATABASE_URL before sigillo starts sigillo run --command "psql $DATABASE_URL -c 'select 1'" # Right: $DATABASE_URL expands inside sigillo's child shell sigillo run --command 'psql $DATABASE_URL -c "select 1"' ``` -------------------------------- ### Sync Secrets to Fly.io Source: https://sigillo.dev/ Imports secrets directly into Fly.io apps. Use --stage to prevent automatic machine restarts during the import process. ```bash sigillo secrets download -c production --format env | fly secrets import --app my-app ``` ```bash # stage without restarting sigillo secrets download -c production --format env | fly secrets import --app my-app --stage # then deploy when ready fly deploy --app my-app ``` ```json { "scripts": { "secrets:fly:production": "sigillo secrets download -c production --format env | fly secrets import --app my-app", "secrets:fly:preview": "sigillo secrets download -c preview --format env | fly secrets import --app my-app-staging" } } ``` -------------------------------- ### POST /api/v0/projects/{projectId}/environments/{environmentId}/secrets Source: https://sigillo.dev/api/post-api-v0-projects-projectid-environments-environmentid-secrets Sets a secret for the specified project and environment. ```APIDOC ## POST /api/v0/projects/{projectId}/environments/{environmentId}/secrets ### Description Sets a secret for the specified project and environment. ### Method POST ### Endpoint /api/v0/projects/{projectId}/environments/{environmentId}/secrets ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project. - **environmentId** (string) - Required - The ID of the environment. #### Request Body - **name** (string) - Required - The name of the secret. - **value** (string) - Required - The value of the secret. ### Request Example { "name": "string", "value": "string" } ### Response #### Success Response (200) - **ok** (boolean) - Status of the operation. - **environmentId** (string) - The ID of the environment. - **id** (string) - The ID of the created secret. - **name** (string) - The name of the created secret. ``` -------------------------------- ### Bulk set secrets via cURL Source: https://sigillo.dev/api/put-api-v0-projects-projectid-environments-environmentid-secrets Use this cURL command to perform a bulk update of secrets for a specified project and environment. ```bash curl -X PUT "https://api.example.com/api/v0/projects//environments//secrets" \ -H "Content-Type: application/json" \ -d '{ "secrets": {} }' ``` -------------------------------- ### Integrate Secrets with Docker Source: https://sigillo.dev/ Mounts secrets as an environment file or injects them directly into a Docker Compose execution. ```bash sigillo secrets download --format docker > .env.docker docker run --env-file .env.docker my-image ``` ```bash sigillo run -- docker compose up ``` -------------------------------- ### sigillo orgs Source: https://sigillo.dev/docs/cli/orgs Lists all organizations available to the authenticated user. ```APIDOC ## sigillo orgs ### Description Lists organizations associated with the current user account. ### Usage `sigillo orgs` ### Global Options - **-h, --help** - Display help message - **-v, --version** - Display version number - **--token [token]** - Auth token override - **--api-url [url]** - API URL override (default: https://sigillo.dev) ``` -------------------------------- ### Retrieve a secret value Source: https://sigillo.dev/docs/cli/secrets-get Basic command syntax to fetch a specific secret by name. ```sh sigillo secrets get ``` -------------------------------- ### Add secrets Source: https://sigillo.dev/ Set environment-specific secrets, including support for generating random values using system tools. ```bash sigillo secrets set DATABASE_URL "postgres://localhost:5432/mydb" -c dev sigillo secrets set API_KEY "" -c dev sigillo secrets set AUTH_SECRET "" -c dev ``` ```bash sigillo secrets set DATABASE_URL "" -c preview sigillo secrets set DATABASE_URL "" -c prod ``` ```bash sigillo secrets set AUTH_SECRET "$(openssl rand -base64 32)" -c dev sigillo secrets set AUTH_SECRET "$(openssl rand -base64 32)" -c preview sigillo secrets set AUTH_SECRET "$(openssl rand -base64 32)" -c prod ``` -------------------------------- ### Delete project via cURL Source: https://sigillo.dev/api/delete-api-v0-projects-id Use this command to send a DELETE request to the project endpoint. Replace with the actual project identifier. ```bash curl -X DELETE "https://api.example.com/api/v0/projects/" ``` -------------------------------- ### Sync Secrets to Vercel Source: https://sigillo.dev/ Uses xargs to pipe individual variables into Vercel's environment management. Add --sensitive to protect values in the Vercel dashboard. ```bash sigillo secrets download -c production --format xargs | \ xargs -0 -n2 sh -c 'printf %s "$2" | vercel env add "$1" production --force' sh ``` ```bash sigillo secrets download -c production --format xargs | \ xargs -0 -n2 sh -c 'printf %s "$2" | vercel env add "$1" production --sensitive --force' sh ``` ```json { "scripts": { "secrets:vercel": "sigillo secrets download -c production --format xargs | xargs -0 -n2 sh -c 'printf %s \"$2\" | vercel env add \"$1\" production --sensitive --force' sh" } } ``` -------------------------------- ### Define Non-Secret Environment Variables Source: https://sigillo.dev/ Place non-secret environment variables before the sigillo run command to ensure they remain visible. ```json { "scripts": { "deployment": "CLOUDFLARE_ENV=preview sigillo run -c preview --command 'vite build && wrangler deploy --env preview'" } } ``` -------------------------------- ### PUT /api/v0/projects/{projectId}/environments/{environmentId}/secrets Source: https://sigillo.dev/api/put-api-v0-projects-projectid-environments-environmentid-secrets Updates multiple secrets for a given project environment in a single request. ```APIDOC ## PUT /api/v0/projects/{projectId}/environments/{environmentId}/secrets ### Description Bulk set secrets for a specific environment within a project. ### Method PUT ### Endpoint /api/v0/projects/{projectId}/environments/{environmentId}/secrets ### Parameters #### Path Parameters - **projectId** (string) - Required - The unique identifier of the project. - **environmentId** (string) - Required - The unique identifier of the environment. #### Request Body - **secrets** (object) - Required - A map of secret keys and their corresponding values. ### Request Example { "secrets": {} } ### Response #### Success Response (200) - **ok** (boolean) - Status of the operation. - **environmentId** (string) - The ID of the environment updated. - **secrets** (array) - List of updated secret keys. #### Response Example { "ok": true, "environmentId": "env-123", "secrets": ["key1", "key2"] } ``` -------------------------------- ### Update environment via cURL Source: https://sigillo.dev/api/patch-api-v0-projects-projectid-environments-id Use this cURL command to update the name or slug of an existing environment by providing the project ID and environment ID in the URL path. ```bash curl -X PATCH "https://api.example.com/api/v0/projects//environments/" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "slug": "string" }' ``` -------------------------------- ### Set a secret value Source: https://sigillo.dev/docs/cli/secrets-set Basic command syntax for setting a secret, allowing for an optional value or interactive prompt. ```sh sigillo secrets set [value] ``` -------------------------------- ### Sync Secrets to Cloudflare Workers Source: https://sigillo.dev/ Pipes Sigillo environment secrets directly into Wrangler. Use an explicit empty environment for production to avoid ambiguity. ```bash sigillo secrets download -c production --format env | wrangler secret bulk --env="" ``` ```json { "scripts": { "secrets:preview": "sigillo secrets download -c preview --format env | wrangler secret bulk --env preview", "secrets:production": "sigillo secrets download -c production --format env | wrangler secret bulk --env=\"\"" } } ```