@rotorsoft/gent 1.21.0 → 1.22.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/dist/index.js CHANGED
@@ -2240,7 +2240,7 @@ import { homedir } from "os";
2240
2240
  // package.json
2241
2241
  var package_default = {
2242
2242
  name: "@rotorsoft/gent",
2243
- version: "1.21.0",
2243
+ version: "1.22.0",
2244
2244
  description: "AI-powered GitHub workflow CLI - leverage AI (Claude, Gemini, or Codex) to create tickets, implement features, and manage PRs",
2245
2245
  keywords: [
2246
2246
  "cli",
@@ -2878,19 +2878,24 @@ function truncate(text, max) {
2878
2878
  if (text.length <= max) return text;
2879
2879
  return text.slice(0, max - 1) + "\u2026";
2880
2880
  }
2881
- function extractDescription(body, maxLen) {
2881
+ function extractDescriptionLines(body, maxLen, maxLines = 3) {
2882
+ const result = [];
2882
2883
  const lines = body.split("\n");
2883
2884
  for (const line of lines) {
2885
+ if (result.length >= maxLines) break;
2884
2886
  const trimmed = line.trim();
2885
2887
  if (!trimmed) continue;
2886
2888
  if (trimmed.startsWith("#")) continue;
2887
2889
  if (trimmed.startsWith("---")) continue;
2888
2890
  if (trimmed.startsWith("META:")) continue;
2889
2891
  if (trimmed.startsWith("**Type:**")) continue;
2892
+ if (trimmed.startsWith("**Category:**")) continue;
2893
+ if (trimmed.startsWith("**Priority:**")) continue;
2894
+ if (trimmed.startsWith("**Risk:**")) continue;
2890
2895
  const clean = trimmed.replace(/\*\*/g, "").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1");
2891
- return truncate(clean, maxLen);
2896
+ result.push(truncate(clean, maxLen));
2892
2897
  }
2893
- return "";
2898
+ return result;
2894
2899
  }
2895
2900
  function topRow(title, w) {
2896
2901
  const label = ` ${title} `;
@@ -3050,8 +3055,10 @@ function buildDashboardLines(state, actions, hint, refreshing, versionCheck) {
3050
3055
  w
3051
3056
  )
3052
3057
  );
3053
- const desc = extractDescription(state.issue.body, descMax);
3054
- if (desc) out(row(" " + chalk3.dim(desc), w));
3058
+ const descLines = extractDescriptionLines(state.issue.body, descMax);
3059
+ for (const desc of descLines) {
3060
+ out(row(" " + chalk3.dim(desc), w));
3061
+ }
3055
3062
  const tags = [];
3056
3063
  if (state.workflowStatus !== "none")
3057
3064
  tags.push(workflowBadge(state.workflowStatus));