@towles/tool 0.0.41 → 0.0.48
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 +67 -109
- package/package.json +51 -41
- package/src/commands/base.ts +3 -18
- package/src/commands/config.ts +9 -8
- package/src/commands/doctor.ts +4 -1
- package/src/commands/gh/branch-clean.ts +10 -4
- package/src/commands/gh/branch.ts +6 -3
- package/src/commands/gh/pr.ts +10 -3
- package/src/commands/graph-template.html +1214 -0
- package/src/commands/graph.test.ts +176 -0
- package/src/commands/graph.ts +970 -0
- package/src/commands/install.ts +8 -2
- package/src/commands/journal/daily-notes.ts +9 -5
- package/src/commands/journal/meeting.ts +12 -6
- package/src/commands/journal/note.ts +12 -6
- package/src/commands/ralph/plan/add.ts +75 -0
- package/src/commands/ralph/plan/done.ts +82 -0
- package/src/commands/ralph/{task → plan}/list.test.ts +5 -5
- package/src/commands/ralph/{task → plan}/list.ts +28 -39
- package/src/commands/ralph/plan/remove.ts +71 -0
- package/src/commands/ralph/run.test.ts +521 -0
- package/src/commands/ralph/run.ts +126 -189
- package/src/commands/ralph/show.ts +88 -0
- package/src/config/settings.ts +8 -27
- package/src/{commands/ralph/lib → lib/ralph}/execution.ts +4 -14
- package/src/lib/ralph/formatter.ts +238 -0
- package/src/{commands/ralph/lib → lib/ralph}/state.ts +17 -42
- package/src/utils/date-utils.test.ts +2 -1
- package/src/utils/date-utils.ts +2 -2
- package/LICENSE.md +0 -20
- package/src/commands/index.ts +0 -55
- package/src/commands/observe/graph.test.ts +0 -89
- package/src/commands/observe/graph.ts +0 -1640
- package/src/commands/observe/report.ts +0 -166
- package/src/commands/observe/session.ts +0 -385
- package/src/commands/observe/setup.ts +0 -180
- package/src/commands/observe/status.ts +0 -146
- package/src/commands/ralph/lib/formatter.ts +0 -298
- package/src/commands/ralph/lib/marker.ts +0 -108
- package/src/commands/ralph/marker/create.ts +0 -23
- package/src/commands/ralph/plan.ts +0 -73
- package/src/commands/ralph/progress.ts +0 -44
- package/src/commands/ralph/ralph.test.ts +0 -673
- package/src/commands/ralph/task/add.ts +0 -105
- package/src/commands/ralph/task/done.ts +0 -73
- package/src/commands/ralph/task/remove.ts +0 -62
- package/src/config/context.ts +0 -7
- package/src/constants.ts +0 -3
- package/src/utils/anthropic/types.ts +0 -158
- package/src/utils/exec.ts +0 -8
- package/src/utils/git/git.ts +0 -25
- /package/src/{commands → lib}/journal/utils.ts +0 -0
- /package/src/{commands/ralph/lib → lib/ralph}/index.ts +0 -0
package/README.md
CHANGED
|
@@ -1,142 +1,108 @@
|
|
|
1
1
|
# Towles Tool
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
CLI tool with autonomous task runner and quality-of-life commands for daily development.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Features
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
**
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
- **Ralph** - Autonomous task runner with session forking and context reuse
|
|
8
|
+
- **Observability** - Token usage visualization with interactive treemaps
|
|
9
|
+
- **Git workflows** - Branch creation, PR generation, and cleanup
|
|
10
|
+
- **Journaling** - Daily notes, meeting notes, and general notes
|
|
11
|
+
- **Claude Code plugins** - Personal plugin marketplace for Claude Code integration
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
15
|
-
###
|
|
16
|
-
|
|
17
|
-
Download the pre-built executable for your platform from [Releases](https://github.com/ChrisTowles/towles-tool/releases), or build from source:
|
|
15
|
+
### Claude Code Plugin
|
|
18
16
|
|
|
19
17
|
```bash
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
cd towles-tool
|
|
23
|
-
bun install
|
|
24
|
-
bun run build
|
|
25
|
-
|
|
26
|
-
# The executable is at dist/tt
|
|
27
|
-
# Move it somewhere in your PATH
|
|
28
|
-
mv dist/tt ~/.local/bin/tt
|
|
18
|
+
claude plugin marketplace add ChrisTowles/towles-tool
|
|
19
|
+
claude plugin install tt@towles-tool
|
|
29
20
|
```
|
|
30
21
|
|
|
31
|
-
###
|
|
32
|
-
|
|
33
|
-
Install plugins from this marketplace:
|
|
22
|
+
### From Source
|
|
34
23
|
|
|
35
24
|
```bash
|
|
36
|
-
|
|
37
|
-
|
|
25
|
+
git clone https://github.com/ChrisTowles/towles-tool.git
|
|
26
|
+
cd towles-tool
|
|
27
|
+
pnpm install
|
|
28
|
+
pnpm start # Run directly with tsx
|
|
38
29
|
```
|
|
39
30
|
|
|
40
|
-
|
|
31
|
+
## CLI Commands
|
|
41
32
|
|
|
42
|
-
###
|
|
33
|
+
### Ralph (autonomous runner)
|
|
43
34
|
|
|
44
|
-
|
|
35
|
+
| Command | Description |
|
|
36
|
+
| --------------------------- | --------------------------------------------- |
|
|
37
|
+
| `tt ralph plan add <desc>` | Add task to plan |
|
|
38
|
+
| `tt ralph plan list` | View tasks |
|
|
39
|
+
| `tt ralph plan done <id>` | Mark task complete |
|
|
40
|
+
| `tt ralph plan remove <id>` | Remove task |
|
|
41
|
+
| `tt ralph run` | Run autonomous loop (auto-commits by default) |
|
|
42
|
+
| `tt ralph show` | Show plan with mermaid graph |
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
# Bash - add to ~/.bashrc
|
|
48
|
-
tt completion >> ~/.bashrc
|
|
44
|
+
### Observability
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
| Command | Description |
|
|
47
|
+
| ------------------------- | ------------------------------------- |
|
|
48
|
+
| `tt graph` | Generate HTML treemap of all sessions |
|
|
49
|
+
| `tt graph --session <id>` | Single session treemap |
|
|
50
|
+
| `tt graph --open` | Auto-open in browser |
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
tt completion > ~/.config/fish/completions/tt.fish
|
|
55
|
-
```
|
|
52
|
+
Treemap colors indicate input/output token ratio: green <2:1, yellow 2-5:1, red >5:1.
|
|
56
53
|
|
|
57
|
-
|
|
54
|
+
### Git
|
|
58
55
|
|
|
59
|
-
|
|
56
|
+
| Command | Alias | Description |
|
|
57
|
+
| -------------------- | ------- | ------------------------------- |
|
|
58
|
+
| `tt gh branch` | | Create branch from GitHub issue |
|
|
59
|
+
| `tt gh pr` | `tt pr` | Create pull request |
|
|
60
|
+
| `tt gh branch-clean` | | Delete merged branches |
|
|
60
61
|
|
|
61
|
-
|
|
62
|
-
# Clone the repository
|
|
63
|
-
git clone https://github.com/ChrisTowles/towles-tool.git
|
|
64
|
-
cd towles-tool
|
|
65
|
-
bun install
|
|
66
|
-
```
|
|
62
|
+
### Journaling
|
|
67
63
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
bun run build:all # Build for all platforms (Linux, macOS, Windows)
|
|
74
|
-
bun run test # Run tests
|
|
75
|
-
bun run lint # Run linter
|
|
76
|
-
bun run typecheck # Type check
|
|
77
|
-
```
|
|
64
|
+
| Command | Alias | Description |
|
|
65
|
+
| ------------------------ | ---------- | -------------------------------- |
|
|
66
|
+
| `tt journal daily-notes` | `tt today` | Weekly files with daily sections |
|
|
67
|
+
| `tt journal meeting` | `tt m` | Meeting notes |
|
|
68
|
+
| `tt journal note` | `tt n` | General notes |
|
|
78
69
|
|
|
79
|
-
###
|
|
70
|
+
### Utilities
|
|
80
71
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
72
|
+
| Command | Alias | Description |
|
|
73
|
+
| ------------ | -------- | ------------------------------ |
|
|
74
|
+
| `tt config` | `tt cfg` | Show configuration |
|
|
75
|
+
| `tt doctor` | | Check dependencies |
|
|
76
|
+
| `tt install` | | Configure Claude Code settings |
|
|
84
77
|
|
|
85
|
-
|
|
78
|
+
## Claude Code Plugin Skills
|
|
86
79
|
|
|
87
|
-
|
|
80
|
+
Available via `/tt:<command>`:
|
|
88
81
|
|
|
89
|
-
|
|
82
|
+
| Command | Description |
|
|
83
|
+
| ------------- | --------------------------------------------- |
|
|
84
|
+
| `/tt:commit` | AI-powered conventional commit messages |
|
|
85
|
+
| `/tt:plan` | Interview user and create implementation plan |
|
|
86
|
+
| `/tt:improve` | Explore codebase and suggest improvements |
|
|
87
|
+
| `/tt:refine` | Fix grammar/spelling in files |
|
|
90
88
|
|
|
91
|
-
|
|
89
|
+
## Development
|
|
92
90
|
|
|
93
91
|
```bash
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
pnpm start # Run CLI with tsx
|
|
93
|
+
pnpm test # Run tests
|
|
94
|
+
pnpm lint # Run oxlint
|
|
95
|
+
pnpm format # Format with oxfmt
|
|
96
|
+
pnpm typecheck # Type check
|
|
96
97
|
```
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
- Use plan mode!
|
|
101
|
-
- in plan mode tell claude your problems.
|
|
102
|
-
- in edit mode tell claude its problems.
|
|
103
|
-
- use `/context` to see what is using context and if you need to trim anything down.
|
|
104
|
-
- Only add context Claude doesn't already have but needs
|
|
105
|
-
- Always write in third person for prompts
|
|
106
|
-
- use a tool to write your prompts and evaluate them.
|
|
107
|
-
- These models are smart. Less is more. don't be too verbose
|
|
108
|
-
- https://console.anthropic.com/workbench/
|
|
109
|
-
- read source code from primary sources like:
|
|
110
|
-
- [anthropic repos](https://github.com/anthropics)
|
|
111
|
-
- [Skills best practices](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices#core-principles)
|
|
112
|
-
- gerund form (verb + -ing) for skill names
|
|
113
|
-
- [claude cookbook skills section](https://github.com/anthropics/claude-cookbooks/tree/main/skills)
|
|
114
|
-
- https://github.com/anthropics/skills
|
|
115
|
-
- installed as a plugin, has examples and skill-creator
|
|
99
|
+
### Releasing
|
|
116
100
|
|
|
117
101
|
```bash
|
|
118
|
-
|
|
102
|
+
gh workflow run release.yml -f bump_type=patch # or minor/major
|
|
103
|
+
gh run watch
|
|
119
104
|
```
|
|
120
105
|
|
|
121
|
-
## Roadmap
|
|
122
|
-
|
|
123
|
-
### Planned Features
|
|
124
|
-
|
|
125
|
-
**Journal Type System**:
|
|
126
|
-
|
|
127
|
-
- [ ] daily-notes
|
|
128
|
-
- [ ] meeting
|
|
129
|
-
- [ ] note
|
|
130
|
-
- [ ] task (todo)
|
|
131
|
-
|
|
132
|
-
**Git Tools**:
|
|
133
|
-
|
|
134
|
-
- [ ] commit-message-generator
|
|
135
|
-
- [ ] pull-request-generator
|
|
136
|
-
- [ ] issue-generator
|
|
137
|
-
- [ ] pull-request-reviewer
|
|
138
|
-
- [ ] branch-from-issue
|
|
139
|
-
|
|
140
106
|
## Resources
|
|
141
107
|
|
|
142
108
|
### Claude Code Plugin Development
|
|
@@ -146,14 +112,6 @@ gh run watch # monitor progress
|
|
|
146
112
|
- [Skills Guide](https://docs.claude.com/en/api/skills-guide)
|
|
147
113
|
- [Best Practices](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/best-practices)
|
|
148
114
|
|
|
149
|
-
### Project Documentation
|
|
150
|
-
|
|
151
|
-
- [Node Package](./docs/node-package.md) - How the repo worked when it was a node package
|
|
152
|
-
|
|
153
|
-
## History
|
|
154
|
-
|
|
155
|
-
This project started as a collection of personal scripts and utilities built up over time in a private toolbox. It was initially published as an npm package, but has since evolved to be distributed as a compiled Bun executable. With the release of Claude Code Skills and plugins, the project also serves as a Claude Code plugin marketplace.
|
|
156
|
-
|
|
157
115
|
## License
|
|
158
116
|
|
|
159
117
|
[MIT](./LICENSE) License © [Chris Towles](https://github.com/ChrisTowles)
|
package/package.json
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@towles/tool",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.48",
|
|
4
|
+
"description": "CLI tool with autonomous task runner (ralph), observability, and quality-of-life commands for daily development.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"autonomic",
|
|
7
|
+
"claude",
|
|
8
|
+
"cli",
|
|
9
|
+
"git",
|
|
10
|
+
"journal",
|
|
11
|
+
"oclif",
|
|
12
|
+
"ralph"
|
|
13
|
+
],
|
|
5
14
|
"homepage": "https://github.com/ChrisTowles/towles-tool#readme",
|
|
6
15
|
"bugs": {
|
|
7
16
|
"url": "https://github.com/ChrisTowles/towles-tool/issues"
|
|
@@ -25,77 +34,78 @@
|
|
|
25
34
|
"src"
|
|
26
35
|
],
|
|
27
36
|
"type": "module",
|
|
28
|
-
"
|
|
29
|
-
"access": "public"
|
|
30
|
-
},
|
|
37
|
+
"main": "bin/run.ts",
|
|
31
38
|
"scripts": {
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"start": "tsx bin/run.ts",
|
|
35
|
-
"format": "oxfmt --write .",
|
|
36
|
-
"format:check": "oxfmt --check .",
|
|
39
|
+
"start": "tsx ./bin/run.ts",
|
|
40
|
+
"typecheck": "tsc --noEmit",
|
|
37
41
|
"lint": "oxlint",
|
|
38
42
|
"lint:fix": "oxlint --fix",
|
|
43
|
+
"format": "oxfmt --write",
|
|
44
|
+
"format:check": "oxfmt --check",
|
|
39
45
|
"test": "vitest run",
|
|
40
|
-
"test:watch": "
|
|
41
|
-
"
|
|
42
|
-
"
|
|
46
|
+
"test:watch": "vitest watch",
|
|
47
|
+
"prepare": "simple-git-hooks",
|
|
48
|
+
"version:sync": "tsx scripts/sync-versions.ts"
|
|
43
49
|
},
|
|
44
50
|
"dependencies": {
|
|
45
|
-
"@
|
|
46
|
-
"@anthropic-ai/sdk": "^0.56.0",
|
|
47
|
-
"@oclif/core": "^4.3.2",
|
|
51
|
+
"@oclif/core": "^4.3.16",
|
|
48
52
|
"consola": "^3.4.2",
|
|
49
53
|
"d3-hierarchy": "^3.1.2",
|
|
50
54
|
"fzf": "^0.5.2",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
55
|
+
"globby": "^14.1.0",
|
|
56
|
+
"luxon": "^3.5.0",
|
|
57
|
+
"open": "^10.1.1",
|
|
53
58
|
"picocolors": "^1.1.1",
|
|
54
59
|
"prompts": "^2.4.2",
|
|
55
|
-
"strip-ansi": "^7.1.
|
|
56
|
-
"tinyexec": "^0.
|
|
57
|
-
"zod": "^
|
|
60
|
+
"strip-ansi": "^7.1.2",
|
|
61
|
+
"tinyexec": "^1.0.2",
|
|
62
|
+
"zod": "^3.25.67"
|
|
58
63
|
},
|
|
59
64
|
"devDependencies": {
|
|
60
|
-
"@oclif/test": "^4.1.
|
|
65
|
+
"@oclif/test": "^4.1.13",
|
|
66
|
+
"@total-typescript/tsconfig": "^1.0.4",
|
|
67
|
+
"@tsconfig/strictest": "^2.0.5",
|
|
61
68
|
"@types/d3-hierarchy": "^3.1.7",
|
|
62
|
-
"@types/luxon": "^3.
|
|
63
|
-
"@types/node": "^22.
|
|
69
|
+
"@types/luxon": "^3.4.2",
|
|
70
|
+
"@types/node": "^22.10.10",
|
|
64
71
|
"@types/prompts": "^2.4.9",
|
|
65
|
-
"@typescript/native-preview": "^7.0.0-dev.20260111.1",
|
|
66
72
|
"bumpp": "^10.4.0",
|
|
67
|
-
"lint-staged": "^15.5.
|
|
73
|
+
"lint-staged": "^15.5.1",
|
|
68
74
|
"oxfmt": "^0.24.0",
|
|
69
|
-
"oxlint": "^1.
|
|
70
|
-
"simple-git-hooks": "^2.
|
|
71
|
-
"tsx": "^4.19.
|
|
75
|
+
"oxlint": "^1.2.0",
|
|
76
|
+
"simple-git-hooks": "^2.11.1",
|
|
77
|
+
"tsx": "^4.19.2",
|
|
72
78
|
"typescript": "^5.8.3",
|
|
73
|
-
"vitest": "^
|
|
79
|
+
"vitest": "^3.1.3"
|
|
74
80
|
},
|
|
75
81
|
"simple-git-hooks": {
|
|
76
|
-
"pre-commit": "pnpm
|
|
82
|
+
"pre-commit": "pnpm lint-staged && pnpm typecheck"
|
|
77
83
|
},
|
|
78
84
|
"lint-staged": {
|
|
79
|
-
"
|
|
80
|
-
"
|
|
85
|
+
"package.json": "oxfmt --write",
|
|
86
|
+
"*.{ts,tsx,mts,cts,js,cjs,mjs}": [
|
|
87
|
+
"oxfmt --write",
|
|
88
|
+
"oxlint --fix"
|
|
89
|
+
],
|
|
90
|
+
"*.{json,md,yaml,yml}": "oxfmt --write"
|
|
81
91
|
},
|
|
82
92
|
"oclif": {
|
|
83
93
|
"bin": "tt",
|
|
84
94
|
"commands": {
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"target": "./src/commands/index.ts"
|
|
95
|
+
"strategy": "pattern",
|
|
96
|
+
"target": "./src/commands"
|
|
88
97
|
},
|
|
89
98
|
"dirname": "towles-tool",
|
|
99
|
+
"plugins": [],
|
|
90
100
|
"topicSeparator": " "
|
|
91
101
|
},
|
|
92
|
-
"
|
|
102
|
+
"engines": {
|
|
103
|
+
"node": ">=18.0.0"
|
|
104
|
+
},
|
|
105
|
+
"packageManager": "pnpm@10.11.0",
|
|
93
106
|
"pnpm": {
|
|
94
107
|
"patchedDependencies": {
|
|
95
108
|
"prompts@2.4.2": "patches/prompts.patch"
|
|
96
109
|
}
|
|
97
|
-
}
|
|
98
|
-
"trustedDependencies": [
|
|
99
|
-
"@anthropic-ai/claude-code"
|
|
100
|
-
]
|
|
110
|
+
}
|
|
101
111
|
}
|
package/src/commands/base.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Command, Flags } from "@oclif/core";
|
|
2
|
-
import {
|
|
2
|
+
import type { SettingsFile } from "../config/settings.js";
|
|
3
|
+
import { loadSettings } from "../config/settings.js";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Base command that all towles-tool commands extend.
|
|
@@ -14,7 +15,7 @@ export abstract class BaseCommand extends Command {
|
|
|
14
15
|
}),
|
|
15
16
|
};
|
|
16
17
|
|
|
17
|
-
protected settings!:
|
|
18
|
+
protected settings!: SettingsFile;
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Called before run(). Loads user settings.
|
|
@@ -23,20 +24,4 @@ export abstract class BaseCommand extends Command {
|
|
|
23
24
|
await super.init();
|
|
24
25
|
this.settings = await loadSettings();
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Helper to log debug messages when --debug flag is set.
|
|
29
|
-
*/
|
|
30
|
-
protected logDebug(message: string, ...args: unknown[]): void {
|
|
31
|
-
// Access flags via parse() - oclif guarantees flags exist after init()
|
|
32
|
-
void (this.parse as () => Promise<{ flags: { debug?: boolean } }>)()
|
|
33
|
-
.then((parsed) => {
|
|
34
|
-
if (parsed.flags?.debug) {
|
|
35
|
-
this.log(`[DEBUG] ${message}`, ...args);
|
|
36
|
-
}
|
|
37
|
-
})
|
|
38
|
-
.catch(() => {
|
|
39
|
-
/* ignore parse errors in debug logging */
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
27
|
}
|
package/src/commands/config.ts
CHANGED
|
@@ -7,7 +7,10 @@ import { BaseCommand } from "./base.js";
|
|
|
7
7
|
export default class Config extends BaseCommand {
|
|
8
8
|
static override description = "Display current configuration settings";
|
|
9
9
|
|
|
10
|
-
static override examples = [
|
|
10
|
+
static override examples = [
|
|
11
|
+
{ description: "Display configuration", command: "<%= config.bin %> <%= command.id %>" },
|
|
12
|
+
{ description: "Use alias", command: "<%= config.bin %> cfg" },
|
|
13
|
+
];
|
|
11
14
|
|
|
12
15
|
async run(): Promise<void> {
|
|
13
16
|
await this.parse(Config);
|
|
@@ -15,20 +18,18 @@ export default class Config extends BaseCommand {
|
|
|
15
18
|
consola.info("Configuration");
|
|
16
19
|
consola.log("");
|
|
17
20
|
|
|
18
|
-
consola.info(`Settings File: ${this.settings.
|
|
21
|
+
consola.info(`Settings File: ${this.settings.path}`);
|
|
19
22
|
consola.log("");
|
|
20
23
|
|
|
21
24
|
consola.warn("User Config:");
|
|
22
25
|
consola.log(
|
|
23
|
-
` Daily Path Template: ${this.settings.
|
|
26
|
+
` Daily Path Template: ${this.settings.settings.journalSettings.dailyPathTemplate}`,
|
|
24
27
|
);
|
|
25
28
|
consola.log(
|
|
26
|
-
` Meeting Path Template: ${this.settings.
|
|
29
|
+
` Meeting Path Template: ${this.settings.settings.journalSettings.meetingPathTemplate}`,
|
|
27
30
|
);
|
|
28
|
-
consola.log(
|
|
29
|
-
|
|
30
|
-
);
|
|
31
|
-
consola.log(` Editor: ${this.settings.settingsFile.settings.preferredEditor}`);
|
|
31
|
+
consola.log(` Note Path Template: ${this.settings.settings.journalSettings.notePathTemplate}`);
|
|
32
|
+
consola.log(` Editor: ${this.settings.settings.preferredEditor}`);
|
|
32
33
|
consola.log("");
|
|
33
34
|
|
|
34
35
|
consola.warn("Working Directory:");
|
package/src/commands/doctor.ts
CHANGED
|
@@ -17,7 +17,10 @@ interface CheckResult {
|
|
|
17
17
|
export default class Doctor extends BaseCommand {
|
|
18
18
|
static override description = "Check system dependencies and environment";
|
|
19
19
|
|
|
20
|
-
static override examples = [
|
|
20
|
+
static override examples = [
|
|
21
|
+
{ description: "Check system dependencies", command: "<%= config.bin %> <%= command.id %>" },
|
|
22
|
+
{ description: "Verify environment after setup", command: "<%= config.bin %> doctor" },
|
|
23
|
+
];
|
|
21
24
|
|
|
22
25
|
async run(): Promise<void> {
|
|
23
26
|
await this.parse(Doctor);
|
|
@@ -12,10 +12,16 @@ export default class BranchClean extends BaseCommand {
|
|
|
12
12
|
static override description = "Delete local branches that have been merged into main";
|
|
13
13
|
|
|
14
14
|
static override examples = [
|
|
15
|
-
"<%= config.bin %>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
{ description: "Clean merged branches", command: "<%= config.bin %> <%= command.id %>" },
|
|
16
|
+
{
|
|
17
|
+
description: "Preview without deleting",
|
|
18
|
+
command: "<%= config.bin %> <%= command.id %> --dry-run",
|
|
19
|
+
},
|
|
20
|
+
{ description: "Skip confirmation", command: "<%= config.bin %> <%= command.id %> --force" },
|
|
21
|
+
{
|
|
22
|
+
description: "Check against develop",
|
|
23
|
+
command: "<%= config.bin %> <%= command.id %> --base develop",
|
|
24
|
+
},
|
|
19
25
|
];
|
|
20
26
|
|
|
21
27
|
static override flags = {
|
|
@@ -18,9 +18,12 @@ export default class GhBranch extends BaseCommand {
|
|
|
18
18
|
static override description = "Create a git branch from a GitHub issue";
|
|
19
19
|
|
|
20
20
|
static override examples = [
|
|
21
|
-
"<%= config.bin %>
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
{ description: "Browse all open issues", command: "<%= config.bin %> <%= command.id %>" },
|
|
22
|
+
{
|
|
23
|
+
description: "Only issues assigned to me",
|
|
24
|
+
command: "<%= config.bin %> <%= command.id %> --assignedToMe",
|
|
25
|
+
},
|
|
26
|
+
{ description: "Short flag for assigned", command: "<%= config.bin %> <%= command.id %> -a" },
|
|
24
27
|
];
|
|
25
28
|
|
|
26
29
|
static override flags = {
|
package/src/commands/gh/pr.ts
CHANGED
|
@@ -14,14 +14,21 @@ export default class Pr extends BaseCommand {
|
|
|
14
14
|
static override description = "Create a pull request from the current branch";
|
|
15
15
|
|
|
16
16
|
static override examples = [
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
{
|
|
18
|
+
description: "Create PR from current branch",
|
|
19
|
+
command: "<%= config.bin %> <%= command.id %>",
|
|
20
|
+
},
|
|
21
|
+
{ description: "Create draft PR", command: "<%= config.bin %> <%= command.id %> --draft" },
|
|
22
|
+
{
|
|
23
|
+
description: "PR against develop branch",
|
|
24
|
+
command: "<%= config.bin %> <%= command.id %> --base develop",
|
|
25
|
+
},
|
|
20
26
|
];
|
|
21
27
|
|
|
22
28
|
static override flags = {
|
|
23
29
|
...BaseCommand.baseFlags,
|
|
24
30
|
draft: Flags.boolean({
|
|
31
|
+
char: "D",
|
|
25
32
|
description: "Create as draft PR",
|
|
26
33
|
default: false,
|
|
27
34
|
}),
|