neovate-code-wrapped 1.0.1 → 1.0.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/package.json +29 -39
- package/.releaserc.mjs +0 -28
- package/LICENSE +0 -21
- package/README.md +0 -130
- package/mise.toml +0 -6
- /package/{scripts/postinstall.mjs → postinstall.mjs} +0 -0
package/package.json
CHANGED
|
@@ -1,49 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neovate-code-wrapped",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"author": {
|
|
5
|
-
"name": "iamdin",
|
|
6
|
-
"email": "iamdinq@gmail.com"
|
|
7
|
-
},
|
|
3
|
+
"version": "1.0.3",
|
|
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.3",
|
|
13
|
+
"neovate-code-wrapped-linux-x64": "1.0.3",
|
|
14
|
+
"neovate-code-wrapped-linux-x64-baseline": "1.0.3",
|
|
15
|
+
"neovate-code-wrapped-linux-arm64-musl": "1.0.3",
|
|
16
|
+
"neovate-code-wrapped-linux-x64-musl": "1.0.3",
|
|
17
|
+
"neovate-code-wrapped-linux-x64-baseline-musl": "1.0.3",
|
|
18
|
+
"neovate-code-wrapped-darwin-arm64": "1.0.3",
|
|
19
|
+
"neovate-code-wrapped-darwin-x64": "1.0.3",
|
|
20
|
+
"neovate-code-wrapped-darwin-x64-baseline": "1.0.3",
|
|
21
|
+
"neovate-code-wrapped-windows-x64": "1.0.3",
|
|
22
|
+
"neovate-code-wrapped-windows-x64-baseline": "1.0.3"
|
|
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
|
-
"
|
|
16
|
-
|
|
17
|
-
"
|
|
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
|
-
"
|
|
40
|
-
|
|
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
|
+
}
|
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)
|
|
10
|
-
[](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
|
File without changes
|