From cbffd393a47e362d52bc75009e9df3256abfb21d Mon Sep 17 00:00:00 2001 From: Mark Bennett Date: Tue, 17 Feb 2026 20:39:39 -0700 Subject: [PATCH] Rename to `tang` and prepare for publishing on npm --- README.md | 53 ++++++++++++++++++++++++++++++++++++++++----- package.json | 18 ++++++++++++--- tsconfig.build.json | 5 +++++ 3 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 tsconfig.build.json diff --git a/README.md b/README.md index 8275618..0b4eda1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,49 @@ -# Tangled CLI: Architecture & Implementation Plan +# tang -## Project Overview +A CLI for [Tangled.org](https://tangled.org) — manage issues and repository context from the terminal. Designed to be usable by both humans and AI agents. + +## Installation + +```bash +npm install -g @markbennett/tang +``` + +## Quick Start + +```bash +# Authenticate with your Tangled PDS handle and an App Password +tang auth login + +# From inside a git repo cloned from tangled.org: +tang issue list +tang issue create "Bug: something is broken" --body "Detailed description" +tang issue view 1 +tang issue close 1 + +# SSH key management +tang ssh-key add ~/.ssh/id_ed25519.pub +``` + +## Commands + +| Command | Description | +| :--- | :--- | +| `tang auth login` | Authenticate with your PDS handle and App Password | +| `tang auth logout` | Log out and clear stored session | +| `tang issue list` | List issues for the current repo | +| `tang issue create ` | Create a new issue | +| `tang issue view <n>` | View an issue | +| `tang issue close <n>` | Close an issue | +| `tang issue reopen <n>` | Reopen an issue | +| `tang ssh-key add <path>` | Upload a public SSH key to your account | +| `tang context` | Show resolved repo context (DID, handle, name) | +| `tang config` | View or set CLI configuration | + +Most commands accept `--json [fields]` for machine-readable output, useful for scripting and LLM integrations. + +--- + +# Architecture & Implementation Notes **Goal:** Create a context-aware CLI for tangled.org that bridges the gap between the AT Protocol (XRPC) and standard Git. @@ -228,9 +271,9 @@ node dist/index.js --version # Install globally for local testing npm link -tangled --version -tangled --help -npm unlink -g tangled-cli # Unlink when done +tang --version +tang --help +npm unlink -g @markbennett/tang # Unlink when done ``` ### Project Structure diff --git a/package.json b/package.json index 429dd02..b55dac9 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,27 @@ { - "name": "tangled-cli", + "name": "@markbennett/tang", "version": "0.0.1", "description": "A simple CLI for Tangled.org. Inspired by GitHub CLI, and usable by humans and AI.", "type": "module", "main": "./dist/index.js", + "exports": { + ".": "./dist/index.js" + }, "bin": { - "tangled": "./dist/index.js" + "tang": "./dist/index.js" + }, + "files": [ + "dist", + "README.md", + "LICENSE" + ], + "publishConfig": { + "access": "public" }, "scripts": { "dev": "tsx src/index.ts", - "build": "tsc", + "build": "tsc -p tsconfig.build.json", + "clean": "rm -rf dist", "test": "vitest run", "test:watch": "vitest watch", "test:coverage": "vitest run --coverage", diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000..5c660d5 --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,5 @@ +{ + "extends": "./tsconfig.json", + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "src/lexicon/**"] +} -- knotmirror 0.0.1