Skip to content

Commit 7d83333

Browse files
committed
release: prepare v0.1.5
1 parent 58613ef commit 7d83333

12 files changed

Lines changed: 342 additions & 221 deletions

‎.github/social-preview.html‎

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=1280, initial-scale=1">
6+
<title>Kimi Code CLI Launcher social preview</title>
7+
<style>
8+
* { box-sizing: border-box; }
9+
html, body { width: 1280px; height: 640px; margin: 0; overflow: hidden; }
10+
body {
11+
color: #f8fbff;
12+
background:
13+
radial-gradient(circle at 78% 18%, rgba(80, 181, 255, .24), transparent 28%),
14+
radial-gradient(circle at 18% 88%, rgba(19, 113, 224, .20), transparent 32%),
15+
linear-gradient(135deg, #080d19 0%, #0b1426 52%, #101d34 100%);
16+
font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
17+
}
18+
.frame {
19+
position: relative;
20+
display: grid;
21+
grid-template-columns: 320px 1fr;
22+
align-items: center;
23+
gap: 74px;
24+
width: 100%;
25+
height: 100%;
26+
padding: 72px 86px;
27+
}
28+
.frame::before {
29+
content: "";
30+
position: absolute;
31+
inset: 22px;
32+
border: 1px solid rgba(129, 196, 255, .14);
33+
border-radius: 34px;
34+
pointer-events: none;
35+
}
36+
.mark {
37+
width: 292px;
38+
height: 292px;
39+
filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .42));
40+
}
41+
.eyebrow {
42+
margin: 0 0 18px;
43+
color: #75c7ff;
44+
font-size: 24px;
45+
font-weight: 700;
46+
letter-spacing: .16em;
47+
text-transform: uppercase;
48+
}
49+
h1 {
50+
max-width: 720px;
51+
margin: 0;
52+
font-size: 68px;
53+
font-weight: 760;
54+
letter-spacing: -.045em;
55+
line-height: .98;
56+
}
57+
.tagline {
58+
max-width: 690px;
59+
margin: 26px 0 34px;
60+
color: #b8c9df;
61+
font-size: 29px;
62+
line-height: 1.32;
63+
}
64+
.platforms {
65+
display: flex;
66+
gap: 12px;
67+
margin: 0;
68+
padding: 0;
69+
list-style: none;
70+
}
71+
.platforms li {
72+
padding: 9px 15px;
73+
color: #dcecff;
74+
background: rgba(255, 255, 255, .055);
75+
border: 1px solid rgba(151, 207, 255, .18);
76+
border-radius: 999px;
77+
font-size: 18px;
78+
font-weight: 600;
79+
}
80+
</style>
81+
</head>
82+
<body>
83+
<main class="frame">
84+
<img class="mark" src="../media/icon.png" alt="">
85+
<section>
86+
<p class="eyebrow">VS Code extension</p>
87+
<h1>Kimi Code CLI Launcher</h1>
88+
<p class="tagline">Open Kimi in a fresh, workspace-aware side terminal — in one click.</p>
89+
<ul class="platforms" aria-label="Supported platforms">
90+
<li>Windows</li>
91+
<li>macOS</li>
92+
<li>Linux</li>
93+
</ul>
94+
</section>
95+
</main>
96+
</body>
97+
</html>

‎.github/social-preview.png‎

439 KB
Loading

‎.github/workflows/release.yml‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,12 @@ jobs:
4242
run: npm run check:security
4343

4444
- name: Build VSIX
45-
run: npm run package
45+
shell: bash
46+
run: |
47+
npm run package
48+
PACKAGE_VERSION="$(node -p "require('./package.json').version")"
49+
VSIX="vscode-kimi-code-cli-launcher-$PACKAGE_VERSION.vsix"
50+
sha256sum "$VSIX" > "$VSIX.sha256"
4651
4752
- name: Create or update GitHub release
4853
shell: bash
@@ -52,7 +57,7 @@ jobs:
5257
PACKAGE_VERSION="$(node -p "require('./package.json').version")"
5358
VSIX="vscode-kimi-code-cli-launcher-$PACKAGE_VERSION.vsix"
5459
if gh release view "$GITHUB_REF_NAME" >/dev/null 2>&1; then
55-
gh release upload "$GITHUB_REF_NAME" "$VSIX" --clobber
60+
gh release upload "$GITHUB_REF_NAME" "$VSIX" "$VSIX.sha256" --clobber
5661
else
57-
gh release create "$GITHUB_REF_NAME" "$VSIX" --generate-notes --title "$GITHUB_REF_NAME" --verify-tag
62+
gh release create "$GITHUB_REF_NAME" "$VSIX" "$VSIX.sha256" --generate-notes --title "Kimi Code CLI Launcher $GITHUB_REF_NAME" --verify-tag
5863
fi

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ out/**/*.map
66
.env.*
77
!.env.example
88
*.vsix
9+
*.vsix.sha256
910
*.tgz
1011
.vscode-test/
1112
.vsce/

‎CHANGELOG.md‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
66

77
## Unreleased
88

9+
## 0.1.5 - 2026-08-08
10+
11+
### Added
12+
13+
- Added a real Extension Host workflow image and a custom, reproducible GitHub social preview
14+
- Added SHA-256 checksum assets to GitHub releases
15+
16+
### Changed
17+
18+
- Reworked the README around installation, product value, trust boundaries, and the distinction from the official Kimi extension
19+
- Moved detailed development, validation, packaging, and release guidance into `CONTRIBUTING.md`
20+
- Standardized GitHub release titles and prepared curated release notes
21+
922
### Security
1023

1124
- Updated transitive `js-yaml` and `undici` development dependencies to remediate current high-severity advisories

‎CITATION.cff‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ authors:
55
- family-names: Gasperini
66
given-names: Michael
77
url: "https://github.com/TheStreamCode/vscode-kimi-code-cli-launcher"
8-
version: "0.1.4"
9-
date-released: "2026-08-02"
8+
version: "0.1.5"
9+
date-released: "2026-08-08"
1010
license: MIT

‎CONTRIBUTING.md‎

Lines changed: 100 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,120 @@
11
# Contributing
22

3-
Thanks for your interest in improving Kimi Code CLI Launcher.
3+
Thanks for your interest in improving Kimi Code CLI Launcher. Keep changes focused: this is intentionally a small VS Code extension with no production dependencies.
44

5-
## Development
5+
## Architecture
6+
7+
| Path | Responsibility |
8+
| --- | --- |
9+
| `src/extension.ts` | VS Code activation, commands, trust gate, and terminal creation |
10+
| `src/command-utils.ts` | Pure configuration, naming, settings-query, and workspace helpers |
11+
| `test/*.test.js` | Unit, security-boundary, metadata, and packaging-contract tests |
12+
| `test/integration/` | Real VS Code Extension Host smoke test |
13+
| `media/` | Marketplace, toolbar, and README artwork |
14+
15+
The runtime uses VS Code APIs only. Do not add hidden processes, installers, downloads, telemetry, terminal-output inspection, credential handling, or production dependencies without a compelling and reviewed requirement.
16+
17+
## Development Setup
618

719
Requirements:
820

9-
- Node.js 22.19.0 or later
10-
- npm
21+
- Node.js 22.19.0 or later; `.nvmrc` selects the maintained Node.js 22 line
22+
- npm and Git
1123
- VS Code `^1.103.0` or later
24+
- Xvfb for Extension Host tests on a headless Linux machine
1225

13-
Install dependencies and run the complete validation suite:
26+
Install exactly the locked dependency graph:
1427

1528
```bash
1629
npm ci --ignore-scripts
30+
```
31+
32+
The ignored install scripts belong to optional publishing and signing dependencies. They are not required to compile, test, inspect, or package this extension.
33+
34+
## Validation
35+
36+
| Command | Purpose |
37+
| --- | --- |
38+
| `npm run compile` | Compile TypeScript to the ignored `out/` directory |
39+
| `npm run watch` | Recompile while source files change |
40+
| `npm run typecheck` | Run strict TypeScript checks without emitting files |
41+
| `npm run lint` | Lint source and tests with Biome |
42+
| `npm run format:check` | Verify source and test formatting |
43+
| `npm run format` | Apply the configured formatter |
44+
| `npm run test:unit` | Compile and run unit and metadata tests |
45+
| `npm run test:integration` | Run the VS Code Extension Host smoke test |
46+
| `npm run check:security` | Audit the locked graph at high severity |
47+
| `npm run check` | Run lint, formatting, type-checking, all tests, and package inspection |
48+
| `npm run package` | Build the installable VSIX |
49+
50+
Before opening a pull request, run:
51+
52+
```bash
1753
npm run check
1854
npm run check:security
55+
git diff --check
56+
```
57+
58+
CI repeats the lockfile audit every Monday. Scheduled runs execute the audit only; pull requests and pushes run the full cross-platform validation and compatibility matrix.
59+
60+
To test the minimum supported VS Code version locally:
61+
62+
```powershell
63+
$env:VSCODE_TEST_VERSION = '1.103.0'
64+
npm run test:integration
65+
```
66+
67+
On a headless Linux host:
68+
69+
```bash
70+
xvfb-run -a npm run check
1971
```
2072

21-
Keep changes focused and covered by tests. Update the README and changelog when user-facing behavior changes.
73+
## Security Invariants
2274

23-
Do not add copied Kimi assets, automatic installers, telemetry, hidden command execution, or credentials. Preserve the user-level-only command setting and Workspace Trust guard.
75+
- Preserve the Workspace Trust check at the execution boundary.
76+
- Resolve executable commands from user-level configuration only; ignore workspace and workspace-folder values.
77+
- Send the command visibly through VS Code's terminal API.
78+
- Never log commands, credentials, terminal output, or full sensitive paths.
79+
- Keep `src/command-utils.ts` independent from the VS Code runtime where practical.
2480

25-
Formatting and linting are enforced by Biome. Run `npm run format` when `npm run format:check` reports differences.
81+
Add targeted regression tests whenever one of these boundaries changes. Do not add copied Kimi assets, `.env` files, publisher tokens, or automatic installation and authentication flows.
2682

2783
## Pull Requests
2884

29-
- Explain the problem and the observable behavior change.
30-
- Add or update targeted tests.
31-
- Preserve Workspace Trust protections.
32-
- Run `npm run check` before submitting.
33-
- Run `npm run check:security` after dependency changes.
34-
- Do not include generated VSIX files.
85+
- Explain the problem and observable behavior change.
86+
- Add or update focused tests.
87+
- Update README and changelog content for user-visible changes.
88+
- Preserve the existing icon and artwork unless the change specifically concerns visual presentation.
89+
- Do not commit `out/`, `.vscode-test/`, `node_modules/`, or generated VSIX files.
90+
- Keep action permissions minimal and pin actions to full commit SHAs.
91+
92+
`main` is protected. Normal contributions land through a branch and pull request with the required checks and maintainer review.
93+
94+
## Packaging and Release
95+
96+
Build a local package only after the complete validation suite passes:
97+
98+
```bash
99+
npm run check
100+
npm run check:security
101+
npm run package
102+
```
103+
104+
For a release:
105+
106+
1. Run `npm version <x.y.z> --no-git-tag-version`.
107+
2. Synchronize the version and real release date in `CITATION.cff`, `CHANGELOG.md`, README installation examples, and metadata tests.
108+
3. Re-run all validation and inspect `npm run package:list`.
109+
4. Commit the validated changes and push the matching `v<x.y.z>` tag.
110+
111+
The `Release` workflow verifies the tag/version match, reruns validation and the security audit, packages the VSIX, creates a SHA-256 checksum, and creates or updates the GitHub release.
112+
113+
VS Code Marketplace and Open VSX publishing are separate manual maintainer steps:
114+
115+
```bash
116+
npx @vscode/vsce publish --packagePath vscode-kimi-code-cli-launcher-<version>.vsix
117+
npx ovsx publish vscode-kimi-code-cli-launcher-<version>.vsix
118+
```
119+
120+
These commands require registry publisher tokens. Tokens are deliberately absent from the repository, local automation, and GitHub Actions.

0 commit comments

Comments
 (0)