workon 1.0.0 → 1.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.
- package/.cursorindexingignore +3 -0
- package/.vscode/terminals.json +11 -0
- package/CHANGELOG.md +16 -0
- package/cli/index.js +29 -4
- package/cli/open.js +10 -0
- package/docs/ideas.md +49 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
<a name="1.1.0"></a>
|
|
6
|
+
# [1.1.0](https://github.com/israelroldan/workon/compare/v1.0.0...v1.1.0) (2025-08-06)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Update package.json format for npm publish ([6c5e9e0](https://github.com/israelroldan/workon/commit/6c5e9e0))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* Enhance CLI with new 'claude' command support ([70b3f96](https://github.com/israelroldan/workon/commit/70b3f96))
|
|
17
|
+
* Improve shell integration for workon command ([f5b6ff0](https://github.com/israelroldan/workon/commit/f5b6ff0))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
5
21
|
<a name="1.0.0-alpha.1"></a>
|
|
6
22
|
# [1.0.0-alpha.1](https://code.palu.io/israel/workon/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2017-06-26)
|
|
7
23
|
|
package/cli/index.js
CHANGED
|
@@ -83,15 +83,40 @@ class workon extends container {
|
|
|
83
83
|
|
|
84
84
|
outputShellInit () {
|
|
85
85
|
let me = this;
|
|
86
|
+
|
|
87
|
+
// Get list of available commands from switchit
|
|
88
|
+
let cmdNames = me.constructor.getAspects().commands.filter((c) => !!c).map((c) => c.name);
|
|
89
|
+
|
|
90
|
+
// Get list of available switches from switchit
|
|
91
|
+
let switches = me.constructor.getAspects().switches || [];
|
|
92
|
+
let switchFlags = [];
|
|
93
|
+
switches.forEach(sw => {
|
|
94
|
+
switchFlags.push('--' + sw.name);
|
|
95
|
+
if (sw.char) {
|
|
96
|
+
switchFlags.push('-' + sw.char);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
// Add built-in switchit flags (help and version are automatically added by switchit)
|
|
101
|
+
let builtinFlags = ['--help', '-h', '--version', '-v', 'help'];
|
|
102
|
+
|
|
103
|
+
// Combine all non-shell commands and flags, removing duplicates
|
|
104
|
+
let nonShellCommands = [...new Set(cmdNames.concat(switchFlags).concat(builtinFlags))];
|
|
105
|
+
let casePattern = nonShellCommands.join('|');
|
|
106
|
+
|
|
86
107
|
// Generate shell function that wraps workon calls
|
|
87
108
|
let shellFunction = `
|
|
88
109
|
# workon shell integration
|
|
89
110
|
workon() {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
111
|
+
# Commands that should NOT use shell mode
|
|
112
|
+
case "$1" in
|
|
113
|
+
${casePattern})
|
|
114
|
+
command workon "$@"
|
|
115
|
+
return $?
|
|
116
|
+
;;
|
|
117
|
+
esac
|
|
94
118
|
|
|
119
|
+
# Default behavior: use shell mode for project opening
|
|
95
120
|
local output
|
|
96
121
|
output=$(command workon --shell "$@" 2>&1)
|
|
97
122
|
local exit_code=$?
|
package/cli/open.js
CHANGED
|
@@ -125,6 +125,16 @@ class open extends command {
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
break;
|
|
128
|
+
case 'claude':
|
|
129
|
+
if (isShellMode) {
|
|
130
|
+
me.shellCommands.push(`claude &`);
|
|
131
|
+
} else {
|
|
132
|
+
spawn('claude', [], {
|
|
133
|
+
cwd: environment.project.path.path,
|
|
134
|
+
stdio: 'inherit'
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
128
138
|
}
|
|
129
139
|
}
|
|
130
140
|
if (`before${capitalEvt}` in scripts) {
|
package/docs/ideas.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Ideas for workon
|
|
2
|
+
|
|
3
|
+
This document contains ideas for future enhancements to the workon project.
|
|
4
|
+
|
|
5
|
+
## Interactive Project Management
|
|
6
|
+
|
|
7
|
+
### Project Configuration Editor
|
|
8
|
+
Create an interactive mode for editing project configurations through guided prompts instead of manual file editing.
|
|
9
|
+
|
|
10
|
+
**Features:**
|
|
11
|
+
- Interactive project creation wizard with step-by-step guidance
|
|
12
|
+
- Edit existing project properties (name, path, IDE, events) through prompts
|
|
13
|
+
- Validate project paths and IDE commands during configuration
|
|
14
|
+
- Preview configuration changes before saving
|
|
15
|
+
- Bulk operations for managing multiple projects
|
|
16
|
+
|
|
17
|
+
**Implementation considerations:**
|
|
18
|
+
- Extend existing inquirer-based interactive system
|
|
19
|
+
- Add new command like `workon config` or `workon manage --interactive`
|
|
20
|
+
- Provide different flows for:
|
|
21
|
+
- Creating new projects
|
|
22
|
+
- Editing existing projects
|
|
23
|
+
- Bulk project management
|
|
24
|
+
- Include validation for:
|
|
25
|
+
- Directory paths existence
|
|
26
|
+
- IDE command availability
|
|
27
|
+
- Event configuration correctness
|
|
28
|
+
|
|
29
|
+
**Benefits:**
|
|
30
|
+
- Lower barrier to entry for new users
|
|
31
|
+
- Reduced configuration errors through validation
|
|
32
|
+
- More discoverable project management features
|
|
33
|
+
- Better UX compared to manual JSON editing
|
|
34
|
+
|
|
35
|
+
## Enhanced Events
|
|
36
|
+
|
|
37
|
+
### Advanced claude Event Options
|
|
38
|
+
Extend the claude event with more configuration options:
|
|
39
|
+
```json
|
|
40
|
+
"claude": {
|
|
41
|
+
"mode": "interactive",
|
|
42
|
+
"flags": ["--resume"],
|
|
43
|
+
"project_context": true
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Future Ideas
|
|
48
|
+
|
|
49
|
+
*Add more ideas here as they come up...*
|