intershell 0.3.0 โ†’ 0.3.2

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/README.md CHANGED
@@ -1,292 +1,253 @@
1
- # ๐Ÿš€ InterShell - Next Generation CLI Framework
1
+ # ๐Ÿš€ InterShell - CLI Toolkit for Developer Workflow Automation
2
2
 
3
- > **Interactive CLI applications made simple with page-based navigation and state management**
3
+ > **Bun-first CLI toolkit for developer workflow automation in monorepos and monoliths**
4
4
 
5
- InterShell is a modern, type-safe CLI framework for building interactive command-line applications. It provides a clean separation between I/O handling and application logic through an event-driven architecture with page-based navigation.
5
+ InterShell is a modern, type-safe CLI toolkit built with Bun and TypeScript that automates common developer workflows in monorepos and monoliths. It provides commands for version management, commit validation, CI/CD integration, and development environment management.
6
6
 
7
7
  ## โœจ Features
8
8
 
9
- - **๐ŸŽฎ Page-Based Navigation** - Structure your CLI as pages with clean transitions
10
- - **๐Ÿ“Š State Management** - Redux-like state management with reducers and actions
11
- - **๐ŸŽจ Enhanced Colors** - Rich color support with RGB, HSL, and gradient effects
9
+ - **๐Ÿ“ฆ Version Management** - Automate semantic versioning with changelog generation
10
+ - **โœ… Commit Validation** - Enforce conventional commit standards with branch validation
11
+ - **๐Ÿ”„ CI/CD Integration** - GitHub Actions integration for affected packages and service ports
12
+ - **๐Ÿณ Docker Compose Support** - Manage development environments and service health checks
13
+ - **๐Ÿ“Š Package Management** - Analyze dependencies and affected packages in monorepos
14
+ - **๐Ÿท๏ธ Git Operations** - Tag management, branch validation, and commit parsing
12
15
  - **๐Ÿ”ง Type Safety** - Full TypeScript support with strict type checking
13
- - **โšก Event-Driven** - Clean event system for better testability and extensibility
14
- - **๐ŸŽฏ Zero Dependencies** - Built from the ground up for Bun with no external deps
15
- - **๐Ÿงช Testable** - Clean architecture makes testing individual components easy
16
+ - **โšก Bun-First** - Built for Bun runtime with zero Node.js dependencies
16
17
 
17
- ## ๐Ÿ“ฆ Packages
18
+ ## ๐Ÿ“ฆ Installation
18
19
 
19
- InterShell is organized as a monorepo with multiple packages:
20
-
21
- ### `../core`
22
- Foundation utilities and types for the InterShell framework:
23
- - Enhanced colorify system with RGB, HSL, and gradient support
24
- - WrapShell script creation framework with type-safe argument parsing
25
- - CLI utility functions for common operations
26
- - Comprehensive type definitions
27
-
28
- ### `@intershell/interactive`
29
- Interactive CLI framework with page-based navigation:
30
- - Main InterShell framework orchestrator
31
- - Event-based InteractiveCLI implementation
32
- - Page system with builders and common page types
33
- - State management with reducers and actions
20
+ ```bash
21
+ # Using Bun
22
+ bun add -g intershell
34
23
 
35
- <svg aria-roledescription="flowchart-v2" role="graphics-document document" viewBox="-8 -8 878.8938598632812 301" style="max-width: 878.8938598632812px;" xmlns="http://www.w3.org/2000/svg" width="100%" id="mermaid-svg-1755831685709-tfz8nz33o"><style>#mermaid-svg-1755831685709-tfz8nz33o{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#cccccc;}#mermaid-svg-1755831685709-tfz8nz33o .error-icon{fill:#5a1d1d;}#mermaid-svg-1755831685709-tfz8nz33o .error-text{fill:#f48771;stroke:#f48771;}#mermaid-svg-1755831685709-tfz8nz33o .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-1755831685709-tfz8nz33o .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-1755831685709-tfz8nz33o .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-1755831685709-tfz8nz33o .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-1755831685709-tfz8nz33o .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-1755831685709-tfz8nz33o .marker{fill:#cccccc;stroke:#cccccc;}#mermaid-svg-1755831685709-tfz8nz33o .marker.cross{stroke:#cccccc;}#mermaid-svg-1755831685709-tfz8nz33o svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-1755831685709-tfz8nz33o .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#cccccc;}#mermaid-svg-1755831685709-tfz8nz33o .cluster-label text{fill:#e7e7e7;}#mermaid-svg-1755831685709-tfz8nz33o .cluster-label span,#mermaid-svg-1755831685709-tfz8nz33o p{color:#e7e7e7;}#mermaid-svg-1755831685709-tfz8nz33o .label text,#mermaid-svg-1755831685709-tfz8nz33o span,#mermaid-svg-1755831685709-tfz8nz33o p{fill:#cccccc;color:#cccccc;}#mermaid-svg-1755831685709-tfz8nz33o .node rect,#mermaid-svg-1755831685709-tfz8nz33o .node circle,#mermaid-svg-1755831685709-tfz8nz33o .node ellipse,#mermaid-svg-1755831685709-tfz8nz33o .node polygon,#mermaid-svg-1755831685709-tfz8nz33o .node path{fill:#1e1e1e;stroke:#6b6b6b;stroke-width:1px;}#mermaid-svg-1755831685709-tfz8nz33o .flowchart-label text{text-anchor:middle;}#mermaid-svg-1755831685709-tfz8nz33o .node .label{text-align:center;}#mermaid-svg-1755831685709-tfz8nz33o .node.clickable{cursor:pointer;}#mermaid-svg-1755831685709-tfz8nz33o .arrowheadPath{fill:#e1e1e1;}#mermaid-svg-1755831685709-tfz8nz33o .edgePath .path{stroke:#cccccc;stroke-width:2.0px;}#mermaid-svg-1755831685709-tfz8nz33o .flowchart-link{stroke:#cccccc;fill:none;}#mermaid-svg-1755831685709-tfz8nz33o .edgeLabel{background-color:#1e1e1e99;text-align:center;}#mermaid-svg-1755831685709-tfz8nz33o .edgeLabel rect{opacity:0.5;background-color:#1e1e1e99;fill:#1e1e1e99;}#mermaid-svg-1755831685709-tfz8nz33o .labelBkg{background-color:rgba(30, 30, 30, 0.5);}#mermaid-svg-1755831685709-tfz8nz33o .cluster rect{fill:#3a3d41;stroke:#303031;stroke-width:1px;}#mermaid-svg-1755831685709-tfz8nz33o .cluster text{fill:#e7e7e7;}#mermaid-svg-1755831685709-tfz8nz33o .cluster span,#mermaid-svg-1755831685709-tfz8nz33o p{color:#e7e7e7;}#mermaid-svg-1755831685709-tfz8nz33o div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:#4d4d4d;border:1px solid #007fd4;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-1755831685709-tfz8nz33o .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#cccccc;}#mermaid-svg-1755831685709-tfz8nz33o :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="6" viewBox="0 0 10 10" class="marker flowchart" id="mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 0 L 10 5 L 0 10 z"/></marker><marker orient="auto" markerHeight="12" markerWidth="12" markerUnits="userSpaceOnUse" refY="5" refX="4.5" viewBox="0 0 10 10" class="marker flowchart" id="mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointStart"><path style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 0 5 L 10 10 L 10 0 z"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="11" viewBox="0 0 10 10" class="marker flowchart" id="mermaid-svg-1755831685709-tfz8nz33o_flowchart-circleEnd"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5" refX="-1" viewBox="0 0 10 10" class="marker flowchart" id="mermaid-svg-1755831685709-tfz8nz33o_flowchart-circleStart"><circle style="stroke-width: 1; stroke-dasharray: 1, 0;" class="arrowMarkerPath" r="5" cy="5" cx="5"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="12" viewBox="0 0 11 11" class="marker cross flowchart" id="mermaid-svg-1755831685709-tfz8nz33o_flowchart-crossEnd"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><marker orient="auto" markerHeight="11" markerWidth="11" markerUnits="userSpaceOnUse" refY="5.2" refX="-1" viewBox="0 0 11 11" class="marker cross flowchart" id="mermaid-svg-1755831685709-tfz8nz33o_flowchart-crossStart"><path style="stroke-width: 2; stroke-dasharray: 1, 0;" class="arrowMarkerPath" d="M 1,1 l 9,9 M 10,1 l -9,9"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-A LE-A1" id="L-A-A1-0" d="M81.61,33.75L75.187,37.917C68.764,42.083,55.919,50.417,49.496,57.867C43.073,65.317,43.073,71.883,43.073,75.167L43.073,78.45"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-A LE-A2" id="L-A-A2-0" d="M133.634,33.75L140.057,37.917C146.48,42.083,159.326,50.417,165.748,57.867C172.171,65.317,172.171,71.883,172.171,75.167L172.171,78.45"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-A LE-A3" id="L-A-A3-0" d="M162.951,28.354L187.369,33.42C211.787,38.486,260.623,48.618,285.041,56.967C309.46,65.317,309.46,71.883,309.46,75.167L309.46,78.45"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-B LE-C" id="L-B-C-0" d="M410.723,109.288L382.431,114.823C354.14,120.359,297.556,131.429,269.265,140.248C240.973,149.067,240.973,155.633,240.973,158.917L240.973,162.2"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-B LE-D" id="L-B-D-0" d="M410.723,113.526L394.15,118.355C377.577,123.184,344.431,132.842,327.859,144.65C311.286,156.458,311.286,170.417,311.286,184.375C311.286,198.333,311.286,212.292,340.776,224.84C370.266,237.388,429.246,248.525,458.736,254.094L488.226,259.663"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-B LE-E" id="L-B-E-0" d="M499.277,109.451L526.911,114.959C554.544,120.467,609.811,131.484,644.53,141.463C679.249,151.442,693.42,160.384,700.506,164.854L707.591,169.325"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-C LE-F" id="L-C-F-0" d="M215.54,201.25L209.26,205.417C202.981,209.583,190.421,217.917,184.141,225.367C177.861,232.817,177.861,239.383,177.861,242.667L177.861,245.95"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-C LE-D" id="L-C-D-0" d="M240.973,201.25L240.973,205.417C240.973,209.583,240.973,217.917,282.176,227.991C323.378,238.065,405.783,249.88,446.985,255.787L488.188,261.694"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-H LE-D" id="L-H-D-0" d="M402.767,201.25L402.767,205.417C402.767,209.583,402.767,217.917,417.037,226.67C431.307,235.424,459.848,244.598,474.118,249.185L488.389,253.772"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-I LE-J" id="L-I-J-0" d="M790.327,33.75L782.179,37.917C774.032,42.083,757.737,50.417,749.589,57.867C741.442,65.317,741.442,71.883,741.442,75.167L741.442,78.45"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-I LE-D" id="L-I-D-0" d="M819.926,33.75L819.087,37.917C818.248,42.083,816.57,50.417,815.731,61.563C814.893,72.708,814.893,86.667,814.893,100.625C814.893,114.583,814.893,128.542,814.893,142.5C814.893,156.458,814.893,170.417,814.893,184.375C814.893,198.333,814.893,212.292,775.392,225.139C735.891,237.987,656.89,249.725,617.39,255.593L577.889,261.462"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-J LE-E" id="L-J-E-0" d="M741.442,117.5L741.442,121.667C741.442,125.833,741.442,134.167,740.652,141.641C739.862,149.115,738.283,155.73,737.493,159.037L736.703,162.345"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-K LE-D" id="L-K-D-0" d="M528.617,201.25L528.617,205.417C528.617,209.583,528.617,217.917,528.964,225.372C529.311,232.826,530.006,239.403,530.353,242.691L530.701,245.979"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-L LE-D" id="L-L-D-0" d="M630.029,201.25L630.029,205.417C630.029,209.583,630.029,217.917,621.19,225.9C612.35,233.883,594.671,241.516,585.831,245.333L576.991,249.149"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-E LE-D" id="L-E-D-0" d="M731.442,201.25L731.442,205.417C731.442,209.583,731.442,217.917,705.84,227.487C680.239,237.057,629.035,247.864,603.434,253.268L577.832,258.671"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-C LE-D" id="L-C-D-1" d="M255.141,201.25L258.639,205.417C262.137,209.583,269.133,217.917,307.977,227.844C346.821,237.772,417.512,249.295,452.858,255.056L488.203,260.817"/><path marker-end="url(#mermaid-svg-1755831685709-tfz8nz33o_flowchart-pointEnd)" style="fill:none;" class="edge-thickness-normal edge-pattern-solid flowchart-link LS-I LE-D" id="L-I-D-1" d="M827.986,33.75L829.137,37.917C830.288,42.083,832.59,50.417,833.741,61.563C834.893,72.708,834.893,86.667,834.893,100.625C834.893,114.583,834.893,128.542,834.893,142.5C834.893,156.458,834.893,170.417,834.893,184.375C834.893,198.333,834.893,212.292,792.06,225.213C749.227,238.134,663.562,250.018,620.729,255.96L577.896,261.902"/></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(107.62206649780273, 16.875)" id="flowchart-A-1059" class="node default default flowchart-label"><rect height="33.75" width="110.65754699707031" y="-16.875" x="-55.328773498535156" ry="0" rx="0" style="fill:#fff3e0;" class="basic label-container"/><g transform="translate(-47.828773498535156, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="95.65754699707031"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Core Package</span></div></foreignObject></g></g><g transform="translate(43.072914123535156, 100.625)" id="flowchart-A1-1060" class="node default default flowchart-label"><rect height="33.75" width="86.14582824707031" y="-16.875" x="-43.072914123535156" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-35.572914123535156, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="71.14582824707031"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">colorify.ts</span></div></foreignObject></g></g><g transform="translate(172.1712188720703, 100.625)" id="flowchart-A2-1062" class="node default default flowchart-label"><rect height="33.75" width="72.05078125" y="-16.875" x="-36.025390625" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-28.525390625, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="57.05078125"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">types.ts</span></div></foreignObject></g></g><g transform="translate(309.4596290588379, 100.625)" id="flowchart-A3-1064" class="node default default flowchart-label"><rect height="33.75" width="102.52603912353516" y="-16.875" x="-51.26301956176758" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-43.76301956176758, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="87.52603912353516"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">wrapshell.ts</span></div></foreignObject></g></g><g transform="translate(454.99999237060547, 100.625)" id="flowchart-B-1065" class="node default default flowchart-label"><rect height="33.75" width="88.5546875" y="-16.875" x="-44.27734375" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-36.77734375, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="73.5546875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Changelog</span></div></foreignObject></g></g><g transform="translate(240.97330474853516, 184.375)" id="flowchart-C-1066" class="node default default flowchart-label"><rect height="33.75" width="70.625" y="-16.875" x="-35.3125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-27.8125, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="55.625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Commit</span></div></foreignObject></g></g><g transform="translate(533.0403575897217, 268.125)" id="flowchart-D-1068" class="node default default flowchart-label"><rect height="33.75" width="79.21223449707031" y="-16.875" x="-39.606117248535156" ry="0" rx="0" style="fill:#e1f5fe;" class="basic label-container"/><g transform="translate(-32.106117248535156, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="64.21223449707031"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Packages</span></div></foreignObject></g></g><g transform="translate(731.4420433044434, 184.375)" id="flowchart-E-1070" class="node default default flowchart-label"><rect height="33.75" width="38.73697853088379" y="-16.875" x="-19.368489265441895" ry="0" rx="0" style="fill:#f3e5f5;" class="basic label-container"/><g transform="translate(-11.868489265441895, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="23.73697853088379"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Tag</span></div></foreignObject></g></g><g transform="translate(177.86132717132568, 268.125)" id="flowchart-F-1072" class="node default default flowchart-label"><rect height="33.75" width="33.23567581176758" y="-16.875" x="-16.61783790588379" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-9.117837905883789, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="18.235675811767578"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">PR</span></div></foreignObject></g></g><g transform="translate(402.7669219970703, 184.375)" id="flowchart-H-1075" class="node default default flowchart-label"><rect height="33.75" width="112.96223449707031" y="-16.875" x="-56.481117248535156" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-48.981117248535156, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="97.96223449707031"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Commit Rules</span></div></foreignObject></g></g><g transform="translate(823.3235530853271, 16.875)" id="flowchart-I-1077" class="node default default flowchart-label"><rect height="33.75" width="79.140625" y="-16.875" x="-39.5703125" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-32.0703125, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="64.140625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Compose</span></div></foreignObject></g></g><g transform="translate(741.4420433044434, 100.625)" id="flowchart-J-1078" class="node default default flowchart-label"><rect height="33.75" width="76.90103912353516" y="-16.875" x="-38.45051956176758" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-30.950519561767578, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="61.901039123535156"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Affected</span></div></foreignObject></g></g><g transform="translate(528.616527557373, 184.375)" id="flowchart-K-1083" class="node default default flowchart-label"><rect height="33.75" width="38.73697853088379" y="-16.875" x="-19.368489265441895" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-11.868489265441895, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="23.73697853088379"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Tag</span></div></foreignObject></g></g><g transform="translate(630.0292854309082, 184.375)" id="flowchart-L-1085" class="node default default flowchart-label"><rect height="33.75" width="64.08853912353516" y="-16.875" x="-32.04426956176758" ry="0" rx="0" style="" class="basic label-container"/><g transform="translate(-24.544269561767578, -9.375)" style="" class="label"><rect/><foreignObject height="18.75" width="49.088539123535156"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Branch</span></div></foreignObject></g></g></g></g></g></svg>
24
+ # Using npm
25
+ npm install -g intershell
26
+ ```
36
27
 
37
28
  ## ๐Ÿš€ Quick Start
38
29
 
39
- ### Installation
30
+ ### Version Management
31
+
32
+ Prepare and apply version changes with automatic changelog generation:
40
33
 
41
34
  ```bash
42
- # Install the packages you need
43
- bun add ../core @intershell/interactive
35
+ # Prepare version bump (creates changelog, updates package.json)
36
+ intershell version:prepare
37
+
38
+ # Apply version changes (commits and tags)
39
+ intershell version:apply
44
40
 
45
- # Or with npm
46
- npm install ../core @intershell/interactive
41
+ # CI-friendly version preparation
42
+ intershell version:ci
47
43
  ```
48
44
 
49
- ### Basic Example
45
+ ### Commit Validation
50
46
 
51
- ```typescript
52
- import { InterShellFramework, PageBuilder } from '@intershell/interactive';
53
- import { colorify } from '../core';
47
+ Validate commits follow conventional commit standards:
54
48
 
55
- // Define your application state
56
- interface AppState {
57
- name: string;
58
- confirmed: boolean;
59
- }
49
+ ```bash
50
+ # Check if commit message is valid
51
+ intershell commit-check
60
52
 
61
- // Create pages with the PageBuilder
62
- const pages = [
63
- PageBuilder.create<AppState>('input', 'Enter Name')
64
- .render(async (cli, state) => {
65
- cli.clearScreen();
66
- console.log(colorify.bold('๐Ÿ‘ค What is your name?'));
67
-
68
- const name = await cli.prompt('Name:', {
69
- clearScreen: false,
70
- allowEmpty: false,
71
- });
72
-
73
- // Update state directly (or use actions/reducers for complex apps)
74
- state.name = name;
75
- })
76
- .handleKey(() => null)
77
- .getNextAction((state) => ({ type: 'NEXT_PAGE' }))
78
- .build(),
79
-
80
- PageBuilder.create<AppState>('confirm', 'Confirm')
81
- .render(async (cli, state) => {
82
- cli.clearScreen();
83
- console.log(colorify.bold('โœ… Confirmation'));
84
-
85
- const confirmed = await cli.confirm(`Hello ${state.name}, continue?`);
86
- state.confirmed = confirmed;
87
- })
88
- .handleKey(() => null)
89
- .getNextAction((state) =>
90
- state.confirmed ? { type: 'EXIT' } : { type: 'PREV_PAGE' }
91
- )
92
- .build(),
93
- ];
94
-
95
- // Create and run the framework
96
- const framework = new InterShellFramework(
97
- { name: '', confirmed: false }, // Initial state
98
- pages,
99
- {} // Reducers (empty for simple state updates)
100
- );
101
-
102
- const finalState = await framework.run();
103
- console.log('Final state:', finalState);
53
+ # Interactive commit with validation
54
+ intershell commit "feat(package): add new feature"
104
55
  ```
105
56
 
106
- ## ๐ŸŽฏ Core Concepts
57
+ ### CI/CD Integration
107
58
 
108
- ### Pages
109
- Pages are the building blocks of your CLI application. Each page handles a specific part of your workflow:
59
+ Integrate with GitHub Actions for affected package detection:
110
60
 
111
- ```typescript
112
- const page = PageBuilder.create<State>('page-id', 'Page Title')
113
- .description('What this page does')
114
- .render(async (cli, state) => {
115
- // Render the page content
116
- // Use cli.prompt(), cli.select(), cli.confirm() for user input
117
- })
118
- .handleKey((key, state) => {
119
- // Handle raw key presses (optional)
120
- return null; // or return an action
121
- })
122
- .getNextAction((state) => {
123
- // Determine what happens next
124
- return { type: 'NEXT_PAGE' }; // or other actions
125
- })
126
- .build();
127
- ```
61
+ ```bash
62
+ # Attach affected packages to GitHub Actions output
63
+ intershell ci:attach-affected -o affected-services -m turbo
128
64
 
129
- ### State Management
130
- For complex applications, use actions and reducers:
65
+ # Attach Docker service ports for affected services
66
+ intershell ci:attach-service-ports -o service-ports
131
67
 
132
- ```typescript
133
- type Action =
134
- | { type: 'SET_NAME'; payload: string }
135
- | { type: 'SET_AGE'; payload: number };
136
-
137
- const reducers = {
138
- SET_NAME: (state: State, action: Action): State => ({
139
- ...state,
140
- name: (action as any).payload,
141
- }),
142
- SET_AGE: (state: State, action: Action): State => ({
143
- ...state,
144
- age: (action as any).payload,
145
- }),
146
- };
147
-
148
- // In your page render function:
149
- return { type: 'SET_NAME', payload: name };
68
+ # Run GitHub Actions locally
69
+ intershell ci:act --event pull_request --workflow .github/workflows/Check.yml
150
70
  ```
151
71
 
152
- ### Navigation Actions
153
- Control page flow with navigation actions:
154
-
155
- - `{ type: 'NEXT_PAGE' }` - Go to the next page
156
- - `{ type: 'PREV_PAGE' }` - Go to the previous page
157
- - `{ type: 'CHANGE_PAGE'; payload: 'page-id' }` - Go to a specific page
158
- - `{ type: 'RE_RENDER' }` - Re-render the current page
159
- - `{ type: 'EXIT' }` - Exit the application
160
- - `{ type: 'CUSTOM'; payload: action }` - Dispatch a custom action
72
+ ### Development Environment
161
73
 
162
- ## ๐ŸŽจ Enhanced Colors
74
+ Manage development containers and services:
163
75
 
164
- InterShell includes a powerful color system:
165
-
166
- ```typescript
167
- import { colorify } from '../core';
168
-
169
- // Basic colors
170
- console.log(colorify.red('Error message'));
171
- console.log(colorify.green('Success message'));
172
- console.log(colorify.blue('Info message'));
173
-
174
- // Styles
175
- console.log(colorify.bold('Bold text'));
176
- console.log(colorify.italic('Italic text'));
177
- console.log(colorify.underline('Underlined text'));
178
-
179
- // Advanced colors
180
- console.log(colorify.rgb(255, 128, 0)('Custom RGB color'));
181
- console.log(colorify.hex('#ff8000')('Hex color'));
182
- console.log(colorify.hsl(30, 1, 0.5)('HSL color'));
183
-
184
- // Effects
185
- console.log(colorify.gradient(['#ff0000', '#00ff00', '#0000ff'])('Gradient text'));
186
- console.log(colorify.rainbow('Rainbow text'));
187
- ```
76
+ ```bash
77
+ # Check DevContainer service health
78
+ intershell dev:check
188
79
 
189
- ## ๐Ÿ”ง Script Creation
80
+ # Setup development environment
81
+ intershell dev:setup
190
82
 
191
- Create type-safe CLI scripts with WrapShell:
83
+ # Cleanup development resources
84
+ intershell dev:cleanup
192
85
 
193
- ```typescript
194
- import { WrapShell, validators } from '../core';
195
-
196
- const script = WrapShell.createScript({
197
- name: 'My CLI Tool',
198
- description: 'A sample CLI application',
199
- usage: 'my-tool [options]',
200
- examples: ['my-tool --name John --age 25'],
201
- options: [
202
- {
203
- short: '-n',
204
- long: '--name',
205
- description: 'Your name',
206
- required: true,
207
- validator: validators.nonEmpty,
208
- },
209
- {
210
- short: '-a',
211
- long: '--age',
212
- description: 'Your age',
213
- required: false,
214
- defaultValue: '0',
215
- validator: validators.integer,
216
- }
217
- ]
218
- }, async (args, console) => {
219
- console.log(`Hello, ${args.name}! You are ${args.age} years old.`);
220
- });
221
-
222
- await script.run();
86
+ # Remove development containers
87
+ intershell dev:rm
223
88
  ```
224
89
 
225
- ## ๐Ÿงช Testing
90
+ ### Local Development
226
91
 
227
- InterShell's architecture makes testing easy:
92
+ Manage local development setup:
228
93
 
229
- ```typescript
230
- import { PageBuilder } from '@intershell/interactive';
231
- import { describe, it, expect } from 'vitest';
232
-
233
- describe('My Page', () => {
234
- it('should update state correctly', () => {
235
- const page = PageBuilder.create('test', 'Test Page')
236
- .render(async (cli, state) => {
237
- state.value = 'updated';
238
- })
239
- .handleKey(() => null)
240
- .getNextAction(() => ({ type: 'NEXT_PAGE' }))
241
- .build();
242
-
243
- const state = { value: 'initial' };
244
- const mockCli = createMockCLI();
245
-
246
- await page.render(mockCli, state);
247
- expect(state.value).toBe('updated');
248
- });
249
- });
250
- ```
94
+ ```bash
95
+ # Setup local development environment
96
+ intershell local:setup
251
97
 
252
- ## ๐Ÿš€ Examples
98
+ # Generate VS Code workspace configuration
99
+ intershell local:vscode
253
100
 
254
- Check out the examples in the `examples/` directory:
101
+ # Cleanup local development resources
102
+ intershell local:cleanup
103
+ ```
255
104
 
256
- - **Simple Demo** - Basic page navigation and state management
257
- - **Complex Form** - Multi-step form with validation
258
- - **File Manager** - Interactive file browser
259
- - **Git Helper** - Interactive git workflow tool
105
+ ## ๐Ÿ“š Available Commands
106
+
107
+ ### Version Commands
108
+ - `version:prepare` - Prepare version bump with changelog generation
109
+ - `version:apply` - Apply version changes (commit and tag)
110
+ - `version:ci` - CI-friendly version preparation
111
+
112
+ ### Commit Commands
113
+ - `commit` - Execute git commit with message
114
+ - `commit-check` - Validate commit message format
115
+
116
+ ### CI Commands
117
+ - `ci:act` - Run GitHub Actions workflows locally
118
+ - `ci:attach-affected` - Attach affected packages to GitHub Actions output
119
+ - `ci:attach-service-ports` - Attach service ports for affected Docker services
120
+
121
+ ### Dev Commands
122
+ - `dev:check` - Check DevContainer service health
123
+ - `dev:setup` - Setup development environment
124
+ - `dev:cleanup` - Cleanup development resources
125
+ - `dev:rm` - Remove development containers
126
+
127
+ ### Local Commands
128
+ - `local:setup` - Setup local development environment
129
+ - `local:vscode` - Generate VS Code workspace configuration
130
+ - `local:cleanup` - Cleanup local development resources
131
+
132
+ ## ๐Ÿ”ง Core Concepts
133
+
134
+ ### Entity System
135
+
136
+ InterShell uses an entity-driven architecture for monorepo operations:
137
+
138
+ - **EntityAffected** - Detect affected packages for CI/CD optimization
139
+ - **EntityBranch** - Git branch validation and operations
140
+ - **EntityCommit** - Commit parsing and validation (Conventional Commits)
141
+ - **EntityCompose** - Docker Compose parsing and service management
142
+ - **EntityPackage** - Package management and operations
143
+ - **EntityPackageVersion** - Version calculation and management
144
+ - **EntityPackageChangelog** - Changelog generation
145
+ - **EntityTag** - Git tag operations and management
146
+
147
+ ### Configuration
148
+
149
+ InterShell can be configured via `intershell.config.json` in your project root:
150
+
151
+ ```json
152
+ {
153
+ "branch": {
154
+ "prefixes": ["feat", "fix", "chore"],
155
+ "minLength": 3,
156
+ "maxLength": 50
157
+ },
158
+ "commit": {
159
+ "types": ["feat", "fix", "docs", "style", "refactor", "test", "chore"],
160
+ "scopes": ["package-name"]
161
+ }
162
+ }
163
+ ```
260
164
 
261
165
  ## ๐Ÿ—๏ธ Architecture
262
166
 
263
- InterShell follows a clean architecture with clear separation of concerns:
264
-
265
167
  ```
266
168
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
267
- โ”‚ CLI Application โ”‚
268
- โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
269
- โ”‚ InterShell Framework โ”‚
169
+ โ”‚ CLI Commands โ”‚
170
+ โ”‚ (oclif-based) โ”‚
270
171
  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
271
- โ”‚ Page System โ”‚
272
- โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
273
- โ”‚ Interactive CLI โ”‚
172
+ โ”‚ Entity System โ”‚
173
+ โ”‚ (Business Logic) โ”‚
274
174
  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
275
175
  โ”‚ Core Utilities โ”‚
176
+ โ”‚ (colorify, etc) โ”‚
276
177
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
277
178
  ```
278
179
 
279
180
  ### Key Principles
280
181
 
281
- 1. **Event-Driven** - Clean event system for extensibility
282
- 2. **Immutable State** - Predictable state management
283
- 3. **Composable Pages** - Mix and match pages for different workflows
284
- 4. **Type Safety** - Full TypeScript support throughout
285
- 5. **Testability** - Easy to test individual components
182
+ 1. **Entity-Driven** - Business logic encapsulated in reusable entities
183
+ 2. **Type-Safe** - Full TypeScript support with strict typing
184
+ 3. **Bun-First** - Optimized for Bun runtime
185
+ 4. **Monorepo-Aware** - Built for Turborepo and monorepo workflows
186
+ 5. **CI/CD Ready** - GitHub Actions integration out of the box
187
+
188
+ ## ๐Ÿ“– Usage Examples
189
+
190
+ ### Version Bump Workflow
191
+
192
+ ```bash
193
+ # 1. Prepare version (updates package.json and generates changelog)
194
+ intershell version:prepare
195
+
196
+ # 2. Review changes
197
+ git diff
198
+
199
+ # 3. Apply version (commits and creates tag)
200
+ intershell version:apply
201
+ ```
202
+
203
+ ### Conventional Commits
204
+
205
+ InterShell enforces Conventional Commits standard:
206
+
207
+ ```bash
208
+ # Valid commit formats
209
+ intershell commit "feat(package): add new feature"
210
+ intershell commit "fix: resolve bug"
211
+ intershell commit "chore(deps): update dependencies"
212
+
213
+ # Invalid formats are rejected
214
+ intershell commit "my commit message" # โŒ Invalid
215
+ ```
286
216
 
287
- ## ๐Ÿค Contributing
217
+ ### CI/CD Pipeline
288
218
 
289
- We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
219
+ In your GitHub Actions workflow:
220
+
221
+ ```yaml
222
+ - name: Get affected packages
223
+ id: affected
224
+ run: intershell ci:attach-affected -o affected -m turbo
225
+
226
+ - name: Build affected packages
227
+ run: turbo build ${{ steps.affected.outputs.affected }}
228
+ ```
229
+
230
+ ## ๐Ÿ”Œ Exports
231
+
232
+ InterShell exports both the CLI and programmatic APIs:
233
+
234
+ ```typescript
235
+ // CLI usage
236
+ import { colorify } from "intershell/core";
237
+ import { EntityPackage, EntityCommit } from "intershell/entities";
238
+
239
+ // Use entities programmatically
240
+ const packages = await EntityPackage.getAllPackages();
241
+ const commit = EntityCommit.parseByMessage("feat: new feature");
242
+ ```
243
+
244
+ ## ๐Ÿค Requirements
245
+
246
+ - **Bun** >= 1.0.0
247
+ - **TypeScript** >= 5.9.3 (peer dependency)
248
+ - **Turbo** >= 2.5.8 (peer dependency, for monorepo support)
249
+ - **Biome** >= 2.1.2 (peer dependency, for code formatting)
250
+ - **Lefthook** >= 1.12.4 (peer dependency, for git hooks)
290
251
 
291
252
  ## ๐Ÿ“„ License
292
253
 
@@ -294,8 +255,4 @@ MIT License - see [LICENSE](LICENSE) for details.
294
255
 
295
256
  ## ๐Ÿ™ Acknowledgments
296
257
 
297
- InterShell is inspired by modern web frameworks and CLI tools, bringing the best patterns to interactive command-line applications.
298
-
299
- ---
300
-
301
- **Built with โค๏ธ by the Monobun team**
258
+ InterShell is built with Bun and designed for modern monorepo workflows.
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/commands/version/prepare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAiB7C,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAAgE;IAElF,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,KAAK;;;;;;;MA0BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAmH1B;;OAEG;YACW,kBAAkB;CAuChC"}
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/commands/version/prepare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAiB7C,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAAgE;IAElF,MAAM,CAAC,QAAQ,WAQb;IAEF,MAAM,CAAC,KAAK;;;;;;;MA0BV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAyH1B;;OAEG;YACW,kBAAkB;CAuChC"}
@@ -104,14 +104,19 @@ export default class VersionPrepare extends Command {
104
104
  this.log(`๐Ÿ“ฆ (${colorify.yellow(versionData.currentVersion)} => ${colorify.green(versionData.targetVersion)}) ${colorify.blue(packageName)}: ${versionData.bumpType} (${colorify.green(packageInstance.getChangelogPath())})`);
105
105
  await Bun.write(".git/COMMIT_EDITMSG", versionCommitMessage);
106
106
  this.log(`${colorify.green("๐Ÿ“ Commit message written in")} ${colorify.blue(".git/COMMIT_EDITMSG")}:`, `\n\t${versionCommitMessage.replace(/\n/g, "\n\t")}`);
107
- const services = await new EntityCompose("docker-compose.yml").getServices();
108
- const servicesToDeploy = services.filter((s) => s.name === packageName).map((s) => s.name);
109
- if (servicesToDeploy) {
110
- const servicesToDeployNames = servicesToDeploy.join(",");
111
- if (process.env.GITHUB_OUTPUT) {
112
- await fs.promises.appendFile(process.env.GITHUB_OUTPUT, `packages-to-deploy=${servicesToDeployNames}\n`);
107
+ try {
108
+ const services = await new EntityCompose("docker-compose.yml").getServices();
109
+ const servicesToDeploy = services.filter((s) => s.name === packageName).map((s) => s.name);
110
+ if (servicesToDeploy) {
111
+ const servicesToDeployNames = servicesToDeploy.join(",");
112
+ if (process.env.GITHUB_OUTPUT) {
113
+ await fs.promises.appendFile(process.env.GITHUB_OUTPUT, `packages-to-deploy=${servicesToDeployNames}\n`);
114
+ }
115
+ this.log(`\n๐Ÿš€ Packages to deploy: ${colorify.blue(servicesToDeployNames)}`);
113
116
  }
114
- this.log(`\n๐Ÿš€ Packages to deploy: ${colorify.blue(servicesToDeployNames)}`);
117
+ }
118
+ catch (error) {
119
+ this.log(colorify.yellow(`๐Ÿ“ฆ ${packageName}: ${colorify.yellow("No services found")}: ${error}`));
115
120
  }
116
121
  this.log("\n๐Ÿ“ Next steps:\n" +
117
122
  "1. Review the generated changelogs\n" +
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/commands/version/prepare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/commands/version/prepare.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/entities/compose/compose.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EAErB,WAAW,EAEX,sBAAsB,EACtB,aAAa,EACb,WAAW,EAEX,MAAM,iBAAiB,CAAC;AAUzB,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,WAAW,EAAE,MAAM;IAIzB,QAAQ,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA4B5C,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAMlC,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA2BrC,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAW5C,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAezD,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKjD,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAazC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiD1F,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;WAoCvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;WAWjD,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAkB/F"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/entities/compose/compose.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EAErB,WAAW,EAEX,sBAAsB,EACtB,aAAa,EACb,WAAW,EAEX,MAAM,iBAAiB,CAAC;AAUzB,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,WAAW,EAAE,MAAM;IAIzB,QAAQ,IAAI,OAAO,CAAC,uBAAuB,CAAC;IA4B5C,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAmBlC,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA2BrC,gBAAgB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAW5C,sBAAsB,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAezD,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKjD,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAazC,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAiD1F,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;WAoCvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;WAWjD,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAkB/F"}
@@ -32,9 +32,21 @@ export class EntityCompose {
32
32
  };
33
33
  }
34
34
  async getCompose() {
35
- this.compose =
36
- this.compose || EntityCompose.parseDockerCompose(await Bun.file(this.composePath).text());
37
- return this.compose;
35
+ if (await Bun.file(this.composePath).exists()) {
36
+ const compose = await Bun.file(this.composePath).text();
37
+ this.compose = this.compose || EntityCompose.parseDockerCompose(compose);
38
+ return this.compose;
39
+ }
40
+ return {
41
+ version: "3.8",
42
+ services: {},
43
+ networks: {},
44
+ volumes: {},
45
+ validation: {
46
+ isValid: true,
47
+ errors: [],
48
+ },
49
+ };
38
50
  }
39
51
  async getServices() {
40
52
  const compose = await this.getCompose();
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/entities/compose/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/entities/compose/compose.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,16 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "intershell",
4
- "version": "0.3.0",
4
+ "version": "0.3.2",
5
5
  "description": "Bunโ€‘first CLI toolkit for developer workflow automation in monorepos and monoliths.",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/movahedan/intershell.git"
9
+ },
10
+ "bugs": {
11
+ "url": "https://github.com/movahedan/intershell/issues"
12
+ },
13
+ "homepage": "https://github.com/movahedan/intershell#readme",
6
14
  "packageManager": "bun@1.3.1",
7
15
  "engines": {
8
16
  "bun": ">=1.0.0"
@@ -151,17 +151,23 @@ export default class VersionPrepare extends Command {
151
151
  `\n\t${versionCommitMessage.replace(/\n/g, "\n\t")}`,
152
152
  );
153
153
 
154
- const services = await new EntityCompose("docker-compose.yml").getServices();
155
- const servicesToDeploy = services.filter((s) => s.name === packageName).map((s) => s.name);
156
- if (servicesToDeploy) {
157
- const servicesToDeployNames = servicesToDeploy.join(",");
158
- if (process.env.GITHUB_OUTPUT) {
159
- await fs.promises.appendFile(
160
- process.env.GITHUB_OUTPUT,
161
- `packages-to-deploy=${servicesToDeployNames}\n`,
162
- );
154
+ try {
155
+ const services = await new EntityCompose("docker-compose.yml").getServices();
156
+ const servicesToDeploy = services.filter((s) => s.name === packageName).map((s) => s.name);
157
+ if (servicesToDeploy) {
158
+ const servicesToDeployNames = servicesToDeploy.join(",");
159
+ if (process.env.GITHUB_OUTPUT) {
160
+ await fs.promises.appendFile(
161
+ process.env.GITHUB_OUTPUT,
162
+ `packages-to-deploy=${servicesToDeployNames}\n`,
163
+ );
164
+ }
165
+ this.log(`\n๐Ÿš€ Packages to deploy: ${colorify.blue(servicesToDeployNames)}`);
163
166
  }
164
- this.log(`\n๐Ÿš€ Packages to deploy: ${colorify.blue(servicesToDeployNames)}`);
167
+ } catch (error) {
168
+ this.log(
169
+ colorify.yellow(`๐Ÿ“ฆ ${packageName}: ${colorify.yellow("No services found")}: ${error}`),
170
+ );
165
171
  }
166
172
 
167
173
  this.log(
@@ -58,9 +58,22 @@ export class EntityCompose {
58
58
  }
59
59
 
60
60
  async getCompose(): Promise<ComposeData> {
61
- this.compose =
62
- this.compose || EntityCompose.parseDockerCompose(await Bun.file(this.composePath).text());
63
- return this.compose;
61
+ if (await Bun.file(this.composePath).exists()) {
62
+ const compose = await Bun.file(this.composePath).text();
63
+ this.compose = this.compose || EntityCompose.parseDockerCompose(compose);
64
+ return this.compose;
65
+ }
66
+
67
+ return {
68
+ version: "3.8",
69
+ services: {},
70
+ networks: {},
71
+ volumes: {},
72
+ validation: {
73
+ isValid: true,
74
+ errors: [],
75
+ },
76
+ };
64
77
  }
65
78
 
66
79
  async getServices(): Promise<ServiceInfo[]> {