neovate-code-wrapped 1.0.0 → 1.0.2

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.
@@ -39,8 +39,8 @@ let arch = archMap[osArch()];
39
39
  if (!arch) {
40
40
  arch = osArch();
41
41
  }
42
- const base = "neovate-wrapped-" + platform + "-" + arch;
43
- const binary = platform === "windows" ? "neovate-wrapped.exe" : "neovate-wrapped";
42
+ const base = "neovate-code-wrapped-" + platform + "-" + arch;
43
+ const binary = platform === "windows" ? "neovate-code-wrapped.exe" : "neovate-code-wrapped";
44
44
 
45
45
  function findBinary(startDir) {
46
46
  let current = startDir;
package/package.json CHANGED
@@ -1,49 +1,39 @@
1
1
  {
2
2
  "name": "neovate-code-wrapped",
3
- "version": "1.0.0",
4
- "author": {
5
- "name": "iamdin",
6
- "email": "iamdinq@gmail.com"
7
- },
3
+ "version": "1.0.2",
8
4
  "description": "Generate a personalized Spotify Wrapped-style summary of your Neovate usage",
5
+ "bin": {
6
+ "neovate-code-wrapped": "./bin/neovate-code-wrapped"
7
+ },
8
+ "scripts": {
9
+ "postinstall": "node ./postinstall.mjs"
10
+ },
11
+ "optionalDependencies": {
12
+ "neovate-code-wrapped-linux-arm64": "1.0.2",
13
+ "neovate-code-wrapped-linux-x64": "1.0.2",
14
+ "neovate-code-wrapped-linux-x64-baseline": "1.0.2",
15
+ "neovate-code-wrapped-linux-arm64-musl": "1.0.2",
16
+ "neovate-code-wrapped-linux-x64-musl": "1.0.2",
17
+ "neovate-code-wrapped-linux-x64-baseline-musl": "1.0.2",
18
+ "neovate-code-wrapped-darwin-arm64": "1.0.2",
19
+ "neovate-code-wrapped-darwin-x64": "1.0.2",
20
+ "neovate-code-wrapped-darwin-x64-baseline": "1.0.2",
21
+ "neovate-code-wrapped-windows-x64": "1.0.2",
22
+ "neovate-code-wrapped-windows-x64-baseline": "1.0.2"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/iamdin/neovate-code-wrapped.git"
27
+ },
9
28
  "keywords": [
10
29
  "neovate",
11
30
  "wrapped",
12
31
  "neovate-wrapped",
13
32
  "neovate-code-wrapped"
14
33
  ],
15
- "license": "MIT",
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/iamdin/neovate-code-wrapped.git"
19
- },
20
- "type": "module",
21
- "bin": {
22
- "neovate-code-wrapped": "./bin/neovate-code-wrapped"
23
- },
24
- "scripts": {
25
- "start": "bun src/index.ts",
26
- "dev": "bun run --watch src/index.ts",
27
- "build": "tsgo --noEmit && bun run scripts/build.ts",
28
- "publish": "bun run scripts/publish.ts",
29
- "release": "semantic-release",
30
- "clean": "rm -rf dist"
31
- },
32
- "dependencies": {
33
- "@clack/prompts": "^0.11.0",
34
- "@resvg/resvg-wasm": "^2.6.2",
35
- "react": "^19.2.3",
36
- "satori": "^0.18.3",
37
- "xdg-basedir": "^5.1.0"
34
+ "author": {
35
+ "name": "iamdin",
36
+ "email": "iamdinq@gmail.com"
38
37
  },
39
- "devDependencies": {
40
- "@semantic-release/exec": "^7.1.0",
41
- "@semantic-release/git": "^10.0.1",
42
- "@types/bun": "latest",
43
- "@types/react": "^19.2.0",
44
- "@typescript/native-preview": "^7.0.0-dev.20251223.1",
45
- "bunup": "^0.16.10",
46
- "semantic-release": "^25.0.2",
47
- "typescript": "^5.0.0"
48
- }
49
- }
38
+ "license": "MIT"
39
+ }
@@ -111,7 +111,7 @@ function getPlatformInfo() {
111
111
 
112
112
  function buildPackageName(platform, arch, { baseline, musl }) {
113
113
  return [
114
- "neovate-wrapped",
114
+ "neovate-code-wrapped",
115
115
  platform,
116
116
  arch,
117
117
  baseline ? "baseline" : undefined,
@@ -191,7 +191,7 @@ function testBinary(binaryPath) {
191
191
  * Find the binary from the platform package
192
192
  */
193
193
  function findBinary(packageName) {
194
- const binaryName = os.platform() === "win32" ? "neovate-wrapped.exe" : "neovate-wrapped";
194
+ const binaryName = os.platform() === "win32" ? "neovate-code-wrapped.exe" : "neovate-code-wrapped";
195
195
 
196
196
  try {
197
197
  const packageJsonPath = require.resolve(`${packageName}/package.json`);
package/.releaserc.mjs DELETED
@@ -1,28 +0,0 @@
1
- /**
2
- * @type {import('semantic-release').GlobalConfig}
3
- */
4
- export default {
5
- branches: [
6
- "main",
7
- { name: "beta", prerelease: true },
8
- { name: "alpha", prerelease: true },
9
- ],
10
- plugins: [
11
- "@semantic-release/commit-analyzer",
12
- "@semantic-release/release-notes-generator",
13
- [
14
- "@semantic-release/exec",
15
- {
16
- publishCmd: "bun run ./scripts/publish.ts ${nextRelease.version}",
17
- },
18
- ],
19
- [
20
- "@semantic-release/git",
21
- {
22
- assets: ["package.json"],
23
- message: "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}",
24
- },
25
- ],
26
- "@semantic-release/github",
27
- ],
28
- };
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Vlad Ivanov
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/README.md DELETED
@@ -1,130 +0,0 @@
1
- <div align="center">
2
-
3
- # neovate-code-wrapped
4
-
5
- **Your year in code, beautifully visualized.**
6
-
7
- Generate a personalized "Spotify Wrapped"-style summary of your [Neovate](https://neovateai.dev/en) usage.
8
-
9
- [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
10
- [![Bun](https://img.shields.io/badge/Bun-%23000000.svg?logo=bun&logoColor=white)](https://bun.sh)
11
-
12
- <img src="./assets/images/demo-wrapped.png" alt="Neovate Wrapped Example" width="600" />
13
-
14
- </div>
15
-
16
- ---
17
-
18
- ## Installation
19
-
20
- ### Quick Start
21
-
22
- Run directly without installing:
23
-
24
- ```bash
25
- npx neovate-code-wrapped # or bunx, or yarn/pnpm dlx
26
- ```
27
-
28
- ### Global Install
29
-
30
- ```bash
31
- npm install -g neovate-code-wrapped # or bun/yarn/pnpm
32
- ```
33
-
34
- Then run anywhere:
35
-
36
- ```bash
37
- neovate-wrapped
38
- ```
39
-
40
- ## Usage Options
41
-
42
- | Option | Description |
43
- | --------------- | ------------------------------------ |
44
- | `--year, -y` | Generate wrapped for a specific year |
45
- | `--help, -h` | Show help message |
46
- | `--version, -v` | Show version number |
47
-
48
- ## Features
49
-
50
- - Sessions, messages, tokens, projects, and streaks
51
- - GitHub-style activity heatmap
52
- - Top models and providers breakdown
53
- - Estimated cost tracking
54
- - Shareable PNG image
55
- - Inline image display (Ghostty, Kitty, iTerm2, WezTerm, Konsole)
56
- - Auto-copy to clipboard
57
-
58
- ## Terminal Support
59
-
60
- The wrapped image displays natively in terminals that support inline images:
61
-
62
- | Terminal | Protocol | Status |
63
- | ------------------------------------------ | -------------- | --------------------------- |
64
- | [Ghostty](https://ghostty.org) | Kitty Graphics | ✅ Full support |
65
- | [Kitty](https://sw.kovidgoyal.net/kitty/) | Kitty Graphics | ✅ Full support |
66
- | [WezTerm](https://wezfurlong.org/wezterm/) | Kitty + iTerm2 | ✅ Full support |
67
- | [iTerm2](https://iterm2.com) | iTerm2 Inline | ✅ Full support |
68
- | [Konsole](https://konsole.kde.org) | Kitty Graphics | ✅ Full support |
69
- | Other terminals | — | ⚠️ Image saved to file only |
70
-
71
- ## Output
72
-
73
- The tool generates:
74
-
75
- 1. **Terminal Summary** — Quick stats overview in your terminal
76
- 2. **PNG Image** — A beautiful, shareable wrapped card saved to your home directory
77
- 3. **Clipboard** — Automatically copies the image to your clipboard
78
-
79
- ## Data Source
80
-
81
- Neovate Wrapped reads data from your local Neovate installation:
82
-
83
- ```
84
- ~/.neovate/projects/
85
- ```
86
-
87
- No data is sent anywhere. Everything is processed locally.
88
-
89
- ## Building
90
-
91
- ### Development
92
-
93
- ```bash
94
- # Run in development mode with hot reload
95
- bun run dev
96
- ```
97
-
98
- ### Production Build
99
-
100
- ```bash
101
- # Build for all platforms
102
- bun run build
103
- ```
104
-
105
- ### Releasing
106
-
107
- Releases are automated via [semantic-release](https://semantic-release.gitbook.io). Merging PRs with [conventional commits](https://www.conventionalcommits.org) to `main` triggers a release.
108
-
109
- ## Tech Stack
110
-
111
- - **Runtime**: [Bun](https://bun.sh)
112
- - **Image Generation**: [Satori](https://github.com/vercel/satori) + [Resvg](https://github.com/nicolo-ribaudo/resvg-js)
113
- - **CLI UI**: [@clack/prompts](https://github.com/natemoo-re/clack)
114
- - **Font**: IBM Plex Mono
115
-
116
- ## Contributing
117
-
118
- Contributions are welcome! Please feel free to submit a Pull Request.
119
-
120
- ## License
121
-
122
- MIT License - see [LICENSE](LICENSE) for details.
123
-
124
- ---
125
-
126
- <div align="center">
127
-
128
- Made with ❤️ for the [Neovate](https://neovateai.dev/en) community
129
-
130
- </div>
package/mise.toml DELETED
@@ -1,6 +0,0 @@
1
- [tools]
2
- bun = "1.3.5"
3
-
4
- [env]
5
- _.file = '.env'
6
- NPM_TOKEN = { required = true }