claude-issue-solver 1.19.1 → 1.19.3

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
@@ -114,7 +114,7 @@ claude-issue 42
114
114
  # List open issues
115
115
  claude-issue list
116
116
  claude-issue ls
117
- claude-issue list -v # Show descriptions
117
+ claude-issue list --verbose # Show descriptions
118
118
 
119
119
  # Show full issue details
120
120
  claude-issue show 42
@@ -158,7 +158,7 @@ claude-issue --help
158
158
  ### Command Options
159
159
 
160
160
  **`list` command:**
161
- - `-v, --verbose` - Show issue descriptions
161
+ - `--verbose` - Show issue descriptions
162
162
 
163
163
  **`new` command:**
164
164
  - `-b, --body <text>` - Issue description
@@ -7,26 +7,49 @@ exports.listCommand = listCommand;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const github_1 = require("../utils/github");
9
9
  const git_1 = require("../utils/git");
10
- function truncateBody(body, maxLength = 100) {
10
+ function getFirstParagraph(body) {
11
11
  if (!body)
12
12
  return '';
13
- // Find first meaningful line (skip markdown headers and empty lines)
14
13
  const lines = body.split('\n');
15
- let firstLine = '';
14
+ const paragraphLines = [];
15
+ let started = false;
16
16
  for (const line of lines) {
17
17
  const trimmed = line.trim();
18
- // Skip empty lines, markdown headers, and horizontal rules
19
- if (!trimmed || trimmed.startsWith('#') || trimmed.match(/^-{3,}$|^_{3,}$|^\*{3,}$/)) {
18
+ // Skip markdown headers and horizontal rules
19
+ if (trimmed.startsWith('#') || trimmed.match(/^-{3,}$|^_{3,}$|^\*{3,}$/)) {
20
20
  continue;
21
21
  }
22
- firstLine = trimmed;
23
- break;
22
+ // Empty line after we started means end of paragraph
23
+ if (!trimmed && started) {
24
+ break;
25
+ }
26
+ if (trimmed) {
27
+ started = true;
28
+ paragraphLines.push(trimmed);
29
+ }
24
30
  }
25
- if (!firstLine)
26
- return '';
27
- if (firstLine.length <= maxLength)
28
- return firstLine;
29
- return firstLine.substring(0, maxLength - 3) + '...';
31
+ return paragraphLines.join(' ');
32
+ }
33
+ function wrapText(text, width, indent) {
34
+ const words = text.split(/\s+/);
35
+ const lines = [];
36
+ let currentLine = '';
37
+ for (const word of words) {
38
+ if (!currentLine) {
39
+ currentLine = word;
40
+ }
41
+ else if (currentLine.length + 1 + word.length <= width) {
42
+ currentLine += ' ' + word;
43
+ }
44
+ else {
45
+ lines.push(indent + currentLine);
46
+ currentLine = word;
47
+ }
48
+ }
49
+ if (currentLine) {
50
+ lines.push(indent + currentLine);
51
+ }
52
+ return lines;
30
53
  }
31
54
  async function listCommand(options = {}) {
32
55
  const projectName = (0, git_1.getProjectName)();
@@ -44,9 +67,16 @@ async function listCommand(options = {}) {
44
67
  : '';
45
68
  console.log(` ${chalk_1.default.cyan(`#${issue.number}`)}\t${issue.title}${prTag}${labels}`);
46
69
  if (options.verbose && issue.body) {
47
- const truncated = truncateBody(issue.body);
48
- if (truncated) {
49
- console.log(chalk_1.default.dim(` \t${truncated}`));
70
+ const paragraph = getFirstParagraph(issue.body);
71
+ if (paragraph) {
72
+ const termWidth = process.stdout.columns || 80;
73
+ const indent = ' ';
74
+ const textWidth = termWidth - indent.length - 2;
75
+ const wrappedLines = wrapText(paragraph, textWidth, indent);
76
+ for (const line of wrappedLines) {
77
+ console.log(chalk_1.default.dim(line));
78
+ }
79
+ console.log(); // blank line between issues
50
80
  }
51
81
  }
52
82
  }
package/dist/index.js CHANGED
@@ -67,7 +67,7 @@ program
67
67
  .command('list')
68
68
  .alias('ls')
69
69
  .description('List open issues')
70
- .option('-v, --verbose', 'Show issue descriptions')
70
+ .option('--verbose', 'Show issue descriptions')
71
71
  .action((options) => (0, list_1.listCommand)(options));
72
72
  // Show command
73
73
  program
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-issue-solver",
3
- "version": "1.19.1",
3
+ "version": "1.19.3",
4
4
  "description": "Automatically solve GitHub issues using Claude Code",
5
5
  "main": "dist/index.js",
6
6
  "bin": {