···11+MIT License
22+33+Copyright (c) 2026 Mark Bennett
44+55+Permission is hereby granted, free of charge, to any person obtaining a copy
66+of this software and associated documentation files (the "Software"), to deal
77+in the Software without restriction, including without limitation the rights
88+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
99+copies of the Software, and to permit persons to whom the Software is
1010+furnished to do so, subject to the following conditions:
1111+1212+The above copyright notice and this permission notice shall be included in all
1313+copies or substantial portions of the Software.
1414+1515+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1616+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1717+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1818+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2121+SOFTWARE.
+69
README.md
···177177## 10. Task Management
178178179179We're bootstrapping task tracking with TODO.md, but will migrate all tasks into Tangled issues and dog food the product as soon as we have basic issue creation and listing working.
180180+181181+## 11. Development
182182+183183+### Prerequisites
184184+185185+- Node.js 22.0.0 or higher (latest LTS)
186186+- npm (comes with Node.js)
187187+188188+### Installation
189189+190190+Clone the repository and install dependencies:
191191+192192+```bash
193193+npm install
194194+```
195195+196196+### Available Scripts
197197+198198+- `npm run dev` - Run the CLI in development mode (with hot reload via tsx)
199199+- `npm run build` - Build TypeScript to JavaScript (output to `dist/`)
200200+- `npm test` - Run tests once
201201+- `npm run test:watch` - Run tests in watch mode
202202+- `npm run test:coverage` - Run tests with coverage report
203203+- `npm run lint` - Check code with Biome linter
204204+- `npm run lint:fix` - Auto-fix linting issues
205205+- `npm run format` - Format code with Biome
206206+- `npm run typecheck` - Type check without building
207207+208208+### Running Locally
209209+210210+```bash
211211+# Run the CLI in development mode
212212+npm run dev -- --version
213213+npm run dev -- --help
214214+215215+# Build and run the production version
216216+npm run build
217217+node dist/index.js --version
218218+219219+# Install globally for local testing
220220+npm link
221221+tangled --version
222222+tangled --help
223223+npm unlink -g tangled-cli # Unlink when done
224224+```
225225+226226+### Project Structure
227227+228228+```
229229+tangled-cli/
230230+├── src/
231231+│ ├── index.ts # Main CLI entry point
232232+│ ├── commands/ # Command implementations
233233+│ ├── lib/ # Core business logic
234234+│ └── utils/ # Helper functions
235235+├── tests/ # Test files
236236+├── dist/ # Build output (gitignored)
237237+└── package.json # Package configuration
238238+```
239239+240240+### Technology Stack
241241+242242+- **TypeScript 5.7.2** - Latest stable with strict mode enabled
243243+- **Node.js 22+** - Latest LTS target
244244+- **ES2023** - Latest stable ECMAScript target
245245+- **Biome** - Fast linter and formatter (replaces ESLint + Prettier)
246246+- **Vitest** - Fast unit test framework
247247+- **Commander.js** - CLI framework
248248+- **tsx** - Fast TypeScript execution for development