sirenamc/stackline

Stackline, a team task board you run from the web or from Claude/ChatGPT. FastAPI + DataK3 + appid + Models + MCP.

A remix template · 0 remixes · Remix sirenamc/stackline

scripts/after_remix.sh

#!/usr/bin/env bash
# The one step after `dodil git remix`. Run it once, with the Dodil CLI signed in to the org you
# remixed into:
#
#   scripts/after_remix.sh <your-repo>
#
# It is safe to run again: each step checks first and only adds what is missing.
set -euo pipefail
REPO="${1:?usage: scripts/after_remix.sh <your-repo>}"
POOL="$REPO-users"

echo "1/4 Email and password sign-in on $POOL"
if dodil appid connection list "$POOL" | grep -qw local; then
  echo "    already on"
else
  dodil appid connection add "$POOL" local
fi

echo "2/4 Claude and ChatGPT as first-party clients (they sign in without waiting for approval)"
register() {  # <client-id> <name> <callback>
  if dodil appid client get "$POOL" "$1" >/dev/null 2>&1; then
    echo "    $1 already registered"
  else
    dodil appid client register "$POOL" --client-id "$1" --name "$2" --redirect-uri "$3" --yes
  fi
}
register stackline-claude "Claude" https://claude.ai/api/mcp/auth_callback
register stackline-chatgpt "ChatGPT" https://chatgpt.com/connector_platform_oauth_redirect

echo "3/4 The app"
dodil ignite app get "$REPO"

echo "4/4 Self-check with the app's own credential (row count of every table)"
dodil ignite invoke "$REPO"

cat <<DONE

Done. Open the app URL above, sign up, and press "Open the example board".
Claude: Settings > Connectors > Add custom connector > <app URL>/mcp,
        Advanced settings > OAuth client ID: stackline-claude
DONE