git-impact 0.1.0 → 0.2.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/README.md CHANGED
@@ -24,12 +24,14 @@ No API key needed when used through Claude Code.
24
24
 
25
25
  ## Install
26
26
 
27
- Run this once inside any repo:
27
+ Run this once inside any repo — no install step needed, `npx` fetches it on demand:
28
28
 
29
29
  ```bash
30
30
  npx git-impact init
31
31
  ```
32
32
 
33
+ [![npm version](https://img.shields.io/npm/v/git-impact.svg)](https://www.npmjs.com/package/git-impact)
34
+
33
35
  The wizard asks four questions, then self-installs into the repo:
34
36
 
35
37
  ```
@@ -236,9 +238,6 @@ Add to `.claude/settings.json` in your project:
236
238
  }
237
239
  ```
238
240
 
239
- > Until published to npm, use the local path:
240
- > `"args": ["/path/to/git-impact/dist/mcp/server.js"]`
241
-
242
241
  Available tools: `get_git_activity`, `get_github_activity`, `save_impact_entry`, `get_history`, `update_context`.
243
242
 
244
243
  ---
@@ -246,7 +245,7 @@ Available tools: `get_git_activity`, `get_github_activity`, `save_impact_entry`,
246
245
  ## Local development
247
246
 
248
247
  ```bash
249
- git clone https://github.com/you/git-impact
248
+ git clone https://github.com/efraimnafady/git-impact
250
249
  cd git-impact
251
250
  npm install
252
251
  npm run build
@@ -261,6 +260,14 @@ node dist/cli/index.js today
261
260
  node dist/mcp/server.js
262
261
  ```
263
262
 
263
+ Publishing a new version:
264
+
265
+ ```bash
266
+ npm version patch # bump version
267
+ npm publish --otp=123456 # 6-digit code from your authenticator
268
+ git push --follow-tags
269
+ ```
270
+
264
271
  ---
265
272
 
266
273
  ## Project structure
@@ -294,7 +301,7 @@ skill/
294
301
 
295
302
  ## Roadmap
296
303
 
297
- - [ ] `npm publish` — so `npx git-impact init` works without cloning
304
+ - [x] `npm publish` — `npx git-impact init` works zero-install
298
305
  - [ ] Color output (`chalk`) in CLI mode
299
306
  - [ ] `--copy` flag to put output on clipboard
300
307
  - [ ] GitHub PR enrichment fully wired into standup output
package/dist/cli/index.js CHANGED
@@ -44,11 +44,12 @@ const translate_1 = require("../translator/translate");
44
44
  const db_1 = require("../storage/db");
45
45
  const repo_1 = require("../mcp/repo");
46
46
  const installer_1 = require("../init/installer");
47
+ const render_1 = require("../report/render");
47
48
  const program = new commander_1.Command();
48
49
  program
49
50
  .name("git-impact")
50
51
  .description("Translate git commits into plain-English business impact")
51
- .version("0.1.0");
52
+ .version("0.2.0");
52
53
  // ─── today ────────────────────────────────────────────────────────────────────
53
54
  program
54
55
  .command("today")
@@ -80,8 +81,9 @@ program
80
81
  const result = await (0, translate_1.translateActivity)(git, github, context, dateLabel);
81
82
  printResult(dateLabel, result, git);
82
83
  if (opts.save !== false) {
84
+ const today = until.toISOString().slice(0, 10);
83
85
  (0, db_1.saveEntry)({
84
- date: until.toISOString().slice(0, 10),
86
+ date: today,
85
87
  repoPath: repoRoot,
86
88
  repoName: git.repoName,
87
89
  totalCommits: result.totalCommits,
@@ -91,6 +93,9 @@ program
91
93
  rawJson: result.rawJson,
92
94
  createdAt: new Date().toISOString(),
93
95
  }, repoRoot);
96
+ // Regenerate HTML report so the user always has a fresh file:// link to share.
97
+ const report = (0, render_1.renderReport)({ repoRoot, open: false, date: today });
98
+ console.log(`🔗 ${report.url}\n`);
94
99
  }
95
100
  });
96
101
  // ─── since ────────────────────────────────────────────────────────────────────
@@ -154,6 +159,29 @@ program
154
159
  console.log("\n" + "─".repeat(50));
155
160
  console.log(`📊 ${review.stats.total_commits} commits across ${review.stats.working_days} working days\n`);
156
161
  });
162
+ // ─── view ─────────────────────────────────────────────────────────────────────
163
+ program
164
+ .command("view")
165
+ .description("Generate / open the HTML report of saved standups")
166
+ .option("-p, --path <path>", "Path to git repository (auto-detected if omitted)")
167
+ .option("--date <date>", "Focus a specific date (YYYY-MM-DD) — opens that day directly")
168
+ .option("--no-open", "Just regenerate the file, don't open the browser")
169
+ .action((opts) => {
170
+ const repoRoot = getRepoOrDie(opts.path);
171
+ const result = (0, render_1.renderReport)({
172
+ repoRoot,
173
+ open: opts.open !== false,
174
+ date: opts.date,
175
+ });
176
+ if (result.entryCount === 0) {
177
+ console.log(`\nNo standups saved yet for ${repoRoot}.\n` +
178
+ `Run \`git-impact today\` (or "do my standup" in Claude Code) to build history.\n` +
179
+ `Empty report still written to: ${result.htmlPath}\n`);
180
+ return;
181
+ }
182
+ console.log(`\nReport regenerated — ${result.entryCount} standup(s)`);
183
+ console.log(` ${result.url}\n`);
184
+ });
157
185
  // ─── init ─────────────────────────────────────────────────────────────────────
158
186
  program
159
187
  .command("init")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * This means the package works correctly after `npm install -g`
4
4
  * without needing to locate template files on disk.
5
5
  */
6
- export declare const CLAUDE_SKILL = "---\nname: git-impact\ndescription: >\n Translates git commits into plain-English business impact \u2014 for standups,\n manager updates, and performance reviews. Use this skill whenever the user\n says: \"do my standup\", \"translate my commits\", \"what did I ship today/this\n week\", \"write my standup\", \"show my impact\", \"git-impact\", \"/git-impact\",\n \"generate a performance review\", \"what have I done this quarter\", or any\n request to turn technical git output into something a non-technical manager\n can understand.\n---\n\n# git-impact\n\nTranslate git commits into plain-English business impact without an API key.\nRead git data with bash, load the repo's context file, and write the translation\ninline.\n\n## Sub-commands\n\n| User says | Mode |\n|---|---|\n| `do my standup`, `today`, no args | **today** |\n| `since yesterday`, `since 3d`, `since 2026-05-01` | **since \\<when\\>** |\n| `review`, `last 30 days`, `Q2 review` | **review** |\n| `init`, `set up context` | **init** |\n\n## Step 1 \u2014 Find the repo root\n\n```bash\ngit rev-parse --show-toplevel 2>/dev/null\n```\n\nIf it fails: *\"No git repository found. Open a project folder first.\"* Stop.\n\n## Step 2 \u2014 Load context\n\n```bash\ncat \"$REPO_ROOT/.git-impact/context.json\" 2>/dev/null || echo \"NONE\"\n```\n\nApply the glossary (technical term \u2192 plain English) and frame impact around\nmanager priorities. If no context file exists, use general language and\nsuggest running init.\n\n## Mode: today / since \\<when\\>\n\nFetch commits:\n```bash\n# today\ngit -C \"$REPO_ROOT\" log \\\n --since=\"$(date '+%Y-%m-%d') 00:00:00\" \\\n --format=\"%h|%s|%b|%an|%ad\" --date=short HEAD\n\n# since Nd \u2192 --since=\"N days ago 00:00:00\"\n# since YYYY-MM-DD \u2192 --since=\"YYYY-MM-DD 00:00:00\"\n```\n\nFetch files changed:\n```bash\nFIRST=$(git -C \"$REPO_ROOT\" log --since=\"...\" --format=\"%h\" HEAD | tail -1)\ngit -C \"$REPO_ROOT\" diff --stat \"$FIRST\"^ HEAD 2>/dev/null\n```\n\n**Translation rules:**\n1. Each bullet = what was done + WHY it matters to the business. Never restate the commit message.\n2. Apply glossary \u2014 replace every technical term listed in context.json.\n3. If impact can't be inferred \u2192 \"technical foundation work for [area]\". Never hallucinate.\n4. Group related commits \u2014 4 auth commits = 1 bullet.\n5. WIP commits \u2192 \"\u23F3 In progress: [what] \u2192 [expected outcome]\"\n6. Be specific \u2014 use numbers from commit messages when they exist.\n\n**Output:**\n```\n\uD83D\uDCC5 [Day, Date]\n\n\u2705 [Plain-English summary]\n \u2192 [Business impact \u2014 who it unblocks, what risk it reduces]\n\n\u23F3 In progress: [what]\n \u2192 [Expected outcome]\n\n\uD83D\uDCC1 [N] files changed across [areas]\n [N] commit(s) on [branch]\n```\n\nSave to history after printing:\n```bash\nmkdir -p \"$REPO_ROOT/.git-impact\"\nsqlite3 \"$REPO_ROOT/.git-impact/history.db\" \"\n CREATE TABLE IF NOT EXISTS impact_entries (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n date TEXT NOT NULL, repo_name TEXT NOT NULL,\n total_commits INTEGER NOT NULL DEFAULT 0,\n total_files INTEGER NOT NULL DEFAULT 0,\n items_json TEXT NOT NULL DEFAULT '[]',\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n );\n INSERT INTO impact_entries (date, repo_name, total_commits, total_files, items_json)\n VALUES ('$(date +%Y-%m-%d)', '$(basename $REPO_ROOT)', $COMMITS, $FILES, '$JSON');\n\" 2>/dev/null || true\n```\n\n## Mode: review\n\nQuery history and synthesise a performance review:\n```bash\nsqlite3 \"$REPO_ROOT/.git-impact/history.db\" \\\n \"SELECT date, repo_name, total_commits, items_json\n FROM impact_entries WHERE date >= '$FROM' AND date <= '$TO'\n ORDER BY date ASC;\" 2>/dev/null\n```\n\nIf no history: *\"No saved history yet. Run the standup daily for a few weeks first.\"*\n\nFormat:\n```\nPerformance Review \u2014 [Period]\n[Headline sentence \u2014 biggest contribution]\n\n\uD83D\uDE80 [High-impact theme]\n \u2022 Specific achievement with numbers...\n\n\u2705 [Medium theme] ...\n\uD83D\uDD27 [Lower theme] ...\n\n\uD83D\uDCCA [N] commits across [N] working days\n```\n\n## Mode: init\n\nAsk one at a time:\n1. \"What does your company/product do? (1\u20132 sentences)\"\n2. \"What does your manager care most about?\"\n3. \"Technical terms to translate? e.g. RLS=data security (blank to skip)\"\n\nWrite `.git-impact/context.json` and confirm:\n*\"Saved. Commit context.json to share the glossary with your team.\"*\n\n## Tone\n\nNon-technical manager audience. Short sentences. No filler. Confident \u2014 if\nyou know the impact, state it. 2 accurate bullets > 5 vague ones.\n";
6
+ export declare const CLAUDE_SKILL = "---\nname: git-impact\ndescription: >\n Translates git commits into plain-English business impact \u2014 for standups,\n manager updates, and performance reviews. Use this skill whenever the user\n says: \"do my standup\", \"translate my commits\", \"what did I ship today/this\n week\", \"write my standup\", \"show my impact\", \"git-impact\", \"/git-impact\",\n \"generate a performance review\", \"what have I done this quarter\", or any\n request to turn technical git output into something a non-technical manager\n can understand.\n---\n\n# git-impact\n\nTranslate git commits into plain-English business impact without an API key.\nRead git data with bash, load the repo's context file, and write the translation\ninline.\n\n## Sub-commands\n\n| User says | Mode |\n|---|---|\n| `do my standup`, `today`, no args | **today** |\n| `since yesterday`, `since 3d`, `since 2026-05-01` | **since \\<when\\>** |\n| `review`, `last 30 days`, `Q2 review` | **review** |\n| `init`, `set up context` | **init** |\n\n## Step 1 \u2014 Find the repo root\n\n```bash\ngit rev-parse --show-toplevel 2>/dev/null\n```\n\nIf it fails: *\"No git repository found. Open a project folder first.\"* Stop.\n\n## Step 2 \u2014 Load context\n\n```bash\ncat \"$REPO_ROOT/.git-impact/context.json\" 2>/dev/null || echo \"NONE\"\n```\n\nApply the glossary (technical term \u2192 plain English) and frame impact around\nmanager priorities. If no context file exists, use general language and\nsuggest running init.\n\n## Mode: today / since \\<when\\>\n\nFetch commits:\n```bash\n# today\ngit -C \"$REPO_ROOT\" log \\\n --since=\"$(date '+%Y-%m-%d') 00:00:00\" \\\n --format=\"%h|%s|%b|%an|%ad\" --date=short HEAD\n\n# since Nd \u2192 --since=\"N days ago 00:00:00\"\n# since YYYY-MM-DD \u2192 --since=\"YYYY-MM-DD 00:00:00\"\n```\n\nFetch files changed:\n```bash\nFIRST=$(git -C \"$REPO_ROOT\" log --since=\"...\" --format=\"%h\" HEAD | tail -1)\ngit -C \"$REPO_ROOT\" diff --stat \"$FIRST\"^ HEAD 2>/dev/null\n```\n\n**Translation rules:**\n1. Each bullet = what was done + WHY it matters to the business. Never restate the commit message.\n2. Apply glossary \u2014 replace every technical term listed in context.json.\n3. If impact can't be inferred \u2192 \"technical foundation work for [area]\". Never hallucinate.\n4. Group related commits \u2014 4 auth commits = 1 bullet.\n5. WIP commits \u2192 \"\u23F3 In progress: [what] \u2192 [expected outcome]\"\n6. Be specific \u2014 use numbers from commit messages when they exist.\n\n**Output:**\n```\n\uD83D\uDCC5 [Day, Date]\n\n\u2705 [Plain-English summary]\n \u2192 [Business impact \u2014 who it unblocks, what risk it reduces]\n\n\u23F3 In progress: [what]\n \u2192 [Expected outcome]\n\n\uD83D\uDCC1 [N] files changed across [areas]\n [N] commit(s) on [branch]\n```\n\nSave to history after printing:\n```bash\nmkdir -p \"$REPO_ROOT/.git-impact\"\nsqlite3 \"$REPO_ROOT/.git-impact/history.db\" \"\n CREATE TABLE IF NOT EXISTS impact_entries (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n date TEXT NOT NULL, repo_name TEXT NOT NULL,\n total_commits INTEGER NOT NULL DEFAULT 0,\n total_files INTEGER NOT NULL DEFAULT 0,\n items_json TEXT NOT NULL DEFAULT '[]',\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n );\n INSERT INTO impact_entries (date, repo_name, total_commits, total_files, items_json)\n VALUES ('$(date +%Y-%m-%d)', '$(basename $REPO_ROOT)', $COMMITS, $FILES, '$JSON');\n\" 2>/dev/null || true\n```\n\nThen regenerate the HTML report and tell the user where to find it:\n```bash\ncd \"$REPO_ROOT\" && npx -y git-impact view --no-open --date \"$(date +%Y-%m-%d)\" 2>/dev/null || true\n```\n\nPrint the file URL on the last line so the user can \u2318-click to open it:\n```\n\uD83D\uDD17 file://$REPO_ROOT/.git-impact/result.html?date=$(date +%Y-%m-%d)\n```\n\n## Mode: review\n\nQuery history and synthesise a performance review:\n```bash\nsqlite3 \"$REPO_ROOT/.git-impact/history.db\" \\\n \"SELECT date, repo_name, total_commits, items_json\n FROM impact_entries WHERE date >= '$FROM' AND date <= '$TO'\n ORDER BY date ASC;\" 2>/dev/null\n```\n\nIf no history: *\"No saved history yet. Run the standup daily for a few weeks first.\"*\n\nFormat:\n```\nPerformance Review \u2014 [Period]\n[Headline sentence \u2014 biggest contribution]\n\n\uD83D\uDE80 [High-impact theme]\n \u2022 Specific achievement with numbers...\n\n\u2705 [Medium theme] ...\n\uD83D\uDD27 [Lower theme] ...\n\n\uD83D\uDCCA [N] commits across [N] working days\n```\n\n## Mode: init\n\nAsk one at a time:\n1. \"What does your company/product do? (1\u20132 sentences)\"\n2. \"What does your manager care most about?\"\n3. \"Technical terms to translate? e.g. RLS=data security (blank to skip)\"\n\nWrite `.git-impact/context.json` and confirm:\n*\"Saved. Commit context.json to share the glossary with your team.\"*\n\n## Tone\n\nNon-technical manager audience. Short sentences. No filler. Confident \u2014 if\nyou know the impact, state it. 2 accurate bullets > 5 vague ones.\n";
7
7
  export declare const CLAUDE_MD_BLOCK = "\n## git-impact\n\nThis repo uses [git-impact](https://github.com/you/git-impact) for standup and\nperformance review generation.\n\n- Say **\"do my standup\"** to translate today's commits into business impact\n- Say **\"git-impact since 3d\"** to look back further\n- Say **\"generate a performance review\"** after a few weeks of standups\n- Say **\"set up context for this repo\"** to configure the glossary\n\nContext is stored in `.git-impact/context.json` (committed, team-shared).\nHistory is stored in `.git-impact/history.db` (gitignored, per-machine).\n";
8
8
  export declare const COPILOT_INSTRUCTIONS = "# git-impact\n\nTranslate git commits into plain-English standup bullets when the user asks\nto \"do my standup\", \"translate my commits\", \"what did I ship today\", or\n\"generate a performance review\".\n\n## How to translate commits\n\n1. Run `git log --since=\"today 00:00:00\" --format=\"%h|%s|%b\" HEAD` to get commits\n2. Read `.git-impact/context.json` for glossary and company context\n3. Translate into 2\u20135 bullets following these rules:\n - What was done + WHY it matters (never restate commit messages)\n - Apply glossary terms from context.json\n - Group related commits into one bullet\n - WIP commits \u2192 \"\u23F3 In progress: [what] \u2192 [expected outcome]\"\n - If impact can't be inferred \u2192 \"technical foundation work for [area]\"\n\n## Output format\n\n```\n\uD83D\uDCC5 [Date]\n\u2705 [Summary] \u2192 [Business impact]\n\u23F3 In progress: [What] \u2192 [Expected outcome]\n\uD83D\uDCC1 [N] files changed across [areas]\n```\n\nFor performance reviews, query `.git-impact/history.db` and group by theme.\n";
9
9
  export declare const CURSOR_RULES = "---\ndescription: git-impact standup and performance review generation\nglobs: []\nalwaysApply: false\n---\n\n# git-impact\n\nWhen the user asks to \"do my standup\", \"translate commits\", \"what did I ship\",\nor \"generate a performance review\":\n\n1. Find repo root: `git rev-parse --show-toplevel`\n2. Load context: `cat .git-impact/context.json`\n3. Fetch commits: `git log --since=\"today 00:00:00\" --format=\"%h|%s|%b\" HEAD`\n4. Translate into 2\u20135 plain-English bullets:\n - Apply glossary from context.json\n - Each bullet = what + why it matters (never restate commit messages)\n - Group related commits, flag WIP with \u23F3\n5. Format: \u2705 [summary] \u2192 [business impact]\n6. Save to `.git-impact/history.db` via sqlite3\n\nFor reviews: query history.db and group by theme (Features, Security, Reliability, etc.)\n";
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,YAAY,0lJA+IxB,CAAC;AAIF,eAAO,MAAM,eAAe,yjBAa3B,CAAC;AAIF,eAAO,MAAM,oBAAoB,miCA2BhC,CAAC;AAIF,eAAO,MAAM,YAAY,m1BAsBxB,CAAC;AAIF,eAAO,MAAM,cAAc,yhCA+B1B,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,MAAM,EAC1B,mBAAmB,MAAM,EACzB,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/B,MAKO,CAAC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,eAAO,MAAM,YAAY,g8JAyJxB,CAAC;AAIF,eAAO,MAAM,eAAe,yjBAa3B,CAAC;AAIF,eAAO,MAAM,oBAAoB,miCA2BhC,CAAC;AAIF,eAAO,MAAM,YAAY,m1BAsBxB,CAAC;AAIF,eAAO,MAAM,cAAc,yhCA+B1B,CAAC;AAIF,eAAO,MAAM,gBAAgB,GAC3B,oBAAoB,MAAM,EAC1B,mBAAmB,MAAM,EACzB,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/B,MAKO,CAAC"}
@@ -110,6 +110,16 @@ sqlite3 "$REPO_ROOT/.git-impact/history.db" "
110
110
  " 2>/dev/null || true
111
111
  \`\`\`
112
112
 
113
+ Then regenerate the HTML report and tell the user where to find it:
114
+ \`\`\`bash
115
+ cd "$REPO_ROOT" && npx -y git-impact view --no-open --date "$(date +%Y-%m-%d)" 2>/dev/null || true
116
+ \`\`\`
117
+
118
+ Print the file URL on the last line so the user can ⌘-click to open it:
119
+ \`\`\`
120
+ 🔗 file://$REPO_ROOT/.git-impact/result.html?date=$(date +%Y-%m-%d)
121
+ \`\`\`
122
+
113
123
  ## Mode: review
114
124
 
115
125
  Query history and synthesise a performance review:
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iFAAiF;AAEpE,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+I3B,CAAC;AAEF,iFAAiF;AAEpE,QAAA,eAAe,GAAG;;;;;;;;;;;;;CAa9B,CAAC;AAEF,iFAAiF;AAEpE,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BnC,CAAC;AAEF,iFAAiF;AAEpE,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB3B,CAAC;AAEF,iFAAiF;AAEpE,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B7B,CAAC;AAEF,iFAAiF;AAE1E,MAAM,gBAAgB,GAAG,CAC9B,kBAA0B,EAC1B,iBAAyB,EACzB,QAAgC,EACxB,EAAE,CACV,IAAI,CAAC,SAAS,CACZ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EACnD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CAAC;AATE,QAAA,gBAAgB,oBASlB"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iFAAiF;AAEpE,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyJ3B,CAAC;AAEF,iFAAiF;AAEpE,QAAA,eAAe,GAAG;;;;;;;;;;;;;CAa9B,CAAC;AAEF,iFAAiF;AAEpE,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BnC,CAAC;AAEF,iFAAiF;AAEpE,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB3B,CAAC;AAEF,iFAAiF;AAEpE,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+B7B,CAAC;AAEF,iFAAiF;AAE1E,MAAM,gBAAgB,GAAG,CAC9B,kBAA0B,EAC1B,iBAAyB,EACzB,QAAgC,EACxB,EAAE,CACV,IAAI,CAAC,SAAS,CACZ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EACnD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CAAC;AATE,QAAA,gBAAgB,oBASlB"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Generates a self-contained HTML report from saved standup history.
3
+ * Open `.git-impact/result.html` directly in a browser via file://
4
+ * → optional ?date=YYYY-MM-DD selects a specific day
5
+ */
6
+ export interface ReportItem {
7
+ status: "done" | "in_progress" | "blocked";
8
+ summary: string;
9
+ impact?: string;
10
+ technical_note?: string;
11
+ }
12
+ export interface ReportEntry {
13
+ date: string;
14
+ repoName: string;
15
+ totalCommits: number;
16
+ totalFiles: number;
17
+ filesSummary?: string;
18
+ items: ReportItem[];
19
+ }
20
+ export declare function renderReportHtml(entries: ReportEntry[], repoName: string): string;
21
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmOjF"}
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ /**
3
+ * Generates a self-contained HTML report from saved standup history.
4
+ * Open `.git-impact/result.html` directly in a browser via file://
5
+ * → optional ?date=YYYY-MM-DD selects a specific day
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.renderReportHtml = renderReportHtml;
9
+ function renderReportHtml(entries, repoName) {
10
+ // Newest first for the picker
11
+ const sorted = [...entries].sort((a, b) => b.date.localeCompare(a.date));
12
+ const dataJson = JSON.stringify(sorted).replace(/</g, "\\u003c");
13
+ return `<!doctype html>
14
+ <html lang="en">
15
+ <head>
16
+ <meta charset="utf-8" />
17
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
18
+ <title>git-impact — ${escapeHtml(repoName)}</title>
19
+ <style>
20
+ :root {
21
+ --bg: #0d1117;
22
+ --panel: #161b22;
23
+ --border: #30363d;
24
+ --text: #e6edf3;
25
+ --muted: #8b949e;
26
+ --accent: #58a6ff;
27
+ --green: #3fb950;
28
+ --amber: #d29922;
29
+ --red: #f85149;
30
+ }
31
+ @media (prefers-color-scheme: light) {
32
+ :root {
33
+ --bg: #ffffff;
34
+ --panel: #f6f8fa;
35
+ --border: #d0d7de;
36
+ --text: #1f2328;
37
+ --muted: #59636e;
38
+ --accent: #0969da;
39
+ --green: #1a7f37;
40
+ --amber: #9a6700;
41
+ --red: #cf222e;
42
+ }
43
+ }
44
+ * { box-sizing: border-box; }
45
+ body {
46
+ margin: 0;
47
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
48
+ background: var(--bg);
49
+ color: var(--text);
50
+ line-height: 1.55;
51
+ }
52
+ header {
53
+ border-bottom: 1px solid var(--border);
54
+ padding: 18px 28px;
55
+ display: flex;
56
+ align-items: center;
57
+ gap: 18px;
58
+ flex-wrap: wrap;
59
+ background: var(--panel);
60
+ }
61
+ header h1 {
62
+ margin: 0;
63
+ font-size: 18px;
64
+ font-weight: 600;
65
+ letter-spacing: -0.01em;
66
+ }
67
+ header .repo {
68
+ color: var(--muted);
69
+ font-family: ui-monospace, "SF Mono", Menlo, monospace;
70
+ font-size: 13px;
71
+ }
72
+ header .spacer { flex: 1; }
73
+ header select {
74
+ background: var(--bg);
75
+ color: var(--text);
76
+ border: 1px solid var(--border);
77
+ border-radius: 6px;
78
+ padding: 6px 10px;
79
+ font-size: 13px;
80
+ font-family: inherit;
81
+ }
82
+ main {
83
+ max-width: 760px;
84
+ margin: 0 auto;
85
+ padding: 36px 28px 80px;
86
+ }
87
+ .date {
88
+ font-size: 28px;
89
+ font-weight: 600;
90
+ margin: 0 0 6px;
91
+ letter-spacing: -0.02em;
92
+ }
93
+ .meta {
94
+ color: var(--muted);
95
+ font-size: 13px;
96
+ margin-bottom: 32px;
97
+ }
98
+ .item {
99
+ border-left: 3px solid var(--border);
100
+ padding: 6px 0 6px 18px;
101
+ margin: 0 0 24px;
102
+ }
103
+ .item.done { border-color: var(--green); }
104
+ .item.in_progress { border-color: var(--amber); }
105
+ .item.blocked { border-color: var(--red); }
106
+ .item .summary {
107
+ font-weight: 600;
108
+ margin-bottom: 6px;
109
+ }
110
+ .item .summary::before {
111
+ margin-right: 8px;
112
+ }
113
+ .item.done .summary::before { content: "✅"; }
114
+ .item.in_progress .summary::before { content: "⏳"; }
115
+ .item.blocked .summary::before { content: "🚫"; }
116
+ .item .impact {
117
+ color: var(--muted);
118
+ font-size: 14px;
119
+ }
120
+ .item .impact::before {
121
+ content: "→ ";
122
+ color: var(--accent);
123
+ }
124
+ .item .note {
125
+ color: var(--muted);
126
+ font-size: 12px;
127
+ margin-top: 4px;
128
+ font-family: ui-monospace, "SF Mono", Menlo, monospace;
129
+ }
130
+ footer {
131
+ color: var(--muted);
132
+ font-size: 12px;
133
+ padding-top: 24px;
134
+ border-top: 1px solid var(--border);
135
+ margin-top: 40px;
136
+ }
137
+ .empty {
138
+ text-align: center;
139
+ color: var(--muted);
140
+ padding: 80px 0;
141
+ }
142
+ @media print {
143
+ header { display: none; }
144
+ main { max-width: none; padding: 0; }
145
+ }
146
+ </style>
147
+ </head>
148
+ <body>
149
+ <header>
150
+ <h1>git-impact</h1>
151
+ <span class="repo">${escapeHtml(repoName)}</span>
152
+ <span class="spacer"></span>
153
+ <select id="date-picker" aria-label="Select date"></select>
154
+ </header>
155
+ <main id="content"><div class="empty">Loading…</div></main>
156
+ <script>
157
+ const ENTRIES = ${dataJson};
158
+
159
+ const picker = document.getElementById("date-picker");
160
+ const content = document.getElementById("content");
161
+
162
+ function getRequestedDate() {
163
+ const params = new URLSearchParams(window.location.search);
164
+ return params.get("date");
165
+ }
166
+
167
+ function formatDateLabel(iso) {
168
+ const d = new Date(iso + "T00:00:00");
169
+ return d.toLocaleDateString(undefined, {
170
+ weekday: "long", year: "numeric", month: "long", day: "numeric"
171
+ });
172
+ }
173
+
174
+ function renderEntry(entry) {
175
+ if (!entry) {
176
+ content.innerHTML = '<div class="empty">No standup found for that date.</div>';
177
+ return;
178
+ }
179
+ const items = entry.items.map(function(item) {
180
+ const cls = item.status || "done";
181
+ const note = item.technical_note
182
+ ? '<div class="note">' + escape(item.technical_note) + '</div>' : '';
183
+ const impact = item.impact
184
+ ? '<div class="impact">' + escape(item.impact) + '</div>' : '';
185
+ return '<div class="item ' + cls + '">' +
186
+ '<div class="summary">' + escape(item.summary) + '</div>' +
187
+ impact + note +
188
+ '</div>';
189
+ }).join("");
190
+
191
+ const filesLine = entry.filesSummary
192
+ ? '📁 ' + entry.totalFiles + ' files — ' + escape(entry.filesSummary) + '<br>'
193
+ : '📁 ' + entry.totalFiles + ' files changed<br>';
194
+
195
+ content.innerHTML =
196
+ '<h2 class="date">📅 ' + formatDateLabel(entry.date) + '</h2>' +
197
+ '<div class="meta">' + entry.totalCommits + ' commit(s) on ' + escape(entry.repoName) + '</div>' +
198
+ items +
199
+ '<footer>' + filesLine + '</footer>';
200
+ }
201
+
202
+ function escape(s) {
203
+ return String(s).replace(/[&<>"']/g, function(c) {
204
+ return ({ "&":"&amp;", "<":"&lt;", ">":"&gt;", '"':"&quot;", "'":"&#39;" })[c];
205
+ });
206
+ }
207
+
208
+ // Populate date picker (newest first)
209
+ ENTRIES.forEach(function(e) {
210
+ const opt = document.createElement("option");
211
+ opt.value = e.date;
212
+ opt.textContent = formatDateLabel(e.date);
213
+ picker.appendChild(opt);
214
+ });
215
+
216
+ // Default to ?date= in URL or newest
217
+ const requested = getRequestedDate();
218
+ const defaultDate = requested || (ENTRIES[0] && ENTRIES[0].date);
219
+ if (defaultDate) {
220
+ picker.value = defaultDate;
221
+ renderEntry(ENTRIES.find(function(e) { return e.date === defaultDate; }));
222
+ } else {
223
+ content.innerHTML = '<div class="empty">No standups saved yet. Run "do my standup" in your repo.</div>';
224
+ }
225
+
226
+ picker.addEventListener("change", function() {
227
+ const params = new URLSearchParams(window.location.search);
228
+ params.set("date", picker.value);
229
+ history.replaceState(null, "", "?" + params.toString());
230
+ renderEntry(ENTRIES.find(function(e) { return e.date === picker.value; }));
231
+ });
232
+ </script>
233
+ </body>
234
+ </html>`;
235
+ }
236
+ function escapeHtml(s) {
237
+ return s.replace(/[&<>"']/g, (c) => ({
238
+ "&": "&amp;",
239
+ "<": "&lt;",
240
+ ">": "&gt;",
241
+ '"': "&quot;",
242
+ "'": "&#39;",
243
+ }[c]));
244
+ }
245
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/report/html.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAkBH,4CAmOC;AAnOD,SAAgB,gBAAgB,CAAC,OAAsB,EAAE,QAAgB;IACvE,8BAA8B;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEjE,OAAO;;;;;sBAKa,UAAU,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqInB,UAAU,CAAC,QAAQ,CAAC;;;;;;oBAMvB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6EpB,CAAC;AACT,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,MAAM;QACX,GAAG,EAAE,QAAQ;QACb,GAAG,EAAE,OAAO;KACb,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;AACV,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Reads history.db, writes `.git-impact/result.html`, optionally opens in browser.
3
+ * Wired into the `git-impact view` CLI and the Claude Code skill (post-standup hook).
4
+ */
5
+ export interface RenderOptions {
6
+ repoRoot: string;
7
+ open?: boolean;
8
+ date?: string;
9
+ }
10
+ export interface RenderResult {
11
+ htmlPath: string;
12
+ url: string;
13
+ entryCount: number;
14
+ }
15
+ export declare function renderReport(opts: RenderOptions): RenderResult;
16
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/report/render.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,CAoC9D"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Reads history.db, writes `.git-impact/result.html`, optionally opens in browser.
4
+ * Wired into the `git-impact view` CLI and the Claude Code skill (post-standup hook).
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.renderReport = renderReport;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const child_process_1 = require("child_process");
44
+ const db_1 = require("../storage/db");
45
+ const html_1 = require("./html");
46
+ function renderReport(opts) {
47
+ const { repoRoot, open = false, date } = opts;
48
+ // Pull every saved standup. Wide date range is intentional — a few thousand
49
+ // rows is fine for inline-embedding in a single static file.
50
+ const entries = (0, db_1.getEntriesForRange)("0000-01-01", "9999-12-31", repoRoot);
51
+ const repoName = entries[0]?.repoName ?? path.basename(repoRoot);
52
+ const reportEntries = entries.map((e) => ({
53
+ date: e.date,
54
+ repoName: e.repoName,
55
+ totalCommits: e.totalCommits,
56
+ totalFiles: e.totalFiles,
57
+ filesSummary: e.filesSummary,
58
+ items: e.items.map((it) => ({
59
+ status: it.status,
60
+ summary: it.summary,
61
+ impact: it.impact,
62
+ technical_note: it.technical_note,
63
+ })),
64
+ }));
65
+ const html = (0, html_1.renderReportHtml)(reportEntries, repoName);
66
+ const outDir = path.join(repoRoot, ".git-impact");
67
+ fs.mkdirSync(outDir, { recursive: true });
68
+ const htmlPath = path.join(outDir, "result.html");
69
+ fs.writeFileSync(htmlPath, html, "utf-8");
70
+ const url = `file://${htmlPath}${date ? `?date=${date}` : ""}`;
71
+ if (open) {
72
+ openInBrowser(url);
73
+ }
74
+ return { htmlPath, url, entryCount: entries.length };
75
+ }
76
+ function openInBrowser(url) {
77
+ const platform = process.platform;
78
+ const cmd = platform === "darwin" ? "open" :
79
+ platform === "win32" ? "cmd" :
80
+ "xdg-open";
81
+ const args = platform === "win32" ? ["/c", "start", "", url] : [url];
82
+ // Detached so we don't block the CLI; ignore errors silently — the URL is
83
+ // printed regardless so the user can copy-paste.
84
+ try {
85
+ (0, child_process_1.spawn)(cmd, args, { detached: true, stdio: "ignore" }).unref();
86
+ }
87
+ catch {
88
+ /* no-op */
89
+ }
90
+ }
91
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/report/render.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBH,oCAoCC;AAtDD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAsC;AACtC,sCAAmD;AACnD,iCAAuD;AAcvD,SAAgB,YAAY,CAAC,IAAmB;IAC9C,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE9C,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,OAAO,GAAG,IAAA,uBAAkB,EAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,aAAa,GAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1B,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,cAAc,EAAE,EAAE,CAAC,cAAc;SAClC,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,IAAI,GAAG,IAAA,uBAAgB,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClD,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,GAAG,GAAG,UAAU,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE/D,IAAI,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,MAAM,GAAG,GACP,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,QAAQ,KAAK,OAAO,CAAE,CAAC,CAAC,KAAK,CAAE,CAAC;YAChC,UAAU,CAAC;IACb,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAErE,0EAA0E;IAC1E,iDAAiD;IACjD,IAAI,CAAC;QACH,IAAA,qBAAK,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,WAAW;IACb,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "git-impact",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Translate your git commits into plain-English business impact",
5
5
  "author": "Efraim Nafady",
6
6
  "license": "MIT",