steipete/clickclack

ClickClack ops: chat app, Hetzner deploy, DNS/docs/app, Docker rollout.

Qu'est-ce que clickclack ?

clickclack is a Claude Code agent skill that clickClack ops: chat app, Hetzner deploy, DNS/docs/app, Docker rollout.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/steipete/agent-scripts/tree/main/skills/clickclack

Installed? Explore more Recherche et analyse de données skills: obra/superpowers, affaan-m/ECC, affaan-m/quarkus-verification · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait clickclack ?

Use this for ClickClack product/runtime ops, deploys, hosted app checks, and domain questions.

What

  • Repo: ~/Projects/clickclack / https://github.com/openclaw/clickclack
  • Product: self-hostable Slack-style chat for OpenClaw/community/agent workflows.
  • Surfaces:
    • https://clickclack.chat product site
    • https://app.clickclack.chat hosted app
    • https://docs.clickclack.chat GitHub Pages docs from docs/

Prod

  • Hetzner: clickclack-prod-01
  • IPv4: 157.90.237.80
  • IPv6: 2a01:4f8:1c1c:fb96::/64
  • SSH: [email protected]
  • Labels: app=clickclack, env=prod
  • OS: Ubuntu 24.04, Caddy + Docker
  • Source on host: /opt/clickclack-src (clean export, not a git checkout)
  • Previous source: /opt/clickclack-src.prev plus timestamped older prev dirs
  • Data: /var/lib/clickclack bind-mounted to /app/data
  • Container: clickclack, port 127.0.0.1:8080->8080
  • Caddy: /etc/caddy/Caddyfile proxies clickclack.chat, app.clickclack.chat to 127.0.0.1:8080; www redirects to apex.
  • DNS truth: ~/Projects/manager/DOMAINS.md and ~/Projects/manager/DNS.md

Deploy

Golden path:

  1. Local refresh:
    • cd ~/Projects/clickclack
    • git status --short --branch
    • git fetch origin
    • If on main with no upstream: git merge --ff-only origin/main
  2. Decide deployed delta:
    • Last known deploy may be the old local HEAD before pull; verify /opt/clickclack-src/.deploy-commit if present.
    • git log --oneline <old>..HEAD
    • git diff --stat <old>..HEAD
  3. Archive clean HEAD only:
    • Do not rsync untracked local files.
    • short=$(git rev-parse --short=12 HEAD)
    • git archive --format=tar HEAD | ssh [email protected] "rm -rf /opt/clickclack-src.next && mkdir -p /opt/clickclack-src.next && tar -C /opt/clickclack-src.next -xf - && printf '%s\n' '$short' > /opt/clickclack-src.next/.deploy-commit"
  4. Preserve env without printing secrets:
    • docker inspect clickclack --format '{{range .Config.Env}}{{println .}}{{end}}' > /root/clickclack.env.current
  5. Backup before migrations:
    • mkdir -p /var/lib/clickclack/backups
    • chown 1000:1000 /var/lib/clickclack/backups
    • docker exec clickclack clickclack backup --data /app/data --out /app/data/backups/clickclack-before-$(date -u +%Y%m%dT%H%M%SZ).db
  6. Build:
    • docker build --label org.opencontainers.image.revision="$short" -t clickclack:"$short" -t clickclack:latest /opt/clickclack-src.next
  7. Replace container:
    • docker stop clickclack && docker rm clickclack
    • docker run -d --name clickclack --restart unless-stopped --env-file /root/clickclack.env.current -p 127.0.0.1:8080:8080 -v /var/lib/clickclack:/app/data clickclack:latest serve --addr :8080 --data /app/data
  8. Rotate source dirs:
    • Move old /opt/clickclack-src.prev to timestamped backup.
    • Move /opt/clickclack-src to /opt/clickclack-src.prev.
    • Move /opt/clickclack-src.next to /opt/clickclack-src.

Verify

  • Host:
    • docker ps --filter name=clickclack
    • docker inspect clickclack --format '{{index .Config.Labels "org.opencontainers.image.revision"}}'
    • cat /opt/clickclack-src/.deploy-commit
    • curl -fsS http://127.0.0.1:8080/ >/tmp/clickclack-root.html
    • curl -fsS http://127.0.0.1:8080/app >/tmp/clickclack-app.html
  • Public:
    • curl -I https://clickclack.chat
    • curl -I https://app.clickclack.chat
    • curl -I https://docs.clickclack.chat

Guardrails

  • Do not print OAuth secrets or magic tokens.
  • Use a throwaway UserKnownHostsFile if local SSH host-key state is stale; confirm server identity with hcloud server describe clickclack-prod-01 first.
  • clickclack serve runs migrations on boot; always back up SQLite before replacing the container.
  • Keep deploys from clean git archives, not dirty working trees.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

steipete/agent-transcript

GitHub PR/issue agent transcripts: redact, preview, and insert safely.

steipete/beeper

Beeper cache: contact hints, room lookup, WhatsApp/iMessage traces, FTS.

steipete/browser-use

Existing Chrome automation: Chrome plugin first, mcporter fallback.

steipete/clawsweeper-status

ClawSweeper status: URLs, workflow health, active workers, ops snapshot.

steipete/cloudflare-registrar

Cloudflare Registrar: domain availability, prices, registration via mcporter.

steipete/codex-debugging

Codex debugging: codex-rs core/tui/exec/cli/app-server/config.

steipete/create-cli

CLI UX/spec: args, flags, help, output, errors, config, dry-run.

steipete/discord-clawd

Discord-backed OpenClaw agent/session relay; not archive search.

steipete/domain-dns-ops

DNS/domain ops: registrars, zones, redirects, DNS/HTTP verify, manager truth.

steipete/frontend-design

Frontend UI: pages, apps, components, polished non-generic design.

steipete/github-author-context

GitHub contributor context: identity, activity, trust, company/team signal.

steipete/github-cache-hygiene

GitHub quota/cache hygiene: gh, ghx, xcache, gitcrawl, mirrors, limits.

steipete/github-deep-review

GitHub deep review: bugs, PRs, best fix, stale-or-real, read code first.

steipete/github-project-triage

GitHub issue/PR triage: queues, CI, blockers, risk, proof, next actions.

steipete/hopper-debugger

Hopper debugging: macOS/iOS binaries, ObjC/Swift symbols, dyld, LLDB.

steipete/instruments-profiling

Instruments/xctrace profiling: macOS/iOS traces, binaries, args, exports.

steipete/mac-maintenance

Mac upkeep: brew update/upgrade, pull clean repos, empty Trash.

steipete/maintainer-orchestrator

Open-source maintainer orchestration: Codex app workers, work recovery, dependencies, vision, releases.

steipete/markdown-converter

Markdown conversion: PDF, Office, HTML, data, OCR, audio, ZIP, YouTube.

steipete/nano-banana-pro

Nano Banana/Gemini image gen/edit: text/image input, 512-4K workflows.

Skills associés