@einsia/agent-git 0.0.9 → 0.1.1
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 +69 -0
- package/README.md +12 -0
- package/package.json +7 -6
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Every notable change to agit, the AgentGit CLI, by release. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versions follow
|
|
5
|
+
[Semantic Versioning](https://semver.org/). A version's section here is the body of
|
|
6
|
+
its [GitHub Release](https://github.com/Einsia/agent-git/releases), and the
|
|
7
|
+
`@einsia/agent-git` npm package ships this file.
|
|
8
|
+
|
|
9
|
+
## [0.1.1] - 2026-09-04
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **A terminal interface for people.** `agit`, `agit resume`, `agit new`, `agit log`,
|
|
14
|
+
`agit import`, `agit init` and `agit config` open a full-screen interface when run in
|
|
15
|
+
an interactive terminal without their key argument: browse sessions, repositories,
|
|
16
|
+
the timeline and conversation content; name and adopt sessions that are not tracked
|
|
17
|
+
yet; an `init` wizard and a `config` editor; hand the terminal to Claude Code or
|
|
18
|
+
Codex and come back to refreshed lists. Pipes, CI, scripts and agent sessions keep
|
|
19
|
+
the existing output, and `--no-tui`, `AGIT_TUI=0` or any machine-output flag
|
|
20
|
+
(`--json`, `-q`, `-y`) turns it off. See [docs/07_tui.md](docs/07_tui.md).
|
|
21
|
+
- **Update check.** On user-facing startup agit checks, at most once a day, whether the
|
|
22
|
+
hub announces a newer release and prints a reminder; `agit upgrade` installs it.
|
|
23
|
+
Nothing upgrades on its own.
|
|
24
|
+
- **A file keystore for machines without a credential store.** On an SSH login or a CI
|
|
25
|
+
runner no Secret Service answers, so the secret-filter key had nowhere to go and the
|
|
26
|
+
first `agit commit` whose transcript carried a heuristic finding failed with "cannot
|
|
27
|
+
open the operating-system credential store". `agit config secrets.keystore file` (or
|
|
28
|
+
`AGIT_SECRETS_KEYSTORE=file`) keeps the key in a private file under
|
|
29
|
+
`$AGIT_HOME/keystore/` instead. Unix only, chosen explicitly and never a silent
|
|
30
|
+
fallback; its protection is the file mode, so a backup of `$AGIT_HOME` carries the key
|
|
31
|
+
along with the global vault — the boundary is drawn in
|
|
32
|
+
[docs/05_global_secret_filter.md](docs/05_global_secret_filter.md).
|
|
33
|
+
- **`agit doctor` reports the secret keystore.** It probes the configured store the way
|
|
34
|
+
a commit uses it and unlocks the vault if one exists, so a machine that cannot hold
|
|
35
|
+
the key shows up at setup time rather than at the first commit that finds a secret.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- `agit fork` of a sealed branch no longer produces a sealed branch: the seal marker is
|
|
40
|
+
branch-local and is dropped when the fork gets its identity (issue 23).
|
|
41
|
+
- Codex sessions under a custom `CODEX_HOME` are discovered and settled, and the
|
|
42
|
+
SessionStart and Stop hooks locate the session and settle it correctly.
|
|
43
|
+
- Missing local branches, phantom `origin` branches, the log limit's performance, and
|
|
44
|
+
cursor restoration after leaving the interface.
|
|
45
|
+
- When the OS credential store is unavailable, the error names both remedies — install
|
|
46
|
+
and configure a credential store, or select the file keystore. Every other keyring
|
|
47
|
+
error keeps its own meaning.
|
|
48
|
+
- Hints are highlighted in bright magenta so they stand out from ordinary output.
|
|
49
|
+
|
|
50
|
+
### Internal
|
|
51
|
+
|
|
52
|
+
- The GitHub mirror job clears stale replace refs before planting the graft, so a reused
|
|
53
|
+
runner checkout no longer aborts the mirror.
|
|
54
|
+
|
|
55
|
+
## [0.1.0] - 2026-09-01
|
|
56
|
+
|
|
57
|
+
First public release.
|
|
58
|
+
|
|
59
|
+
- Lossless version control for agent sessions: `agit import`, `commit`, `push`, `clone`
|
|
60
|
+
and `resume` for Claude Code, Codex, OpenCode and Cursor.
|
|
61
|
+
- Session lines as branches, workspaces, forks and merges across several people.
|
|
62
|
+
- Secret scanning before publishing, a device-local filter for registered low-entropy
|
|
63
|
+
secrets, and reversible repository-local placeholders.
|
|
64
|
+
- Distribution through npm — `npx -y create-agit` or `npm i -g @einsia/agent-git` — with
|
|
65
|
+
per-platform packages for Linux and macOS on x64 and arm64, and GitHub Release
|
|
66
|
+
artifacts with `SHA256SUMS`.
|
|
67
|
+
|
|
68
|
+
[0.1.1]: https://github.com/Einsia/agent-git/releases/tag/agit-v0.1.1
|
|
69
|
+
[0.1.0]: https://github.com/Einsia/agent-git/releases/tag/agit-v0.1.0
|
package/README.md
CHANGED
|
@@ -19,6 +19,10 @@ agit clone <owner>/<agent> fetch (with git history) and pick up right aw
|
|
|
19
19
|
agit upgrade upgrade the CLI itself to the latest release the hub announces
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
On user-facing startup, `agit` checks for a newer release at most once a day and prints a
|
|
23
|
+
reminder to stderr; it never upgrades automatically. JSON/quiet/CI and internal hook/MCP paths
|
|
24
|
+
skip this reminder.
|
|
25
|
+
|
|
22
26
|
Adopting and recording the first version are one command — the in-between
|
|
23
27
|
state ("linked, but unversioned") means nothing to anyone. To mark a session
|
|
24
28
|
without versioning it (e.g. offline), pass `--link-only`.
|
|
@@ -114,6 +118,7 @@ unreleased versions".
|
|
|
114
118
|
| Probed storage formats of each runtime | [`docs/mechanism-probing/`](docs/mechanism-probing/) |
|
|
115
119
|
| npm package behavior and env vars | [`npm/README.md`](npm/README.md) |
|
|
116
120
|
| Release artifact naming contract | [`.github/RELEASE_ARTIFACTS.md`](.github/RELEASE_ARTIFACTS.md) |
|
|
121
|
+
| What changed in each release | [`CHANGELOG.md`](CHANGELOG.md) |
|
|
117
122
|
|
|
118
123
|
The server (**AgentGit**) is a separate repository, deployed on its own.
|
|
119
124
|
|
|
@@ -127,6 +132,13 @@ agree with it (`node scripts/check-version.js` — run in CI and before
|
|
|
127
132
|
node scripts/bump-version.mjs 0.1.0 # Cargo.toml + Cargo.lock + all npm manifests
|
|
128
133
|
```
|
|
129
134
|
|
|
135
|
+
Release notes live in [`CHANGELOG.md`](CHANGELOG.md), and they come first: write the
|
|
136
|
+
version's `## [x.y.z]` section, then bump. `bump-version.mjs` refuses to touch a file for
|
|
137
|
+
a version that has no section, and `check-version.js` refuses one in CI and before `npm pack`.
|
|
138
|
+
The section becomes the GitHub Release body (`scripts/release-notes.mjs` extracts it in
|
|
139
|
+
`release.yml`, with repository-relative links pinned to the release tag) and ships inside
|
|
140
|
+
the `@einsia/agent-git` package.
|
|
141
|
+
|
|
130
142
|
Pushing the tag runs the whole chain — binaries first, npm right after:
|
|
131
143
|
|
|
132
144
|
```sh
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@einsia/agent-git",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Version control for agent sessions — the agit CLI plus skills/hooks/MCP wiring for Claude Code, Codex, OpenCode and Cursor. The AgentGit hub deploys separately.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agit",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"npm/postinstall.js",
|
|
34
34
|
"npm/lib/",
|
|
35
35
|
"npm/README.md",
|
|
36
|
-
"README.md"
|
|
36
|
+
"README.md",
|
|
37
|
+
"CHANGELOG.md"
|
|
37
38
|
],
|
|
38
39
|
"scripts": {
|
|
39
40
|
"postinstall": "node npm/postinstall.js",
|
|
@@ -48,9 +49,9 @@
|
|
|
48
49
|
"access": "public"
|
|
49
50
|
},
|
|
50
51
|
"optionalDependencies": {
|
|
51
|
-
"@einsia/agent-git-linux-x64": "0.
|
|
52
|
-
"@einsia/agent-git-linux-arm64": "0.
|
|
53
|
-
"@einsia/agent-git-darwin-x64": "0.
|
|
54
|
-
"@einsia/agent-git-darwin-arm64": "0.
|
|
52
|
+
"@einsia/agent-git-linux-x64": "0.1.1",
|
|
53
|
+
"@einsia/agent-git-linux-arm64": "0.1.1",
|
|
54
|
+
"@einsia/agent-git-darwin-x64": "0.1.1",
|
|
55
|
+
"@einsia/agent-git-darwin-arm64": "0.1.1"
|
|
55
56
|
}
|
|
56
57
|
}
|