@take-out/cli 0.0.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +274 -0
- package/cli.mjs +3 -0
- package/dist/cjs/cli.cjs +71 -0
- package/dist/cjs/cli.js +70 -0
- package/dist/cjs/cli.js.map +6 -0
- package/dist/cjs/cli.native.js +79 -0
- package/dist/cjs/cli.native.js.map +6 -0
- package/dist/cjs/commands/changed.cjs +212 -0
- package/dist/cjs/commands/changed.js +214 -0
- package/dist/cjs/commands/changed.js.map +6 -0
- package/dist/cjs/commands/changed.native.js +289 -0
- package/dist/cjs/commands/changed.native.js.map +6 -0
- package/dist/cjs/commands/docs.cjs +388 -0
- package/dist/cjs/commands/docs.js +313 -0
- package/dist/cjs/commands/docs.js.map +6 -0
- package/dist/cjs/commands/docs.native.js +476 -0
- package/dist/cjs/commands/docs.native.js.map +6 -0
- package/dist/cjs/commands/env-setup.cjs +90 -0
- package/dist/cjs/commands/env-setup.js +78 -0
- package/dist/cjs/commands/env-setup.js.map +6 -0
- package/dist/cjs/commands/env-setup.native.js +85 -0
- package/dist/cjs/commands/env-setup.native.js.map +6 -0
- package/dist/cjs/commands/onboard.cjs +479 -0
- package/dist/cjs/commands/onboard.js +631 -0
- package/dist/cjs/commands/onboard.js.map +6 -0
- package/dist/cjs/commands/onboard.native.js +608 -0
- package/dist/cjs/commands/onboard.native.js.map +6 -0
- package/dist/cjs/commands/run.cjs +148 -0
- package/dist/cjs/commands/run.js +116 -0
- package/dist/cjs/commands/run.js.map +6 -0
- package/dist/cjs/commands/run.native.js +140 -0
- package/dist/cjs/commands/run.native.js.map +6 -0
- package/dist/cjs/commands/script.cjs +379 -0
- package/dist/cjs/commands/script.js +339 -0
- package/dist/cjs/commands/script.js.map +6 -0
- package/dist/cjs/commands/script.native.js +449 -0
- package/dist/cjs/commands/script.native.js.map +6 -0
- package/dist/cjs/commands/sync.cjs +190 -0
- package/dist/cjs/commands/sync.js +168 -0
- package/dist/cjs/commands/sync.js.map +6 -0
- package/dist/cjs/commands/sync.native.js +211 -0
- package/dist/cjs/commands/sync.native.js.map +6 -0
- package/dist/cjs/constants/ascii.cjs +36 -0
- package/dist/cjs/constants/ascii.js +30 -0
- package/dist/cjs/constants/ascii.js.map +6 -0
- package/dist/cjs/constants/ascii.native.js +36 -0
- package/dist/cjs/constants/ascii.native.js.map +6 -0
- package/dist/cjs/index.cjs +64 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/index.native.js +94 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/cjs/utils/env-categories.cjs +272 -0
- package/dist/cjs/utils/env-categories.js +296 -0
- package/dist/cjs/utils/env-categories.js.map +6 -0
- package/dist/cjs/utils/env-categories.native.js +317 -0
- package/dist/cjs/utils/env-categories.native.js.map +6 -0
- package/dist/cjs/utils/env-setup.cjs +181 -0
- package/dist/cjs/utils/env-setup.js +190 -0
- package/dist/cjs/utils/env-setup.js.map +6 -0
- package/dist/cjs/utils/env-setup.native.js +264 -0
- package/dist/cjs/utils/env-setup.native.js.map +6 -0
- package/dist/cjs/utils/env.cjs +118 -0
- package/dist/cjs/utils/env.js +97 -0
- package/dist/cjs/utils/env.js.map +6 -0
- package/dist/cjs/utils/env.native.js +128 -0
- package/dist/cjs/utils/env.native.js.map +6 -0
- package/dist/cjs/utils/files.cjs +215 -0
- package/dist/cjs/utils/files.js +164 -0
- package/dist/cjs/utils/files.js.map +6 -0
- package/dist/cjs/utils/files.native.js +266 -0
- package/dist/cjs/utils/files.native.js.map +6 -0
- package/dist/cjs/utils/parallel-runner.cjs +99 -0
- package/dist/cjs/utils/parallel-runner.js +84 -0
- package/dist/cjs/utils/parallel-runner.js.map +6 -0
- package/dist/cjs/utils/parallel-runner.native.js +123 -0
- package/dist/cjs/utils/parallel-runner.native.js.map +6 -0
- package/dist/cjs/utils/ports.cjs +101 -0
- package/dist/cjs/utils/ports.js +81 -0
- package/dist/cjs/utils/ports.js.map +6 -0
- package/dist/cjs/utils/ports.native.js +130 -0
- package/dist/cjs/utils/ports.native.js.map +6 -0
- package/dist/cjs/utils/prerequisites.cjs +119 -0
- package/dist/cjs/utils/prerequisites.js +107 -0
- package/dist/cjs/utils/prerequisites.js.map +6 -0
- package/dist/cjs/utils/prerequisites.native.js +127 -0
- package/dist/cjs/utils/prerequisites.native.js.map +6 -0
- package/dist/cjs/utils/prompts.cjs +161 -0
- package/dist/cjs/utils/prompts.js +162 -0
- package/dist/cjs/utils/prompts.js.map +6 -0
- package/dist/cjs/utils/prompts.native.js +179 -0
- package/dist/cjs/utils/prompts.native.js.map +6 -0
- package/dist/cjs/utils/script-listing.cjs +113 -0
- package/dist/cjs/utils/script-listing.js +108 -0
- package/dist/cjs/utils/script-listing.js.map +6 -0
- package/dist/cjs/utils/script-listing.native.js +174 -0
- package/dist/cjs/utils/script-listing.native.js.map +6 -0
- package/dist/cjs/utils/sync.cjs +85 -0
- package/dist/cjs/utils/sync.js +70 -0
- package/dist/cjs/utils/sync.js.map +6 -0
- package/dist/cjs/utils/sync.native.js +84 -0
- package/dist/cjs/utils/sync.native.js.map +6 -0
- package/dist/cjs/utils/welcome.cjs +50 -0
- package/dist/cjs/utils/welcome.js +42 -0
- package/dist/cjs/utils/welcome.js.map +6 -0
- package/dist/cjs/utils/welcome.native.js +47 -0
- package/dist/cjs/utils/welcome.native.js.map +6 -0
- package/dist/esm/cli.js +79 -0
- package/dist/esm/cli.js.map +6 -0
- package/dist/esm/cli.mjs +71 -0
- package/dist/esm/cli.mjs.map +1 -0
- package/dist/esm/cli.native.js +69 -0
- package/dist/esm/cli.native.js.map +1 -0
- package/dist/esm/commands/changed.js +194 -0
- package/dist/esm/commands/changed.js.map +6 -0
- package/dist/esm/commands/changed.mjs +178 -0
- package/dist/esm/commands/changed.mjs.map +1 -0
- package/dist/esm/commands/changed.native.js +273 -0
- package/dist/esm/commands/changed.native.js.map +1 -0
- package/dist/esm/commands/docs.js +306 -0
- package/dist/esm/commands/docs.js.map +6 -0
- package/dist/esm/commands/docs.mjs +353 -0
- package/dist/esm/commands/docs.mjs.map +1 -0
- package/dist/esm/commands/docs.native.js +516 -0
- package/dist/esm/commands/docs.native.js.map +1 -0
- package/dist/esm/commands/env-setup.js +56 -0
- package/dist/esm/commands/env-setup.js.map +6 -0
- package/dist/esm/commands/env-setup.mjs +56 -0
- package/dist/esm/commands/env-setup.mjs.map +1 -0
- package/dist/esm/commands/env-setup.native.js +59 -0
- package/dist/esm/commands/env-setup.native.js.map +1 -0
- package/dist/esm/commands/onboard.js +645 -0
- package/dist/esm/commands/onboard.js.map +6 -0
- package/dist/esm/commands/onboard.mjs +445 -0
- package/dist/esm/commands/onboard.mjs.map +1 -0
- package/dist/esm/commands/onboard.native.js +584 -0
- package/dist/esm/commands/onboard.native.js.map +1 -0
- package/dist/esm/commands/run.js +95 -0
- package/dist/esm/commands/run.js.map +6 -0
- package/dist/esm/commands/run.mjs +114 -0
- package/dist/esm/commands/run.mjs.map +1 -0
- package/dist/esm/commands/run.native.js +133 -0
- package/dist/esm/commands/run.native.js.map +1 -0
- package/dist/esm/commands/script.js +338 -0
- package/dist/esm/commands/script.js.map +6 -0
- package/dist/esm/commands/script.mjs +336 -0
- package/dist/esm/commands/script.mjs.map +1 -0
- package/dist/esm/commands/script.native.js +445 -0
- package/dist/esm/commands/script.native.js.map +1 -0
- package/dist/esm/commands/sync.js +158 -0
- package/dist/esm/commands/sync.js.map +6 -0
- package/dist/esm/commands/sync.mjs +155 -0
- package/dist/esm/commands/sync.mjs.map +1 -0
- package/dist/esm/commands/sync.native.js +173 -0
- package/dist/esm/commands/sync.native.js.map +1 -0
- package/dist/esm/constants/ascii.js +14 -0
- package/dist/esm/constants/ascii.js.map +6 -0
- package/dist/esm/constants/ascii.mjs +12 -0
- package/dist/esm/constants/ascii.mjs.map +1 -0
- package/dist/esm/constants/ascii.native.js +12 -0
- package/dist/esm/constants/ascii.native.js.map +1 -0
- package/dist/esm/index.js +83 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/index.mjs +7 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +7 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +2 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/esm/utils/env-categories.js +272 -0
- package/dist/esm/utils/env-categories.js.map +6 -0
- package/dist/esm/utils/env-categories.mjs +233 -0
- package/dist/esm/utils/env-categories.mjs.map +1 -0
- package/dist/esm/utils/env-categories.native.js +246 -0
- package/dist/esm/utils/env-categories.native.js.map +1 -0
- package/dist/esm/utils/env-setup.js +173 -0
- package/dist/esm/utils/env-setup.js.map +6 -0
- package/dist/esm/utils/env-setup.mjs +146 -0
- package/dist/esm/utils/env-setup.mjs.map +1 -0
- package/dist/esm/utils/env-setup.native.js +243 -0
- package/dist/esm/utils/env-setup.native.js.map +1 -0
- package/dist/esm/utils/env.js +83 -0
- package/dist/esm/utils/env.js.map +6 -0
- package/dist/esm/utils/env.mjs +90 -0
- package/dist/esm/utils/env.mjs.map +1 -0
- package/dist/esm/utils/env.native.js +99 -0
- package/dist/esm/utils/env.native.js.map +1 -0
- package/dist/esm/utils/files.js +150 -0
- package/dist/esm/utils/files.js.map +6 -0
- package/dist/esm/utils/files.mjs +187 -0
- package/dist/esm/utils/files.mjs.map +1 -0
- package/dist/esm/utils/files.native.js +247 -0
- package/dist/esm/utils/files.native.js.map +1 -0
- package/dist/esm/utils/parallel-runner.js +69 -0
- package/dist/esm/utils/parallel-runner.js.map +6 -0
- package/dist/esm/utils/parallel-runner.mjs +76 -0
- package/dist/esm/utils/parallel-runner.mjs.map +1 -0
- package/dist/esm/utils/parallel-runner.native.js +109 -0
- package/dist/esm/utils/parallel-runner.native.js.map +1 -0
- package/dist/esm/utils/ports.js +65 -0
- package/dist/esm/utils/ports.js.map +6 -0
- package/dist/esm/utils/ports.mjs +74 -0
- package/dist/esm/utils/ports.mjs.map +1 -0
- package/dist/esm/utils/ports.native.js +93 -0
- package/dist/esm/utils/ports.native.js.map +1 -0
- package/dist/esm/utils/prerequisites.js +91 -0
- package/dist/esm/utils/prerequisites.js.map +6 -0
- package/dist/esm/utils/prerequisites.mjs +91 -0
- package/dist/esm/utils/prerequisites.mjs.map +1 -0
- package/dist/esm/utils/prerequisites.native.js +97 -0
- package/dist/esm/utils/prerequisites.native.js.map +1 -0
- package/dist/esm/utils/prompts.js +139 -0
- package/dist/esm/utils/prompts.js.map +6 -0
- package/dist/esm/utils/prompts.mjs +112 -0
- package/dist/esm/utils/prompts.mjs.map +1 -0
- package/dist/esm/utils/prompts.native.js +115 -0
- package/dist/esm/utils/prompts.native.js.map +1 -0
- package/dist/esm/utils/script-listing.js +91 -0
- package/dist/esm/utils/script-listing.js.map +6 -0
- package/dist/esm/utils/script-listing.mjs +76 -0
- package/dist/esm/utils/script-listing.mjs.map +1 -0
- package/dist/esm/utils/script-listing.native.js +151 -0
- package/dist/esm/utils/script-listing.native.js.map +1 -0
- package/dist/esm/utils/sync.js +50 -0
- package/dist/esm/utils/sync.js.map +6 -0
- package/dist/esm/utils/sync.mjs +48 -0
- package/dist/esm/utils/sync.mjs.map +1 -0
- package/dist/esm/utils/sync.native.js +53 -0
- package/dist/esm/utils/sync.native.js.map +1 -0
- package/dist/esm/utils/welcome.js +21 -0
- package/dist/esm/utils/welcome.js.map +6 -0
- package/dist/esm/utils/welcome.mjs +15 -0
- package/dist/esm/utils/welcome.mjs.map +1 -0
- package/dist/esm/utils/welcome.native.js +18 -0
- package/dist/esm/utils/welcome.native.js.map +1 -0
- package/docs/aggregates.md +579 -0
- package/docs/cloudflare-dev-tunnel.md +41 -0
- package/docs/database.md +203 -0
- package/docs/docs.md +8 -0
- package/docs/emitters.md +562 -0
- package/docs/hot-updater.md +223 -0
- package/docs/native-hot-update.md +252 -0
- package/docs/one-components.md +234 -0
- package/docs/one-hooks.md +570 -0
- package/docs/one-routes.md +660 -0
- package/docs/package-json.md +115 -0
- package/docs/react-native-navigation-flow.md +184 -0
- package/docs/scripts.md +147 -0
- package/docs/sync-prompt.md +208 -0
- package/docs/tamagui.md +478 -0
- package/docs/testing-integration.md +564 -0
- package/docs/triggers.md +450 -0
- package/docs/zero.md +719 -0
- package/package.json +76 -0
- package/scripts/seed.ts +209 -0
- package/src/cli.ts +147 -0
- package/src/commands/changed.ts +313 -0
- package/src/commands/docs.ts +582 -0
- package/src/commands/env-setup.ts +69 -0
- package/src/commands/onboard.ts +1391 -0
- package/src/commands/run.ts +173 -0
- package/src/commands/script.ts +587 -0
- package/src/commands/sync.ts +305 -0
- package/src/constants/ascii.ts +17 -0
- package/src/index.ts +63 -0
- package/src/types.ts +59 -0
- package/src/utils/env-categories.ts +245 -0
- package/src/utils/env-setup.ts +338 -0
- package/src/utils/env.ts +127 -0
- package/src/utils/files.ts +302 -0
- package/src/utils/parallel-runner.ts +129 -0
- package/src/utils/ports.ts +77 -0
- package/src/utils/prerequisites.ts +137 -0
- package/src/utils/prompts.ts +197 -0
- package/src/utils/script-listing.ts +214 -0
- package/src/utils/sync.ts +101 -0
- package/src/withOpSqliteStatic.cjs +51 -0
- package/types/cli.d.ts +7 -0
- package/types/cli.d.ts.map +1 -0
- package/types/commands/changed.d.ts +14 -0
- package/types/commands/changed.d.ts.map +1 -0
- package/types/commands/docs.d.ts +5 -0
- package/types/commands/docs.d.ts.map +1 -0
- package/types/commands/env-setup.d.ts +25 -0
- package/types/commands/env-setup.d.ts.map +1 -0
- package/types/commands/onboard.d.ts +16 -0
- package/types/commands/onboard.d.ts.map +1 -0
- package/types/commands/run.d.ts +8 -0
- package/types/commands/run.d.ts.map +1 -0
- package/types/commands/script.d.ts +28 -0
- package/types/commands/script.d.ts.map +1 -0
- package/types/commands/sync.d.ts +5 -0
- package/types/commands/sync.d.ts.map +1 -0
- package/types/constants/ascii.d.ts +6 -0
- package/types/constants/ascii.d.ts.map +1 -0
- package/types/index.d.ts +12 -0
- package/types/index.d.ts.map +1 -0
- package/types/types.d.ts +54 -0
- package/types/types.d.ts.map +1 -0
- package/types/utils/env-categories.d.ts +8 -0
- package/types/utils/env-categories.d.ts.map +1 -0
- package/types/utils/env-setup.d.ts +10 -0
- package/types/utils/env-setup.d.ts.map +1 -0
- package/types/utils/env.d.ts +19 -0
- package/types/utils/env.d.ts.map +1 -0
- package/types/utils/files.d.ts +47 -0
- package/types/utils/files.d.ts.map +1 -0
- package/types/utils/parallel-runner.d.ts +15 -0
- package/types/utils/parallel-runner.d.ts.map +1 -0
- package/types/utils/ports.d.ts +16 -0
- package/types/utils/ports.d.ts.map +1 -0
- package/types/utils/prerequisites.d.ts +11 -0
- package/types/utils/prerequisites.d.ts.map +1 -0
- package/types/utils/prompts.d.ts +30 -0
- package/types/utils/prompts.d.ts.map +1 -0
- package/types/utils/script-listing.d.ts +7 -0
- package/types/utils/script-listing.d.ts.map +1 -0
- package/types/utils/sync.d.ts +16 -0
- package/types/utils/sync.d.ts.map +1 -0
- package/types/utils/welcome.d.ts +6 -0
- package/types/utils/welcome.d.ts.map +1 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 vxrn
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
# @take-out/cli
|
|
2
|
+
|
|
3
|
+
CLI tools for Takeout starter kit - interactive onboarding, project setup,
|
|
4
|
+
scripts and script running.
|
|
5
|
+
|
|
6
|
+
## Features
|
|
7
|
+
|
|
8
|
+
- 🚀 Interactive onboarding wizard
|
|
9
|
+
- ✅ Prerequisite checking (Bun, Docker, Node, Git)
|
|
10
|
+
- 🔧 Environment file setup with secret generation
|
|
11
|
+
- 📦 Project identity customization
|
|
12
|
+
- 🐳 Docker service orchestration
|
|
13
|
+
- 🗄️ Database migration automation
|
|
14
|
+
- 📚 Documentation management with Claude Code Skills support
|
|
15
|
+
- 🎨 Beautiful CLI interface with @clack/prompts
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install @take-out/cli
|
|
21
|
+
# or
|
|
22
|
+
bun add @take-out/cli
|
|
23
|
+
# or
|
|
24
|
+
pnpm add @take-out/cli
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
### CLI Commands
|
|
30
|
+
|
|
31
|
+
#### `takeout onboard`
|
|
32
|
+
|
|
33
|
+
Interactive onboarding for new Takeout projects:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
takeout onboard
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This will guide you through:
|
|
40
|
+
|
|
41
|
+
1. Prerequisites verification (Bun, Docker, Node, Git)
|
|
42
|
+
2. Environment file setup (.env from .env.development)
|
|
43
|
+
3. Secret generation (BETTER_AUTH_SECRET)
|
|
44
|
+
4. Project identity customization (name, bundle ID, domain)
|
|
45
|
+
5. Docker service startup (PostgreSQL, Zero, MinIO)
|
|
46
|
+
6. Database migrations
|
|
47
|
+
|
|
48
|
+
**Options:**
|
|
49
|
+
|
|
50
|
+
- `--skip` - Skip interactive prompts
|
|
51
|
+
|
|
52
|
+
#### `takeout check`
|
|
53
|
+
|
|
54
|
+
Quick prerequisite check (used in postinstall):
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
takeout check
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Options:**
|
|
61
|
+
|
|
62
|
+
- `--silent` - Run silently with no output
|
|
63
|
+
|
|
64
|
+
#### `takeout docs`
|
|
65
|
+
|
|
66
|
+
Manage and retrieve documentation files:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# list available docs
|
|
70
|
+
takeout docs list
|
|
71
|
+
|
|
72
|
+
# get doc content (for hooks)
|
|
73
|
+
takeout docs get zero tamagui
|
|
74
|
+
|
|
75
|
+
# get path to docs directory
|
|
76
|
+
takeout docs path
|
|
77
|
+
|
|
78
|
+
# eject docs to local ./docs folder
|
|
79
|
+
takeout docs eject
|
|
80
|
+
|
|
81
|
+
# generate Claude Code skills from docs
|
|
82
|
+
takeout docs skills
|
|
83
|
+
takeout docs skills --clean # clean and regenerate
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
##### Claude Code Skills
|
|
87
|
+
|
|
88
|
+
The `docs skills` command generates Claude Code skills from your documentation:
|
|
89
|
+
|
|
90
|
+
1. scans docs from both `./docs/` (local) and package docs
|
|
91
|
+
2. for docs with YAML frontmatter, creates symlinks to `.claude/skills/`
|
|
92
|
+
3. for docs without frontmatter, generates skill files with auto-extracted metadata
|
|
93
|
+
|
|
94
|
+
**adding frontmatter to docs (recommended):**
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
---
|
|
98
|
+
name: my-skill
|
|
99
|
+
description: What this skill does. Keywords for when Claude should use it.
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
# my skill
|
|
103
|
+
|
|
104
|
+
content here...
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
docs with frontmatter get symlinked directly - edit the source and the skill
|
|
108
|
+
updates automatically. docs without frontmatter get generated copies.
|
|
109
|
+
|
|
110
|
+
**regenerating skills:**
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# regenerate after doc changes
|
|
114
|
+
bun tko docs skills
|
|
115
|
+
|
|
116
|
+
# clean and regenerate all
|
|
117
|
+
bun tko docs skills --clean
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
skills are gitignored by default (`.claude/skills`).
|
|
121
|
+
|
|
122
|
+
### Programmatic Usage
|
|
123
|
+
|
|
124
|
+
Import utilities for use in custom scripts:
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
import {
|
|
128
|
+
checkAllPrerequisites,
|
|
129
|
+
checkAllPorts,
|
|
130
|
+
generateSecret,
|
|
131
|
+
updateEnvVariable,
|
|
132
|
+
displayWelcome,
|
|
133
|
+
} from '@take-out/cli'
|
|
134
|
+
|
|
135
|
+
// Check prerequisites
|
|
136
|
+
const checks = checkAllPrerequisites()
|
|
137
|
+
console.log(checks)
|
|
138
|
+
|
|
139
|
+
// Check port conflicts
|
|
140
|
+
const ports = checkAllPorts()
|
|
141
|
+
console.log(ports)
|
|
142
|
+
|
|
143
|
+
// Generate auth secret
|
|
144
|
+
const secret = generateSecret()
|
|
145
|
+
console.log(secret)
|
|
146
|
+
|
|
147
|
+
// Update environment variable
|
|
148
|
+
updateEnvVariable(process.cwd(), 'BETTER_AUTH_SECRET', secret)
|
|
149
|
+
|
|
150
|
+
// Display welcome message
|
|
151
|
+
displayWelcome('My App')
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## API
|
|
155
|
+
|
|
156
|
+
### Prerequisites
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
checkAllPrerequisites(): PrerequisiteCheck[]
|
|
160
|
+
checkBun(): PrerequisiteCheck
|
|
161
|
+
checkNode(): PrerequisiteCheck
|
|
162
|
+
checkDocker(): PrerequisiteCheck
|
|
163
|
+
checkGit(): PrerequisiteCheck
|
|
164
|
+
hasRequiredPrerequisites(checks: PrerequisiteCheck[]): boolean
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Ports
|
|
168
|
+
|
|
169
|
+
```typescript
|
|
170
|
+
checkAllPorts(): PortCheck[]
|
|
171
|
+
checkPort(port: number, name: string): PortCheck
|
|
172
|
+
hasPortConflicts(checks: PortCheck[]): boolean
|
|
173
|
+
getConflictingPorts(checks: PortCheck[]): PortCheck[]
|
|
174
|
+
|
|
175
|
+
TAKEOUT_PORTS = {
|
|
176
|
+
postgres: 5432,
|
|
177
|
+
zero: 4848,
|
|
178
|
+
web: 8081,
|
|
179
|
+
minio: 9090,
|
|
180
|
+
minioConsole: 9091,
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### Environment
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
generateSecret(length?: number): string
|
|
188
|
+
envFileExists(cwd: string, filename?: string): boolean
|
|
189
|
+
copyEnvFile(cwd: string, source: string, target: string): Result
|
|
190
|
+
updateEnvVariable(cwd: string, key: string, value: string, filename?: string): Result
|
|
191
|
+
createEnvLocal(cwd: string): Result
|
|
192
|
+
readEnvVariable(cwd: string, key: string, filename?: string): string | null
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Files
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
updatePackageJson(cwd: string, updates: { name?: string; description?: string }): Result
|
|
199
|
+
updateAppConfig(cwd: string, updates: { name?: string; slug?: string; bundleId?: string }): Result
|
|
200
|
+
checkOnboarded(cwd: string): boolean
|
|
201
|
+
markOnboarded(cwd: string): Result
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Prompts
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
displayWelcome(projectName?: string): void
|
|
208
|
+
displayOutro(message: string): void
|
|
209
|
+
displayPrerequisites(checks: PrerequisiteCheck[]): void
|
|
210
|
+
displayPortConflicts(conflicts: PortCheck[]): void
|
|
211
|
+
confirmContinue(message: string, defaultValue?: boolean): Promise<boolean>
|
|
212
|
+
promptText(message: string, defaultValue?: string, placeholder?: string): Promise<string>
|
|
213
|
+
promptPassword(message: string, placeholder?: string): Promise<string>
|
|
214
|
+
promptSelect<T>(message: string, options: Array<{value: T; label: string; hint?: string}>): Promise<T>
|
|
215
|
+
showSpinner(message: string): Spinner
|
|
216
|
+
showError(message: string): void
|
|
217
|
+
showWarning(message: string): void
|
|
218
|
+
showSuccess(message: string): void
|
|
219
|
+
showInfo(message: string): void
|
|
220
|
+
showStep(message: string): void
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Integration with Takeout
|
|
224
|
+
|
|
225
|
+
Add to your `package.json`:
|
|
226
|
+
|
|
227
|
+
```json
|
|
228
|
+
{
|
|
229
|
+
"scripts": {
|
|
230
|
+
"onboard": "takeout onboard",
|
|
231
|
+
"postinstall": "takeout check"
|
|
232
|
+
},
|
|
233
|
+
"dependencies": {
|
|
234
|
+
"@take-out/cli": "^0.0.1"
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Then users can run:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
bun install
|
|
243
|
+
bun onboard
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Development
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
# Install dependencies
|
|
250
|
+
bun install
|
|
251
|
+
|
|
252
|
+
# Build
|
|
253
|
+
bun run build
|
|
254
|
+
|
|
255
|
+
# Watch mode
|
|
256
|
+
bun run watch
|
|
257
|
+
|
|
258
|
+
# Lint
|
|
259
|
+
bun run lint
|
|
260
|
+
|
|
261
|
+
# Lint and fix
|
|
262
|
+
bun run lint:fix
|
|
263
|
+
|
|
264
|
+
# Test locally (from this directory)
|
|
265
|
+
bun src/cli.ts onboard
|
|
266
|
+
bun src/cli.ts check
|
|
267
|
+
|
|
268
|
+
# Test built version
|
|
269
|
+
bun dist/esm/cli.mjs onboard
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## License
|
|
273
|
+
|
|
274
|
+
MIT
|
package/cli.mjs
ADDED
package/dist/cjs/cli.cjs
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var import_node_fs = require("node:fs"),
|
|
3
|
+
import_node_path = require("node:path"),
|
|
4
|
+
import_citty = require("citty"),
|
|
5
|
+
import_changed = require("./commands/changed.cjs"),
|
|
6
|
+
import_docs = require("./commands/docs.cjs"),
|
|
7
|
+
import_env_setup = require("./commands/env-setup.cjs"),
|
|
8
|
+
import_onboard = require("./commands/onboard.cjs"),
|
|
9
|
+
import_run = require("./commands/run.cjs"),
|
|
10
|
+
import_script = require("./commands/script.cjs"),
|
|
11
|
+
import_sync = require("./commands/sync.cjs"),
|
|
12
|
+
import_script_listing = require("./utils/script-listing.cjs");
|
|
13
|
+
const import_meta = {};
|
|
14
|
+
function isScriptCategory(name) {
|
|
15
|
+
const scriptsDir = (0, import_node_path.join)(process.cwd(), "scripts"),
|
|
16
|
+
categoryPath = (0, import_node_path.join)(scriptsDir, name);
|
|
17
|
+
try {
|
|
18
|
+
return (0, import_node_fs.existsSync)(categoryPath) && (0, import_node_fs.statSync)(categoryPath).isDirectory();
|
|
19
|
+
} catch {
|
|
20
|
+
return !1;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function isLocalScript(name) {
|
|
24
|
+
const scriptsDir = (0, import_node_path.join)(process.cwd(), "scripts"),
|
|
25
|
+
normalizedName = name.replace(/:/g, "/");
|
|
26
|
+
for (const ext of [".ts", ".js", ""]) {
|
|
27
|
+
const scriptPath = (0, import_node_path.join)(scriptsDir, `${normalizedName}${ext}`);
|
|
28
|
+
if ((0, import_node_fs.existsSync)(scriptPath)) return !0;
|
|
29
|
+
}
|
|
30
|
+
return !1;
|
|
31
|
+
}
|
|
32
|
+
function isBuiltInScript(name) {
|
|
33
|
+
try {
|
|
34
|
+
const resolved = import_meta.resolve("@take-out/scripts/package.json"),
|
|
35
|
+
packageJsonPath = new URL(resolved).pathname,
|
|
36
|
+
packageRoot = (0, import_node_path.join)(packageJsonPath, ".."),
|
|
37
|
+
srcPath = (0, import_node_path.join)(packageRoot, "src"),
|
|
38
|
+
normalizedName = name.replace(/:/g, "/");
|
|
39
|
+
for (const ext of [".ts", ".js", ""]) {
|
|
40
|
+
const scriptPath = (0, import_node_path.join)(srcPath, `${normalizedName}${ext}`);
|
|
41
|
+
if ((0, import_node_fs.existsSync)(scriptPath)) return !0;
|
|
42
|
+
}
|
|
43
|
+
} catch {}
|
|
44
|
+
return !1;
|
|
45
|
+
}
|
|
46
|
+
const isShorthand = process.argv[1]?.endsWith("tko") || process.argv[1]?.includes("/.bin/tko");
|
|
47
|
+
if (isShorthand) {
|
|
48
|
+
const firstArg = process.argv[2],
|
|
49
|
+
secondArg = process.argv[3];
|
|
50
|
+
firstArg && !["docs", "onboard", "run", "script", "env:setup", "sync", "changed", "--help", "-h", "--version", "-v"].includes(firstArg) && (isScriptCategory(firstArg) ? (secondArg && !secondArg.startsWith("-") && process.argv.splice(2, 2, `${firstArg}/${secondArg}`), process.argv.splice(2, 0, "run")) : firstArg?.includes("/") || isLocalScript(firstArg) || isBuiltInScript(firstArg) ? process.argv.splice(2, 0, "run") : process.argv.splice(2, 0, "script"));
|
|
51
|
+
}
|
|
52
|
+
const main = (0, import_citty.defineCommand)({
|
|
53
|
+
meta: {
|
|
54
|
+
name: isShorthand ? "tko" : "takeout",
|
|
55
|
+
version: "0.0.2",
|
|
56
|
+
description: "CLI tools for Takeout starter kit"
|
|
57
|
+
},
|
|
58
|
+
subCommands: {
|
|
59
|
+
onboard: import_onboard.onboardCommand,
|
|
60
|
+
docs: import_docs.docsCommand,
|
|
61
|
+
"env:setup": import_env_setup.envSetupCommand,
|
|
62
|
+
run: import_run.runCommand,
|
|
63
|
+
script: import_script.scriptCommand,
|
|
64
|
+
sync: import_sync.syncCommand,
|
|
65
|
+
changed: import_changed.changedCommand
|
|
66
|
+
},
|
|
67
|
+
run() {
|
|
68
|
+
process.argv.length > 2 || (0, import_script_listing.listAllScripts)();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
(0, import_citty.runMain)(main);
|
package/dist/cjs/cli.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var import_node_fs = require("node:fs"), import_node_path = require("node:path"), import_citty = require("citty"), import_changed = require("./commands/changed"), import_docs = require("./commands/docs"), import_env_setup = require("./commands/env-setup"), import_onboard = require("./commands/onboard"), import_run = require("./commands/run"), import_script = require("./commands/script"), import_sync = require("./commands/sync"), import_script_listing = require("./utils/script-listing");
|
|
3
|
+
const import_meta = {};
|
|
4
|
+
function isScriptCategory(name) {
|
|
5
|
+
const scriptsDir = (0, import_node_path.join)(process.cwd(), "scripts"), categoryPath = (0, import_node_path.join)(scriptsDir, name);
|
|
6
|
+
try {
|
|
7
|
+
return (0, import_node_fs.existsSync)(categoryPath) && (0, import_node_fs.statSync)(categoryPath).isDirectory();
|
|
8
|
+
} catch {
|
|
9
|
+
return !1;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function isLocalScript(name) {
|
|
13
|
+
const scriptsDir = (0, import_node_path.join)(process.cwd(), "scripts"), normalizedName = name.replace(/:/g, "/");
|
|
14
|
+
for (const ext of [".ts", ".js", ""]) {
|
|
15
|
+
const scriptPath = (0, import_node_path.join)(scriptsDir, `${normalizedName}${ext}`);
|
|
16
|
+
if ((0, import_node_fs.existsSync)(scriptPath))
|
|
17
|
+
return !0;
|
|
18
|
+
}
|
|
19
|
+
return !1;
|
|
20
|
+
}
|
|
21
|
+
function isBuiltInScript(name) {
|
|
22
|
+
try {
|
|
23
|
+
const resolved = import_meta.resolve("@take-out/scripts/package.json"), packageJsonPath = new URL(resolved).pathname, packageRoot = (0, import_node_path.join)(packageJsonPath, ".."), srcPath = (0, import_node_path.join)(packageRoot, "src"), normalizedName = name.replace(/:/g, "/");
|
|
24
|
+
for (const ext of [".ts", ".js", ""]) {
|
|
25
|
+
const scriptPath = (0, import_node_path.join)(srcPath, `${normalizedName}${ext}`);
|
|
26
|
+
if ((0, import_node_fs.existsSync)(scriptPath))
|
|
27
|
+
return !0;
|
|
28
|
+
}
|
|
29
|
+
} catch {
|
|
30
|
+
}
|
|
31
|
+
return !1;
|
|
32
|
+
}
|
|
33
|
+
const isShorthand = process.argv[1]?.endsWith("tko") || process.argv[1]?.includes("/.bin/tko");
|
|
34
|
+
if (isShorthand) {
|
|
35
|
+
const firstArg = process.argv[2], secondArg = process.argv[3];
|
|
36
|
+
firstArg && ![
|
|
37
|
+
"docs",
|
|
38
|
+
"onboard",
|
|
39
|
+
"run",
|
|
40
|
+
"script",
|
|
41
|
+
"env:setup",
|
|
42
|
+
"sync",
|
|
43
|
+
"changed",
|
|
44
|
+
"--help",
|
|
45
|
+
"-h",
|
|
46
|
+
"--version",
|
|
47
|
+
"-v"
|
|
48
|
+
].includes(firstArg) && (isScriptCategory(firstArg) ? (secondArg && !secondArg.startsWith("-") && process.argv.splice(2, 2, `${firstArg}/${secondArg}`), process.argv.splice(2, 0, "run")) : firstArg?.includes("/") || isLocalScript(firstArg) || isBuiltInScript(firstArg) ? process.argv.splice(2, 0, "run") : process.argv.splice(2, 0, "script"));
|
|
49
|
+
}
|
|
50
|
+
const main = (0, import_citty.defineCommand)({
|
|
51
|
+
meta: {
|
|
52
|
+
name: isShorthand ? "tko" : "takeout",
|
|
53
|
+
version: "0.0.2",
|
|
54
|
+
description: "CLI tools for Takeout starter kit"
|
|
55
|
+
},
|
|
56
|
+
subCommands: {
|
|
57
|
+
onboard: import_onboard.onboardCommand,
|
|
58
|
+
docs: import_docs.docsCommand,
|
|
59
|
+
"env:setup": import_env_setup.envSetupCommand,
|
|
60
|
+
run: import_run.runCommand,
|
|
61
|
+
script: import_script.scriptCommand,
|
|
62
|
+
sync: import_sync.syncCommand,
|
|
63
|
+
changed: import_changed.changedCommand
|
|
64
|
+
},
|
|
65
|
+
run() {
|
|
66
|
+
process.argv.length > 2 || (0, import_script_listing.listAllScripts)();
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
(0, import_citty.runMain)(main);
|
|
70
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/cli.ts"],
|
|
4
|
+
"mappings": ";AAOA,qBAAqC,oBACrC,mBAAqB,sBAErB,eAAuC,kBAEvC,iBAA+B,+BAC/B,cAA4B,4BAC5B,mBAAgC,iCAChC,iBAA+B,+BAC/B,aAA2B,2BAC3B,gBAA8B,8BAC9B,cAA4B,4BAC5B,wBAA+B;AAnB/B;AAsBA,SAAS,iBAAiB,MAAuB;AAC/C,QAAM,iBAAa,uBAAK,QAAQ,IAAI,GAAG,SAAS,GAC1C,mBAAe,uBAAK,YAAY,IAAI;AAE1C,MAAI;AACF,eAAO,2BAAW,YAAY,SAAK,yBAAS,YAAY,EAAE,YAAY;AAAA,EACxE,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGA,SAAS,cAAc,MAAuB;AAC5C,QAAM,iBAAa,uBAAK,QAAQ,IAAI,GAAG,SAAS,GAC1C,iBAAiB,KAAK,QAAQ,MAAM,GAAG;AAE7C,aAAW,OAAO,CAAC,OAAO,OAAO,EAAE,GAAG;AACpC,UAAM,iBAAa,uBAAK,YAAY,GAAG,cAAc,GAAG,GAAG,EAAE;AAC7D,YAAI,2BAAW,UAAU;AACvB,aAAO;AAAA,EAEX;AAEA,SAAO;AACT;AAGA,SAAS,gBAAgB,MAAuB;AAC9C,MAAI;AACF,UAAM,WAAW,YAAY,QAAQ,gCAAgC,GAC/D,kBAAkB,IAAI,IAAI,QAAQ,EAAE,UACpC,kBAAc,uBAAK,iBAAiB,IAAI,GACxC,cAAU,uBAAK,aAAa,KAAK,GAGjC,iBAAiB,KAAK,QAAQ,MAAM,GAAG;AAG7C,eAAW,OAAO,CAAC,OAAO,OAAO,EAAE,GAAG;AACpC,YAAM,iBAAa,uBAAK,SAAS,GAAG,cAAc,GAAG,GAAG,EAAE;AAC1D,cAAI,2BAAW,UAAU;AACvB,eAAO;AAAA,IAEX;AAAA,EACF,QAAQ;AAAA,EAER;AAEA,SAAO;AACT;AAGA,MAAM,cACJ,QAAQ,KAAK,CAAC,GAAG,SAAS,KAAK,KAAK,QAAQ,KAAK,CAAC,GAAG,SAAS,WAAW;AAE3E,IAAI,aAAa;AAEf,QAAM,WAAW,QAAQ,KAAK,CAAC,GACzB,YAAY,QAAQ,KAAK,CAAC;AAehC,EAAI,YAAY,CAdQ;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAEiC,SAAS,QAAQ,MAG5C,iBAAiB,QAAQ,KAGvB,aAAa,CAAC,UAAU,WAAW,GAAG,KAExC,QAAQ,KAAK,OAAO,GAAG,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAE,GAGtD,QAAQ,KAAK,OAAO,GAAG,GAAG,KAAK,KACtB,UAAU,SAAS,GAAG,KAGtB,cAAc,QAAQ,KAAK,gBAAgB,QAAQ,IAD5D,QAAQ,KAAK,OAAO,GAAG,GAAG,KAAK,IAO/B,QAAQ,KAAK,OAAO,GAAG,GAAG,QAAQ;AAGxC;AAEA,MAAM,WAAO,4BAAc;AAAA,EACzB,MAAM;AAAA,IACJ,MAAM,cAAc,QAAQ;AAAA,IAC5B,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AAAA,EACA,aAAa;AAAA,IACX,SAAS;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAIJ,IADgB,QAAQ,KAAK,SAAS,SAEpC,sCAAe;AAAA,EAEnB;AACF,CAAC;AAAA,IAED,sBAAQ,IAAI;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var import_fs = require("fs"), import_path = require("path"), import_citty = require("citty"), import_changed = require("./commands/changed"), import_docs = require("./commands/docs"), import_env_setup = require("./commands/env-setup"), import_onboard = require("./commands/onboard"), import_run = require("./commands/run"), import_script = require("./commands/script"), import_sync = require("./commands/sync"), import_script_listing = require("./utils/script-listing");
|
|
4
|
+
const import_meta = {};
|
|
5
|
+
var _process_argv_, _process_argv_1;
|
|
6
|
+
function isScriptCategory(name) {
|
|
7
|
+
var scriptsDir = (0, import_path.join)(process.cwd(), "scripts"), categoryPath = (0, import_path.join)(scriptsDir, name);
|
|
8
|
+
try {
|
|
9
|
+
return (0, import_fs.existsSync)(categoryPath) && (0, import_fs.statSync)(categoryPath).isDirectory();
|
|
10
|
+
} catch {
|
|
11
|
+
return !1;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function isLocalScript(name) {
|
|
15
|
+
for (var scriptsDir = (0, import_path.join)(process.cwd(), "scripts"), normalizedName = name.replace(/:/g, "/"), _i = 0, _iter = [
|
|
16
|
+
".ts",
|
|
17
|
+
".js",
|
|
18
|
+
""
|
|
19
|
+
]; _i < _iter.length; _i++) {
|
|
20
|
+
var ext = _iter[_i], scriptPath = (0, import_path.join)(scriptsDir, `${normalizedName}${ext}`);
|
|
21
|
+
if ((0, import_fs.existsSync)(scriptPath))
|
|
22
|
+
return !0;
|
|
23
|
+
}
|
|
24
|
+
return !1;
|
|
25
|
+
}
|
|
26
|
+
function isBuiltInScript(name) {
|
|
27
|
+
try {
|
|
28
|
+
for (var resolved = import_meta.resolve("@take-out/scripts/package.json"), packageJsonPath = new URL(resolved).pathname, packageRoot = (0, import_path.join)(packageJsonPath, ".."), srcPath = (0, import_path.join)(packageRoot, "src"), normalizedName = name.replace(/:/g, "/"), _i = 0, _iter = [
|
|
29
|
+
".ts",
|
|
30
|
+
".js",
|
|
31
|
+
""
|
|
32
|
+
]; _i < _iter.length; _i++) {
|
|
33
|
+
var ext = _iter[_i], scriptPath = (0, import_path.join)(srcPath, `${normalizedName}${ext}`);
|
|
34
|
+
if ((0, import_fs.existsSync)(scriptPath))
|
|
35
|
+
return !0;
|
|
36
|
+
}
|
|
37
|
+
} catch {
|
|
38
|
+
}
|
|
39
|
+
return !1;
|
|
40
|
+
}
|
|
41
|
+
var isShorthand = ((_process_argv_ = process.argv[1]) === null || _process_argv_ === void 0 ? void 0 : _process_argv_.endsWith("tko")) || ((_process_argv_1 = process.argv[1]) === null || _process_argv_1 === void 0 ? void 0 : _process_argv_1.includes("/.bin/tko"));
|
|
42
|
+
if (isShorthand) {
|
|
43
|
+
var firstArg = process.argv[2], secondArg = process.argv[3], builtInCommands = [
|
|
44
|
+
"docs",
|
|
45
|
+
"onboard",
|
|
46
|
+
"run",
|
|
47
|
+
"script",
|
|
48
|
+
"env:setup",
|
|
49
|
+
"sync",
|
|
50
|
+
"changed",
|
|
51
|
+
"--help",
|
|
52
|
+
"-h",
|
|
53
|
+
"--version",
|
|
54
|
+
"-v"
|
|
55
|
+
];
|
|
56
|
+
firstArg && !builtInCommands.includes(firstArg) && (isScriptCategory(firstArg) ? (secondArg && !secondArg.startsWith("-") && process.argv.splice(2, 2, `${firstArg}/${secondArg}`), process.argv.splice(2, 0, "run")) : firstArg != null && firstArg.includes("/") || isLocalScript(firstArg) || isBuiltInScript(firstArg) ? process.argv.splice(2, 0, "run") : process.argv.splice(2, 0, "script"));
|
|
57
|
+
}
|
|
58
|
+
var main = (0, import_citty.defineCommand)({
|
|
59
|
+
meta: {
|
|
60
|
+
name: isShorthand ? "tko" : "takeout",
|
|
61
|
+
version: "0.0.2",
|
|
62
|
+
description: "CLI tools for Takeout starter kit"
|
|
63
|
+
},
|
|
64
|
+
subCommands: {
|
|
65
|
+
onboard: import_onboard.onboardCommand,
|
|
66
|
+
docs: import_docs.docsCommand,
|
|
67
|
+
"env:setup": import_env_setup.envSetupCommand,
|
|
68
|
+
run: import_run.runCommand,
|
|
69
|
+
script: import_script.scriptCommand,
|
|
70
|
+
sync: import_sync.syncCommand,
|
|
71
|
+
changed: import_changed.changedCommand
|
|
72
|
+
},
|
|
73
|
+
run() {
|
|
74
|
+
var hasArgs = process.argv.length > 2;
|
|
75
|
+
hasArgs || (0, import_script_listing.listAllScripts)();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
(0, import_citty.runMain)(main);
|
|
79
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/cli.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|