Skip to content

sitedog-io/sitedog-cli

Repository files navigation

Sitedog CLI

Universal CLI for sites/apps config preview & management that renders them as cards:

sitedog-cards

Examples

Below are source configs for two of the above cards.

painlessrails.com:
  dns: route 53
  hosting: hetzner
  ip: 121.143.73.32
  ssh access given to: inem, kirill

  repository: https://gitlab.com/rbbr_io/painlessrails
  registry: https://gitlab.com/rbbr_io/painlessrails/cloud/container_registry
  ci: https://gitlab.com/rbbr_io/painlessrails/ci
  issues: https://gitlab.com/rbbr_io/painlessrails/issues
  monitoring: https://appsignal.com/rbbr
  metabase: https://metabase.com
  i18n: https://poeditor.com
  analythics: https://plausible.io/
inem.at:
  registrar: gandi
  dns: Route 53
  hosting: https://carrd.com
  mail: zoho

🛠️ How-to

  1. Install the CLI (see below).
  2. Run sitedog sniff to detect your stack and create sitedog.yml.
  3. Use sitedog serve to preview your card locally while editing.
  4. Generate an HTML card with sitedog render.

🚀 Installation

curl -sL https://get.sitedog.io | sh

📦 Usage

1. Detect your stack and create sitedog.yml

sitedog sniff                          # detect stack and create sitedog.yml
sitedog sniff ./my-project             # detect stack in directory and create config

2. Live card preview on localhost

Useful when editing config.

sitedog serve                    # serve current directory config
sitedog serve ./my-project       # serve specific directory
sitedog serve --port 3030        # serve on custom port

3. Send configuration to cloud

sitedog push                     # push current config (interactive auth)
SITEDOG_TOKEN=xxx sitedog push   # push with token (for CI/CD)

For CI/CD: Set SITEDOG_TOKEN environment variable to avoid interactive authentication. Get your token at app.sitedog.io/auth_device.

4. Render html file with card locally

sitedog render                   # render to sitedog.html
sitedog render --output my-card.html  # render to custom file

5. CLI help

sitedog help
Usage: sitedog <command> <path(optional)>

Commands:
  sniff   Detect your stack and create sitedog.yml
  serve   Start live server with preview
  push    Send configuration to cloud
  render  Render HTML card

  logout  Remove authentication token
  version Show version
  help    Show this help message

Options for serve:
  --port PORT      Port to run server on (default: 8081)

Options for render:
  --output PATH    Path to output HTML file (default: sitedog.html)

Examples:
  sitedog sniff                          # detect stack and create sitedog.yml
  sitedog sniff ./my-project             # detect stack in directory and create config

  sitedog serve --port 3030

🚀 Uninstallation

curl -sL https://get.sitedog.io/uninstall | sh

If you want to upgrade to the latest version, just uninstall and install again.


📖 Read more and try it live


🐶 We eat our own dog food!

We use sitedog for our own projects and documentation. Here's our card deck:

sitedog-cli

Even for such a small project there are already a lot of information that easily can be lost.


What's next?

We believe that Sitedog should be a part of your workflow, not just a tool to show your config. Therefore it must be literally at hands. Current features and plans:

✅ Available now:

  • Smart stack detection with sitedog sniff (detects languages, frameworks, services)
  • Live preview server for real-time config editing
  • Cloud sync for team collaboration
  • HTML card generation for static sites

🚀 Coming soon:


Cloud access (Beta)

Sitedog Cloud is a platform to manage your sites/apps configs.

Request access


Development process

# Show all created versions
make show-versions

# bump cli version and create a git tag
make bump-version v=v0.1.1

# if everything is okay, push tag to main triggering release pipeline
make push-version

About

One yaml file → All your dev infra links at your hands

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •