pi-spotify-widget 0.1.7 → 0.1.9

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/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## [0.1.9] - 2026-08-04
6
+
7
+ ### Changed
8
+
9
+ - Bump package version for the Discord release webhook verification.
10
+
11
+ ## [0.1.8] - 2026-07-20
12
+
13
+ ### Fixed
14
+
15
+ - Align README release command with `npm version patch --no-git-tag-version` so tagging stays with `auto-release.yml`.
16
+
17
+ ### Changed
18
+
19
+ - Add `version:check` PR guard and align CI bootstrap with the Pi extension template.
20
+
5
21
  ## [0.1.7] - 2026-07-04
6
22
 
7
23
  ### Fixed
package/README.md CHANGED
@@ -1,4 +1,6 @@
1
1
  # pi-spotify-widget
2
+
3
+ [![Join dotfield.xyz on Discord](https://img.shields.io/badge/Join%20dotfield.xyz%20on%20Discord-5865F2?logo=discord&logoColor=white)](https://discord.gg/4945dXZVW5)
2
4
 
3
5
  [![CI](https://github.com/eiei114/pi-spotify-widget/actions/workflows/ci.yml/badge.svg)](https://github.com/eiei114/pi-spotify-widget/actions/workflows/ci.yml)
4
6
  [![Publish](https://github.com/eiei114/pi-spotify-widget/actions/workflows/publish.yml/badge.svg)](https://github.com/eiei114/pi-spotify-widget/actions/workflows/publish.yml)
@@ -130,7 +132,7 @@ Then run:
130
132
  | `extensions/` | Pi TypeScript extension entrypoints (`index.ts`) |
131
133
  | `lib/` | Spotify auth, API client, widget render |
132
134
  | `skills/` | `spotify-playback` Agent Skill |
133
- | `docs/` | Release, examples, and maintainer checklist |
135
+ | `docs/` | Release and examples |
134
136
 
135
137
  ## Development
136
138
 
@@ -149,7 +151,7 @@ Before tagging, confirm `npm run ci` and `npm pack --dry-run` pass locally.
149
151
  This package is set up for npm Trusted Publishing, so no `NPM_TOKEN` is required.
150
152
 
151
153
  ```bash
152
- npm version patch
154
+ npm version patch --no-git-tag-version
153
155
  git push
154
156
  ```
155
157
 
@@ -161,7 +163,6 @@ See [`docs/release.md`](docs/release.md) for setup details.
161
163
 
162
164
  - [`docs/examples.md`](docs/examples.md)
163
165
  - [`docs/release.md`](docs/release.md)
164
- - [`docs/template-checklist.md`](docs/template-checklist.md) — maintainer setup checklist
165
166
 
166
167
  ## Security
167
168
 
@@ -181,4 +182,4 @@ Review extensions before installing third-party packages. For vulnerability repo
181
182
 
182
183
  ## License
183
184
 
184
- MIT
185
+ MIT
package/docs/examples.md CHANGED
@@ -1,15 +1,17 @@
1
1
  # Examples
2
2
 
3
- This template ships one minimal example for each Pi package resource type.
3
+ Pi Spotify Widget shows Now Playing in the prompt editor widget and exposes playback commands.
4
4
 
5
5
  ## Extension
6
6
 
7
- `extensions/hello.ts` registers:
7
+ `extensions/index.ts` registers:
8
8
 
9
- - `/template-hello`
10
- - a small session status indicator
9
+ - `/spotify:login`, `/spotify:status`, `/spotify:logout`
10
+ - `/spotify:refresh`, `/spotify:prev`, `/spotify:next`, `/spotify:pause`, `/spotify:play`
11
+ - `/spotify:help`, `/spotify:share`, `/spotify:play-uri`
12
+ - a prompt-editor widget with track, artist, and playback state
11
13
 
12
- Try it with:
14
+ Try it locally:
13
15
 
14
16
  ```bash
15
17
  pi -e .
@@ -18,32 +20,29 @@ pi -e .
18
20
  Then run:
19
21
 
20
22
  ```txt
21
- /template-hello YourName
23
+ /spotify:login
24
+ /spotify:status
25
+ /spotify:refresh
26
+ /spotify:next
27
+ /spotify:share
22
28
  ```
23
29
 
24
30
  ## Agent Skill
25
31
 
26
- `skills/example-skill/SKILL.md` demonstrates a minimal Agent Skill.
27
-
28
- Replace it with your real workflow instructions.
32
+ `skills/spotify-playback/SKILL.md` maps natural-language playback and share intents to the commands above.
29
33
 
30
- ## Prompt template
34
+ Replace or extend it when you add new playback workflows.
31
35
 
32
- `prompts/example.md` demonstrates a tiny prompt template with one variable.
36
+ ## OAuth setup
33
37
 
34
- ## Theme
38
+ Each user supplies a Spotify Developer app Client ID (PKCE; no Client Secret required).
35
39
 
36
- `themes/example-theme.json` is a placeholder theme. Replace it or remove `themes/` if your package does not ship themes.
40
+ Redirect URI: `http://127.0.0.1:8888/callback`
37
41
 
38
- ## Typed custom tool
39
-
40
- `extensions/index.ts` registers:
42
+ Optional environment variable before starting Pi:
41
43
 
42
- - `/template-info`
43
- - `template_greet` custom tool
44
-
45
- The tool demonstrates:
44
+ ```bash
45
+ export PI_SPOTIFY_CLIENT_ID="your_client_id_here"
46
+ ```
46
47
 
47
- - TypeBox object parameters
48
- - a string enum schema via `StringEnum`
49
- - shared logic imported from `lib/greeting.ts`
48
+ Tokens are stored locally under `~/.pi/agent/` and are not exposed in `/spotify:status` output.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-spotify-widget",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Lightweight Spotify Now Playing widget for Pi Coding Agent.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -32,7 +32,8 @@
32
32
  "typecheck": "tsc --noEmit",
33
33
  "test": "node --test tests/*.test.mjs",
34
34
  "ci": "npm run typecheck && npm test && npm run pack:check",
35
- "pack:check": "npm pack --dry-run"
35
+ "pack:check": "npm pack --dry-run",
36
+ "version:check": "node scripts/check-version-bump.mjs"
36
37
  },
37
38
  "pi": {
38
39
  "extensions": [
@@ -52,11 +53,11 @@
52
53
  "typebox": "*"
53
54
  },
54
55
  "devDependencies": {
55
- "@earendil-works/pi-ai": "latest",
56
- "@earendil-works/pi-coding-agent": "latest",
56
+ "@earendil-works/pi-ai": "^0.82.1",
57
+ "@earendil-works/pi-coding-agent": "^0.82.1",
57
58
  "@earendil-works/pi-tui": "latest",
58
59
  "typebox": "latest",
59
- "@types/node": "^25.9.1",
60
+ "@types/node": "^26.0.0",
60
61
  "typescript": "^6.0.3"
61
62
  }
62
63
  }
@@ -1,85 +0,0 @@
1
- # Template Setup Checklist
2
-
3
- このテンプレートから新しい Pi 拡張OSSを作った後に埋めること。
4
-
5
- ## Repository
6
-
7
- - [ ] GitHub repository name を決める
8
- - [ ] GitHub About 欄を書く
9
- - [ ] GitHub topics を設定する
10
- - [ ] `pi`
11
- - [ ] `pi-package`
12
- - [ ] `agent-skill`
13
- - [ ] `typescript`
14
- - [ ] GitHub Settingsで `Template repository` をONにする
15
- - [ ] Repository URL を `package.json` に反映する
16
- - [ ] README の `OWNER/REPO` を実リポジトリに置き換える
17
-
18
- ## Package metadata
19
-
20
- - [ ] `package.json` の `name` を変更する
21
- - [ ] `description` を書く
22
- - [ ] `author` を入れる
23
- - [ ] `repository.url` を埋める
24
- - [ ] `bugs.url` を埋める
25
- - [ ] `homepage` を埋める
26
- - [ ] `keywords` を見直す
27
- - [ ] `LICENSE` の年・名前を更新する
28
-
29
- ## README placeholders
30
-
31
- - [ ] `PACKAGE_DISPLAY_NAME` を置き換える
32
- - [ ] `PACKAGE_NAME` を置き換える
33
- - [ ] `OWNER/REPO` を置き換える
34
- - [ ] one-line pitch を書く
35
- - [ ] feature list を書く
36
- - [ ] quick start command を実コマンドにする
37
- - [ ] npm URL を確認する
38
- - [ ] GitHub URL を確認する
39
-
40
- ## Pi package manifest
41
-
42
- - [ ] `pi.extensions` に公開する拡張だけを残す
43
- - [ ] `pi.skills` に公開する skill だけを残す
44
- - [ ] 不要なら `prompts/` を消す
45
- - [ ] 不要なら `themes/` を消す
46
- - [ ] サンプル名を実名に変える
47
-
48
- ## TypeScript
49
-
50
- - [ ] `extensions/index.ts` を実装に合わせて更新する
51
- - [ ] `extensions/hello.ts` が不要なら削除する
52
- - [ ] 共通ロジックを `lib/` に切り出す
53
- - [ ] `strict: true` を維持する
54
- - [ ] custom tool parameters は TypeBox schema で定義する
55
- - [ ] string choices は `StringEnum` helper を使う
56
- - [ ] runtime dependency は `dependencies`、Pi提供packageは `peerDependencies` に置く
57
- - [ ] `package.json.files` に公開対象だけを入れる
58
-
59
- ## GitHub Template repo
60
-
61
- - [ ] `gh repo create --template OWNER/pi-extension-template` で作成できることを確認する
62
- - [ ] public/privateどちらの作成例もdocsに載せる
63
-
64
- ## CI / Release
65
-
66
- - [ ] `npm run ci` が通る
67
- - [ ] `npm pack --dry-run` が通る
68
- - [ ] npm Trusted Publishing を設定する
69
- - [ ] `NPM_TOKEN` を使っていないことを確認する
70
- - [ ] tag publish が動くことを初回リリースで確認する
71
-
72
- ## npm page
73
-
74
- - [ ] npm package URL を README に追加する
75
- - [ ] npm description が適切に表示されるか確認する
76
- - [ ] provenance が付いているか確認する
77
- - [ ] 不要なファイルが package に含まれていないか確認する
78
-
79
- ## Before first release
80
-
81
- - [ ] サンプルコードを実機 Pi でロードする
82
- - [ ] `pi install git:github.com/OWNER/REPO` を試す
83
- - [ ] `pi -e .` を試す
84
- - [ ] README のコマンドがコピペで動くか確認する
85
- - [ ] CHANGELOG に `0.1.0` を書く