chore: standalone repo bootstrap after split from inkreach-teable monorepo

- untrack dist/, add .gitignore, add pnpm-lock.yaml
- inline tsconfig.base.json options (no monorepo extends)
- install.sh: CLI now at repo root; install skill to ~/.zcode/skills (user scope)
- fix stale paths in skill docs; 7 actions in help text; README
This commit is contained in:
yeuimu
2026-09-23 04:01:22 +00:00
parent a551fa5355
commit 2a186c9acc
23 changed files with 1174 additions and 3502 deletions
@@ -4,7 +4,7 @@ Complete reference of all Teable field types, aliases, option shapes, and smart
> ✅ **Verified 2026-08**: aliases, string choices, compact `--fields` format, smart
> inference, and name resolution (`foreignTableName`/`linkFieldName`/`lookupFieldName`)
> are implemented in the CLI (`packages/inkreach-cli/src/lib/field-normalize.ts`)
> are implemented in the CLI (`src/lib/field-normalize.ts`, repo root)
> and covered by unit tests (`field-normalize.spec.ts`, 20 cases).
---
@@ -1,5 +1,10 @@
# Development & Deployment
> This guide documents the **inkreach-teable application repo**
> (`ssh://git@gitea.inkreach.cc:2222/inkreachhub/inkreach-teable.git`) — the
> deployed instance this CLI operates on — not this CLI repo. Paths like
> `apps/nestjs-backend/` refer to that repo's checkout.
How to build, restart, and debug this inkreach-teable instance. Covers the
dual-process architecture, known gotchas, and test infrastructure. For daily
operations (tables/automation), use the `inkreach-teable` CLI instead — this guide is
@@ -1,12 +1,18 @@
#!/bin/bash
# Install/upgrade the inkreach-teable CLI from the local monorepo source.
# Run from this skill's directory. Builds the CLI package and links it globally.
# Install/upgrade the inkreach-teable CLI + agent skill from this standalone repo.
# Run from this skill's directory (or anywhere; paths resolve from this file).
# What it does:
# 1. Builds the CLI (this repo's root IS the package).
# 2. Links the `inkreach-teable` command globally.
# 3. Installs the skill to ~/.zcode/skills/inkreach-teable (user scope —
# available in every ZCode workspace, shadows same-named workspace skills).
# Re-run this script after pulling changes to refresh both the command and the skill.
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Resolve the project root: skill lives at <root>/.agents/skills/inkreach-teable/
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
CLI_DIR="$PROJECT_ROOT/packages/inkreach-cli"
# Resolve the repo root: skill lives at <root>/.agents/skills/inkreach-teable/
REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
SKILL_DIR="$REPO_ROOT/.agents/skills/inkreach-teable"
echo "=== inkreach-teable CLI installation ==="
@@ -22,16 +28,16 @@ if [ "$NODE_VERSION" -lt 18 ]; then
fi
echo "✓ Node.js $(node -v)"
# Check CLI source exists
if [ ! -d "$CLI_DIR" ]; then
echo "ERROR: CLI source not found at $CLI_DIR"
echo " Ensure the inkreach-teable repo is checked out at $PROJECT_ROOT"
# Check repo layout
if [ ! -f "$REPO_ROOT/package.json" ] || [ ! -d "$REPO_ROOT/src" ]; then
echo "ERROR: CLI source not found at $REPO_ROOT"
echo " Ensure the inkreach-teable-cli repo is checked out at $REPO_ROOT"
exit 1
fi
# Build
echo "Building CLI from $CLI_DIR ..."
cd "$CLI_DIR"
echo "Building CLI from $REPO_ROOT ..."
cd "$REPO_ROOT"
if command -v pnpm &> /dev/null; then
pnpm install --prefer-offline 2>/dev/null || true
pnpm build
@@ -49,14 +55,22 @@ elif command -v npm &> /dev/null && npm link 2>/dev/null; then
LINKED=1
fi
# Ensure a usable wrapper exists on PATH even if global bin isn't configured.
BIN_DIR="${PNPM_GLOBAL_BIN:-$(npm bin -g 2>/dev/null):-${HOME}/.local/bin}"
mkdir -p "$HOME/.local/bin"
cat > "$HOME/.local/bin/inkreach-teable" <<WRAPPER
#!/bin/bash
exec node "$CLI_DIR/dist/bin.js" "\$@"
exec node "$REPO_ROOT/dist/bin.js" "\$@"
WRAPPER
chmod +x "$HOME/.local/bin/inkreach-teable"
# Install the skill at user scope so it works in ANY workspace, including
# checkouts of the inkreach-teable application repo (which no longer bundles it).
if [ -d "$SKILL_DIR" ]; then
mkdir -p "$HOME/.zcode/skills"
rm -rf "$HOME/.zcode/skills/inkreach-teable"
cp -r "$SKILL_DIR" "$HOME/.zcode/skills/inkreach-teable"
echo "✓ skill installed to ~/.zcode/skills/inkreach-teable (user scope)"
fi
# Verify
echo ""
echo "=== Verification ==="
@@ -69,5 +83,5 @@ if command -v inkreach-teable &> /dev/null; then
echo " inkreach-teable auth token create --name my-cli"
else
echo "⚠ 'inkreach-teable' not on PATH. Add pnpm/npm global bin to your PATH, or run directly:"
echo " node $CLI_DIR/dist/bin.js <command>"
echo " node $REPO_ROOT/dist/bin.js <command>"
fi