Skip to content

Commit 2bd7777

Browse files
committed
docs: add v1.4.0 release notes and release agent instructions
1 parent 23877a4 commit 2bd7777

4 files changed

Lines changed: 169 additions & 9 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
applyTo: "**"
3+
excludeAgent: "code-review"
4+
---
5+
6+
# Release — instructions for Copilot coding agent
7+
8+
Follow these steps when cutting a new release of `github-code-search`.
9+
10+
## 1. Determine the version bump
11+
12+
This project follows [Semantic Versioning](https://semver.org/):
13+
14+
| Change type | Bump | Example |
15+
| ------------------------------------------ | ------- | -------------- |
16+
| Bug fix only (no new behaviour, no API change) | `patch` | 1.2.4 → 1.2.5 |
17+
| New feature, backward-compatible | `minor` | 1.2.4 → 1.3.0 |
18+
| Breaking change (CLI flag removed/renamed) | `major` | 1.2.4 → 2.0.0 |
19+
20+
## 2. Bump the version
21+
22+
```bash
23+
bun pm version patch # or minor / major
24+
```
25+
26+
If the working tree is dirty (staged or unstaged changes), `bun pm version` will refuse. In that case bump directly in `package.json`, then commit the version bump as the first commit on the release branch.
27+
28+
## 3. Write the blog post
29+
30+
**Required for minor and major releases. Optional (but encouraged) for patch releases.**
31+
32+
1. Create `docs/blog/release-v<X-Y-Z>.md` — use existing posts as format reference:
33+
- `docs/blog/release-v1-3-0.md` (minor, feature-focused)
34+
- `docs/blog/release-v1-4-0.md` (minor, TUI/community-focused)
35+
- Front-matter: `title`, `description`, `date` (ISO 8601).
36+
- Structure: `## Highlights` → one `###` section per major change group → `## Upgrade` at the bottom.
37+
- The upgrade section must include the `github-code-search upgrade` command and a link to the GitHub Releases page.
38+
39+
2. Update `docs/blog/index.md` — prepend a row to the `## v1 series` table:
40+
```markdown
41+
| [vX.Y.Z](./release-vX-Y-Z) | One-line summary of highlights |
42+
```
43+
44+
3. Update `CHANGELOG.md` — update (or add) the matching row in the table:
45+
```markdown
46+
| [vX.Y.Z](https://fulll.github.io/github-code-search/blog/release-vX-Y-Z) | One-line summary |
47+
```
48+
Never leave a row with `_pending_` in `CHANGELOG.md` when cutting the release.
49+
50+
## 4. Create the release branch and commit
51+
52+
```bash
53+
VERSION=$(jq -r .version package.json)
54+
git checkout -b release/$VERSION
55+
git add package.json docs/blog/release-v*.md docs/blog/index.md CHANGELOG.md
56+
git commit -S -m "v$VERSION"
57+
```
58+
59+
> **All commits must be signed** — use `git commit -S` or `git config --global commit.gpgsign true`.
60+
61+
## 5. Tag and push
62+
63+
```bash
64+
VERSION=$(jq -r .version package.json)
65+
git tag v$VERSION
66+
git push origin release/$VERSION --tags
67+
```
68+
69+
The tag push triggers **`cd.yaml`**:
70+
1. Builds self-contained binaries for all six targets.
71+
2. Creates a GitHub Release with all binaries attached.
72+
3. For major tags (`vX.0.0`): triggers `docs.yml` → docs snapshot + `versions.json` update.
73+
74+
Do **not** create the GitHub Release manually — the CD pipeline handles it.
75+
76+
## 6. Required validation before tagging
77+
78+
```bash
79+
bun test # full suite green
80+
bun run lint # oxlint — zero errors
81+
bun run format:check # oxfmt — no diff
82+
bun run knip # no unused exports
83+
bun run build.ts # binary compiles
84+
```
85+
86+
## 7. Post-release checklist
87+
88+
- [ ] GitHub Release created automatically by CD pipeline (verify within ~5 min after tag push)
89+
- [ ] Blog post live at `https://fulll.github.io/github-code-search/blog/release-vX-Y-Z`
90+
- [ ] `bun run docs:build` succeeds locally (spot-check the new blog entry)
91+
- [ ] `CHANGELOG.md` has no `_pending_` entries
92+
- [ ] For **major** releases: versioned docs snapshot available at `/github-code-search/vX/`
93+
94+
## 8. Module map — what to document per release type
95+
96+
| Changed area | Cover in the blog post |
97+
| -------------------------- | -------------------------------------------------------------------- |
98+
| `src/tui.ts` | UX / interaction changes (keyboard shortcuts, new modes) |
99+
| `src/render/` | Visual changes (colours, layout, new components) |
100+
| `src/aggregate.ts` | New filter or exclusion options |
101+
| `src/group.ts` | Team-grouping behaviour changes |
102+
| `src/output.ts` | New output formats or structural changes to existing ones |
103+
| `src/api.ts` | New GitHub API features, pagination changes, scope requirements |
104+
| `src/upgrade.ts` | Upgrade command improvements |
105+
| `github-code-search.ts` | New CLI flags, subcommands, breaking option renames |
106+
| Community / project files | SECURITY, CODE_OF_CONDUCT, CONTRIBUTING changes worth surfacing |

CHANGELOG.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ Release notes and changelogs are published on the **[project blog](https://fulll
44

55
Each release entry covers the motivation, new features, breaking changes (if any), and upgrade notes.
66

7-
| Version | Blog post |
8-
| ------------------------------------------------------------------------ | ------------------------------------------------- |
9-
| v1.4.0 | _pending_ |
10-
| [v1.3.0](https://fulll.github.io/github-code-search/blog/release-v1-3-0) | Team-prefix grouping, replay command, JSON output |
11-
| [v1.0.0](https://fulll.github.io/github-code-search/blog/release-v1-0-0) | Initial release |
7+
| Version | Blog post |
8+
| ------------------------------------------------------------------------ | ---------------------------------------------------- |
9+
| [v1.4.0](https://fulll.github.io/github-code-search/blog/release-v1-4-0) | TUI visual overhaul, community files, demo animation |
10+
| [v1.3.0](https://fulll.github.io/github-code-search/blog/release-v1-3-0) | Team-prefix grouping, replay command, JSON output |
11+
| [v1.0.0](https://fulll.github.io/github-code-search/blog/release-v1-0-0) | Initial release |
1212

1313
> For the full list of commits between releases, see the
1414
> [GitHub Releases page](https://github.com/fulll/github-code-search/releases).

docs/blog/index.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ Full release notes and changelogs are always available on
99

1010
## v1 series
1111

12-
| Release | Highlights |
13-
| -------------------------- | --------------------------------------------------------------------------------------------------- |
14-
| [v1.3.0](./release-v1-3-0) | Richer upgrade output, update-available notice, colorized `--help`, deep doc links, What's New blog |
15-
| [v1.0.0](./release-v1-0-0) | Initial public release — interactive TUI, per-repo aggregation, markdown / JSON output |
12+
| Release | Highlights |
13+
| -------------------------- | ----------------------------------------------------------------------------------------------------- |
14+
| [v1.4.0](./release-v1-4-0) | TUI visual overhaul, violet branding, demo animation, SECURITY / Code of Conduct, README improvements |
15+
| [v1.3.0](./release-v1-3-0) | Richer upgrade output, update-available notice, colorized `--help`, deep doc links, What's New blog |
16+
| [v1.0.0](./release-v1-0-0) | Initial public release — interactive TUI, per-repo aggregation, markdown / JSON output |
1617

1718
---
1819

docs/blog/release-v1-4-0.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: "What's new in v1.4.0"
3+
description: "TUI visual overhaul with violet branding, right-aligned match counts, animated demo, community files (SECURITY, Code of Conduct), and README improvements."
4+
date: 2026-02-27
5+
---
6+
7+
# What's new in github-code-search v1.4.0
8+
9+
> Full release notes: <https://github.com/fulll/github-code-search/releases/tag/v1.4.0>
10+
11+
## Highlights
12+
13+
### TUI visual overhaul
14+
15+
The interactive interface has been redesigned to match the project's visual identity:
16+
17+
- **Violet branding** — the cursor highlight, section separators and brand badge now use `bgMagenta` / `magenta` consistently throughout the UI.
18+
- **Brand badge header** — a `github-code-search` badge is displayed at the top of the screen alongside the current query and organisation, giving the TUI an immediately recognisable header.
19+
- **Green checkmarks** — selected items now show a green ``; deselected items show a blank space instead of an empty circle, reducing visual clutter.
20+
- **Refined arrows** — repository expand/collapse arrows changed from ``/`` to ``/``, matching the lighter style used in the documentation.
21+
- **Right-aligned match counts** — each repository row pads its match count flush with the right edge of the terminal window, making it easy to scan at a glance.
22+
23+
### Animated demo
24+
25+
A VHS-recorded demo animation (`demo/demo.gif`) now appears directly in the README, letting users see the tool in action before installing anything.
26+
27+
### Community & open-source hygiene
28+
29+
- **`SECURITY.md`** — responsible-disclosure policy with a private contact address and a clear timeline commitment.
30+
- **`CODE_OF_CONDUCT.md`** — Contributor Covenant 2.1, the industry-standard code of conduct.
31+
- **`CHANGELOG.md`** — root-level changelog pointing to this blog for per-release details.
32+
- **Social preview** — a `docs/public/social-preview.svg` (1280 × 640) provides a polished GitHub social card.
33+
34+
### README improvements
35+
36+
- **Features section** — eight bullet points summarising what the tool does.
37+
- **Use cases** — five concrete scenarios showing when `github-code-search` saves time.
38+
- **Comparison table** — side-by-side comparison with `gh search code`, highlighting why an interactive TUI matters.
39+
40+
### `package.json` discoverability
41+
42+
Added `repository`, `homepage` and `bugs` fields, plus 18 keywords, so the package is correctly indexed on npmjs.com and pkg.pr.new.
43+
44+
---
45+
46+
## Upgrade
47+
48+
```bash
49+
github-code-search upgrade
50+
```
51+
52+
Or grab the latest binary directly from the
53+
[GitHub Releases page](https://github.com/fulll/github-code-search/releases/tag/v1.4.0).

0 commit comments

Comments
 (0)