Skip to content

Commit ecfcf18

Browse files
committed
chore: release v1.2.0 and publish helper scripts
- Bump package version to 1.2.0 - Ignore persona/ local workspace folder
1 parent 34f73a3 commit ecfcf18

5 files changed

Lines changed: 142 additions & 1 deletion

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ config.json
1212
dist/
1313

1414
# Cloned repos live in the user's workspace directory (outside this project)
15+
# Safety: ignore local workspace folders if created inside this repo by mistake
16+
persona/
1517

1618
# Environment variables
1719
.env

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gitdock",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "Local dashboard for managing multiple GitHub accounts",
55
"license": "Apache-2.0",
66
"repository": {

scripts/publish-v1.2.0.ps1

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# GitDock v1.2.0 - publish branch, PR, and release helper
2+
# Run from repo root: pwsh -File scripts/publish-v1.2.0.ps1
3+
# Optional: pwsh -File scripts/publish-v1.2.0.ps1 -Push -CreatePr
4+
5+
param(
6+
[switch]$Push,
7+
[switch]$CreatePr
8+
)
9+
10+
$ErrorActionPreference = "Stop"
11+
Set-Location (Split-Path $PSScriptRoot -Parent)
12+
13+
function Require-GitIdentity {
14+
$name = git config user.name 2>$null
15+
$email = git config user.email 2>$null
16+
if (-not $name -or -not $email) {
17+
Write-Host "Git user.name / user.email are not set for this repo or globally." -ForegroundColor Red
18+
Write-Host "Run once (use your GitHub noreply email if you prefer):" -ForegroundColor Yellow
19+
Write-Host ' git config --global user.name "Your Name"'
20+
Write-Host ' git config --global user.email "you@users.noreply.github.com"'
21+
exit 1
22+
}
23+
}
24+
25+
function Ensure-Branch {
26+
$branch = git branch --show-current
27+
if ($branch -ne "feat/v1.2.0-setup-and-dashboard-ux") {
28+
git checkout -b feat/v1.2.0-setup-and-dashboard-ux 2>$null
29+
if ($LASTEXITCODE -ne 0) {
30+
git checkout feat/v1.2.0-setup-and-dashboard-ux
31+
}
32+
}
33+
}
34+
35+
Require-GitIdentity
36+
Ensure-Branch
37+
38+
# Reset staging so commits are predictable
39+
git reset HEAD 2>$null | Out-Null
40+
41+
git add server.js dashboard.html
42+
git commit -m @"
43+
feat(app): align account setup with GitHub SSH and token docs
44+
45+
- Use published GitHub SSH host key fingerprints in known_hosts
46+
- SSH verify feedback, fine-grained PAT checks, optional Remember in OS credential store
47+
- Dashboard: dormant repos, cloned border, action control bar, modal backdrop and Escape
48+
- Remove sidebar Activity log
49+
"@
50+
51+
git add README.md site/privacy.html
52+
git commit -m @"
53+
docs: update README and privacy for tokens and dormant repos
54+
55+
- Document PAT session and OS credential store behavior
56+
- Clarify dormant repo detection vs Hub stale machines
57+
- Refresh interface and tech stack sections
58+
"@
59+
60+
git add site/index.html site/download.html
61+
git commit -m @"
62+
docs(site): align marketing copy and security wording
63+
64+
- Replace em dash punctuation in user-facing copy
65+
- Align token and dormant messaging with the app
66+
"@
67+
68+
git add package.json .gitignore scripts/publish-v1.2.0.ps1 scripts/release-v1.2.0-pr-body.md scripts/release-v1.2.0-notes.md
69+
git commit -m @"
70+
chore: release v1.2.0 and publish helper scripts
71+
72+
- Bump package version to 1.2.0
73+
- Ignore persona/ local clone workspace if created inside the repo
74+
- Add scripts to open PR and paste GitHub Release notes
75+
"@
76+
77+
Write-Host "`nCommits on branch feat/v1.2.0-setup-and-dashboard-ux:" -ForegroundColor Green
78+
git log --oneline -4
79+
80+
if ($Push) {
81+
git push -u origin feat/v1.2.0-setup-and-dashboard-ux
82+
Write-Host "`nBranch pushed." -ForegroundColor Green
83+
}
84+
85+
if ($CreatePr) {
86+
if (-not (Get-Command gh -ErrorAction SilentlyContinue)) {
87+
Write-Host "GitHub CLI (gh) not found. Install gh and run: gh auth login" -ForegroundColor Red
88+
exit 1
89+
}
90+
$bodyFile = Join-Path $PSScriptRoot "release-v1.2.0-pr-body.md"
91+
gh pr create --base main --head feat/v1.2.0-setup-and-dashboard-ux `
92+
--title "Release prep: v1.2.0 setup, dashboard UX, and docs" `
93+
--body-file $bodyFile
94+
Write-Host "`nPR created. Review and merge on GitHub." -ForegroundColor Green
95+
}
96+
97+
if (-not $Push) {
98+
Write-Host "`nNext (after reviewing commits):" -ForegroundColor Cyan
99+
Write-Host " pwsh -File scripts/publish-v1.2.0.ps1 -Push -CreatePr"
100+
Write-Host "`nAfter merge, create GitHub Release tag v1.2.0 (see scripts/release-v1.2.0-notes.md)." -ForegroundColor Cyan
101+
}

scripts/release-v1.2.0-notes.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## What's new
2+
3+
### Account setup
4+
- Setup timeline aligned with [GitHub SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) docs (published host key fingerprints, `ssh -T` verify)
5+
- Fine-grained PAT with **Contents** read (and optional **Git SSH keys** for upload-via-API)
6+
- Optional **Remember** stores PAT in your OS credential store (Windows Credential Manager, macOS Keychain, or Linux Secret Service). Never written to `config.json`
7+
8+
### Dashboard UX
9+
- **Dormant** badge and filter for repos with no recent activity (last local commit if cloned, otherwise GitHub `updated_at`)
10+
- Cloned repos: subtle green border for quick scanning
11+
- Repo actions grouped in one control bar per card
12+
- Modals close when clicking outside or pressing Escape
13+
- Removed sidebar Activity log (toasts and SSE remain)
14+
15+
### Docs
16+
- README and site copy updated for tokens, dormant repos, and Hub terminology
17+
18+
## Upgrade notes
19+
20+
- Existing accounts: open **Manage Accounts → Setup Status** if SSH or API steps need a re-check
21+
- Download a build below or run from source: `git pull`, `npm install`, `npm start`

scripts/release-v1.2.0-pr-body.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Summary
2+
3+
- **Account setup:** Official GitHub `known_hosts` fingerprints, SSH `-T` verification with UI feedback, fine-grained PAT validation, optional **Remember** in the OS credential store (never in `config.json`)
4+
- **Dashboard UX:** **Dormant** repos (renamed from stale), green border on cloned cards, segmented action control bar, modals close on backdrop click and Escape, sidebar Activity log removed
5+
- **Docs and site:** README, privacy, and marketing copy aligned with real token and dormant behavior; Hub **stale** (machines) vs dashboard **dormant** (repos) clarified
6+
7+
## Test plan
8+
9+
- [ ] Add or re-run account setup (SSH verify + token or `gh`)
10+
- [ ] Load repos; check dormant badge and filters
11+
- [ ] Cloned card: green border and control bar actions (Details, Git, Pull, Fetch)
12+
- [ ] Account Manager and other modals close on outside click and Escape
13+
- [ ] Settings shows version **v1.2.0** after bump
14+
15+
## Release
16+
17+
After merge: publish GitHub Release **`v1.2.0`** (CI attaches Windows/macOS/Linux zips). Release notes: `scripts/release-v1.2.0-notes.md`.

0 commit comments

Comments
 (0)