From 41e3c52bfbf52e78e5a9c3aed007c8704e91b5f9 Mon Sep 17 00:00:00 2001 From: MichaelFisher1997 Date: Sat, 7 Feb 2026 19:37:41 +0000 Subject: [PATCH] chore: setup repository for npm publishing - Add MIT LICENSE for OpenStaticFish - Add .npmignore to exclude dev files - Rename package to @openstaticfish/actionflow v0.1.0 - Add npm publishing metadata (bin, files, exports, engines) - Update tsconfig.json for declaration generation - Update README.md with new package name and install instructions - Update Header.tsx UI title to ACTIONFLOW - Update AGENTS.md header reference Prepares repository for publishing to npm registry --- .npmignore | 29 +++++++++++++++++++ AGENTS.md | 2 +- LICENSE | 21 ++++++++++++++ README.md | 8 +++--- bun.lock | 8 ++++++ package.json | 53 +++++++++++++++++++++++++++++++---- src/tui/components/Header.tsx | 2 +- tsconfig.json | 12 ++++++-- 8 files changed, 120 insertions(+), 15 deletions(-) create mode 100644 .npmignore create mode 100644 LICENSE diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..fc9f1c4 --- /dev/null +++ b/.npmignore @@ -0,0 +1,29 @@ +# Source files (we publish compiled dist/) +src/ + +# Development +node_modules/ +.github/ +CLAUDE.md +AGENTS.md +.env +.env.local + +# Build artifacts +dist/**/*.test.js +dist/**/*.test.d.ts +*.log + +# IDE +.vscode/ +.idea/ +*.swp +*.swo + +# Testing +coverage/ +.nyc_output/ + +# OS +.DS_Store +Thumbs.db diff --git a/AGENTS.md b/AGENTS.md index 3ab1457..7a4bd59 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,4 +1,4 @@ -# Agent Guidelines for workflow-automator +# Agent Guidelines for ActionFlow This document provides guidelines for AI agents working on this repository. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..738c9f6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 OpenStaticFish + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 32e30bc..357fdd9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Workflow Automator +# ActionFlow Interactive TUI for installing curated GitHub Actions workflows with a cyberpunk aesthetic. @@ -30,8 +30,8 @@ bun run src/tui/index.tsx Or install globally: ```bash -bun link -workflow-automator +bun install -g @openstaticfish/actionflow +actionflow ``` ## Keyboard Shortcuts @@ -50,7 +50,7 @@ workflow-automator ``` ┌─────────────────────────────────────────────────────────────────┐ -│ ⚡ WORKFLOW AUTOMATOR v1.0 Category: [opencode ▼] │ +│ ⚡ ACTIONFLOW v0.1.0 Category: [opencode ▼] │ ├──────────────────┬──────────────────────────────────────────────┤ │ 🌲 Tree │ ┌─ Workflow Details ──────────────────────┐│ │ ▾ pr │ │ 🔍 OpenCode AI PR Review ││ diff --git a/bun.lock b/bun.lock index 86f203a..8e1436e 100644 --- a/bun.lock +++ b/bun.lock @@ -7,11 +7,13 @@ "dependencies": { "ink": "^5.0.0", "react": "^18.2.0", + "react-devtools-core": "^7.0.1", "yaml": "^2.4.0", }, "devDependencies": { "@types/bun": "latest", "@types/react": "^18.2.0", + "typescript": "^5.0.0", }, "peerDependencies": { "typescript": "^5", @@ -83,12 +85,16 @@ "react": ["react@18.3.1", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ=="], + "react-devtools-core": ["react-devtools-core@7.0.1", "", { "dependencies": { "shell-quote": "^1.6.1", "ws": "^7" } }, "sha512-C3yNvRHaizlpiASzy7b9vbnBGLrhvdhl1CbdU6EnZgxPNbai60szdLtl+VL76UNOt5bOoVTOz5rNWZxgGt+Gsw=="], + "react-reconciler": ["react-reconciler@0.29.2", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" }, "peerDependencies": { "react": "^18.3.1" } }, "sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg=="], "restore-cursor": ["restore-cursor@4.0.0", "", { "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" } }, "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg=="], "scheduler": ["scheduler@0.23.2", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ=="], + "shell-quote": ["shell-quote@1.8.3", "", {}, "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw=="], + "signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], "slice-ansi": ["slice-ansi@7.1.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w=="], @@ -117,6 +123,8 @@ "cli-truncate/slice-ansi": ["slice-ansi@5.0.0", "", { "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" } }, "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ=="], + "react-devtools-core/ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], + "slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.1.0", "", { "dependencies": { "get-east-asian-width": "^1.3.1" } }, "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ=="], } } diff --git a/package.json b/package.json index b1f5bf9..1067a50 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,59 @@ { - "name": "workflow-automator", - "module": "src/tui/index.tsx", - "type": "module", - "private": true, + "name": "@openstaticfish/actionflow", + "version": "0.1.0", + "description": "A terminal UI tool for managing and installing GitHub Actions workflow templates", + "license": "MIT", + "author": "OpenStaticFish ", + "repository": { + "type": "git", + "url": "https://github.com/openstaticfish/actionflow.git" + }, + "homepage": "https://github.com/openstaticfish/actionflow#readme", + "bugs": { + "url": "https://github.com/openstaticfish/actionflow/issues" + }, + "keywords": [ + "github-actions", + "workflow", + "cli", + "terminal", + "tui", + "automation", + "ci-cd", + "templates" + ], + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, "bin": { - "workflow-automator": "./src/tui/index.tsx" + "actionflow": "./dist/index.js", + "af": "./dist/index.js" + }, + "files": [ + "dist", + "workflows", + "README.md", + "LICENSE" + ], + "engines": { + "bun": ">=1.0.0" }, "scripts": { "start": "bun run src/tui/index.tsx", "build": "bun build src/tui/index.tsx --outdir=dist --target=bun", + "build:types": "tsc --declaration --emitDeclarationOnly --outDir dist", + "prepublishOnly": "bun run build && bun run build:types", "test": "bun test" }, "devDependencies": { "@types/bun": "latest", - "@types/react": "^18.2.0" + "@types/react": "^18.2.0", + "typescript": "^5.0.0" }, "peerDependencies": { "typescript": "^5" @@ -21,6 +61,7 @@ "dependencies": { "ink": "^5.0.0", "react": "^18.2.0", + "react-devtools-core": "^7.0.1", "yaml": "^2.4.0" } } diff --git a/src/tui/components/Header.tsx b/src/tui/components/Header.tsx index 843a68b..d30de13 100644 --- a/src/tui/components/Header.tsx +++ b/src/tui/components/Header.tsx @@ -36,7 +36,7 @@ export function Header({ alignItems="center" > - ⚡ WORKFLOW AUTOMATOR + ⚡ ACTIONFLOW diff --git a/tsconfig.json b/tsconfig.json index bfa0fea..ac576f8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ // Environment setup & latest features "lib": ["ESNext"], "target": "ESNext", - "module": "Preserve", + "module": "ESNext", "moduleDetection": "force", "jsx": "react-jsx", "allowJs": true, @@ -12,7 +12,11 @@ "moduleResolution": "bundler", "allowImportingTsExtensions": true, "verbatimModuleSyntax": true, - "noEmit": true, + "noEmit": false, + "declaration": true, + "declarationMap": true, + "outDir": "./dist", + "rootDir": "./src", // Best practices "strict": true, @@ -25,5 +29,7 @@ "noUnusedLocals": false, "noUnusedParameters": false, "noPropertyAccessFromIndexSignature": false - } + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] }