@calebmabry/wami 0.1.0

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.
Files changed (3) hide show
  1. package/README.md +124 -0
  2. package/dist/cli.js +3180 -0
  3. package/package.json +55 -0
package/README.md ADDED
@@ -0,0 +1,124 @@
1
+ # wami (Where Am I?)
2
+
3
+ > A smart TUI that detects your repository and shows available commands. Works everywhere, zero config.
4
+
5
+ ![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)
6
+ [![npm version](https://img.shields.io/npm/v/wami.svg)](https://www.npmjs.com/package/wami)
7
+
8
+ ## ✨ Features
9
+
10
+ - 🚀 **Zero Config** - Works instantly in any repo. No setup files needed.
11
+ - 🔍 **Smart Detection** - Auto-detects Node.js, Python, and more
12
+ - 📦 **Multi-Package Manager** - Supports npm, yarn, pnpm, bun, poetry, uv, pipenv, pip
13
+ - 📝 **Command History** - Remembers commands with arguments across sessions
14
+ - ✏️ **Interactive Editing** - Add arguments on-the-fly, edit before running
15
+ - 🔎 **Smart Search** - Filter through 50+ scripts instantly
16
+ - 🏢 **Mono-repo Ready** - Intelligently detects workspaces
17
+
18
+ ## 📦 Installation
19
+
20
+ \`\`\`bash
21
+ # Using bun
22
+ bun install -g wami
23
+
24
+ # Using npm
25
+ npm install -g wami
26
+
27
+ # Using pnpm
28
+ pnpm add -g wami
29
+
30
+ # Using yarn
31
+ yarn global add wami
32
+ \`\`\`
33
+
34
+ ## 🚀 Usage
35
+
36
+ Navigate to any project and run:
37
+
38
+ \`\`\`bash
39
+ wami
40
+ \`\`\`
41
+
42
+ ### Keyboard Shortcuts
43
+
44
+ - **↑/↓** - Navigate through scripts
45
+ - **Enter** - Run selected script
46
+ - **a** - Add arguments interactively
47
+ - **e** - Edit command before running
48
+ - **d** - Delete from history
49
+ - **/** - Search/filter scripts
50
+ - **c** - Clear search
51
+ - **q** - Quit
52
+
53
+ ## 🎯 Supported Ecosystems
54
+
55
+ ### Node.js
56
+ Detects \`package.json\` and supports:
57
+ - npm
58
+ - yarn
59
+ - pnpm
60
+ - bun
61
+
62
+ ### Python
63
+ Detects \`pyproject.toml\`, \`Pipfile\`, or \`requirements.txt\` and supports:
64
+ - poetry
65
+ - uv
66
+ - pipenv
67
+ - pip
68
+ - PDM
69
+
70
+ ## 🏗️ How It Works
71
+
72
+ \`wami\` uses an extensible plugin architecture to detect your project type:
73
+
74
+ 1. Searches for ecosystem marker files (package.json, pyproject.toml, etc.)
75
+ 2. Detects the package manager from lock files or configuration
76
+ 3. Parses available scripts/commands
77
+ 4. Presents an interactive TUI with keyboard navigation
78
+ 5. Remembers your commands with arguments for future use
79
+
80
+ ## 🔧 Development
81
+
82
+ \`\`\`bash
83
+ # Clone the repository
84
+ git clone https://github.com/caleb-mabry/wami.git
85
+ cd wami
86
+
87
+ # Install dependencies
88
+ bun install
89
+
90
+ # Run in development
91
+ bun run dev
92
+
93
+ # Build for production
94
+ bun run build
95
+
96
+ # Type check
97
+ bun run typecheck
98
+ \`\`\`
99
+
100
+ ## 🤝 Contributing
101
+
102
+ Contributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details.
103
+
104
+ ### Adding New Ecosystem Support
105
+
106
+ 1. Create a new detector class extending \`EcosystemDetector\`
107
+ 2. Implement \`detect()\`, \`parse()\`, and \`buildCommand()\` methods
108
+ 3. Register it in \`src/core/registry.ts\`
109
+
110
+ See \`src/core/nodejs-detector.ts\` or \`src/core/python-detector.ts\` for examples.
111
+
112
+ ## 📄 License
113
+
114
+ MIT © Caleb Mabry
115
+
116
+ ## 🙏 Acknowledgments
117
+
118
+ Built with:
119
+ - [Ink](https://github.com/vadimdemedes/ink) - React for interactive CLIs
120
+ - [Bun](https://bun.sh) - Fast all-in-one JavaScript runtime
121
+
122
+ ---
123
+
124
+ **Never forget your commands again.** 🎯