Skip to content

Commit 2607e2d

Browse files
lroolleclaude
andauthored
feat: multi-provider support (Claude Code + Codex)
* chore(docs): update * feat(provider): add Codex and multi-provider session support - add test coverage * feat(memory): support display & search memory * chore(release): switch to GoReleaser, add install script Replace manual cross-compile release workflow with GoReleaser v2. Add one-liner install script with platform detection and fallback. Update SKILL.md for multi-provider support and new features. Add Makefile skill target for packaging. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(lint): check json.Unmarshal return, simplify nil check Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6ba9127 commit 2607e2d

48 files changed

Lines changed: 9869 additions & 365 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 10 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -22,64 +22,17 @@ jobs:
2222
with:
2323
go-version-file: 'go.mod'
2424

25-
- name: Build all platforms
26-
run: |
27-
VERSION=${GITHUB_REF_NAME#v}
28-
BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
29-
LDFLAGS="-s -w -X main.version=${VERSION} -X main.buildTime=${BUILD_TIME}"
30-
31-
mkdir -p dist
32-
33-
# No CGO - pure Go cross-compilation
34-
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags "$LDFLAGS" -o dist/ccx-darwin-arm64 ./cmd/ccx
35-
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags "$LDFLAGS" -o dist/ccx-darwin-amd64 ./cmd/ccx
36-
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "$LDFLAGS" -o dist/ccx-linux-amd64 ./cmd/ccx
37-
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags "$LDFLAGS" -o dist/ccx-linux-arm64 ./cmd/ccx
25+
- name: Run GoReleaser
26+
uses: goreleaser/goreleaser-action@v6
27+
with:
28+
version: '~> v2'
29+
args: release --clean
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3832

39-
- name: Create archives
33+
- name: Package and upload skill bundle
4034
run: |
41-
mkdir -p release
42-
VERSION=${GITHUB_REF_NAME#v}
43-
44-
for binary in dist/ccx-*; do
45-
name=$(basename "$binary")
46-
parts=(${name//-/ })
47-
os=${parts[1]}
48-
arch=${parts[2]}
49-
50-
if [[ "$os" == "darwin" ]]; then
51-
os_name="macOS"
52-
else
53-
os_name="linux"
54-
fi
55-
56-
if [[ "$arch" == "amd64" ]]; then
57-
arch_name="x86_64"
58-
else
59-
arch_name="arm64"
60-
fi
61-
62-
archive_name="ccx_${VERSION}_${os_name}_${arch_name}"
63-
mkdir -p "release/${archive_name}"
64-
cp "$binary" "release/${archive_name}/ccx"
65-
chmod +x "release/${archive_name}/ccx"
66-
cp LICENSE README.md "release/${archive_name}/"
67-
68-
tar -czvf "release/${archive_name}.tar.gz" -C release "${archive_name}"
69-
done
70-
71-
cd release && sha256sum *.tar.gz > checksums.txt
72-
73-
- name: Package skill bundle
74-
run: zip -r release/ccx.skill skills/ccx/
75-
76-
- name: Create Release
77-
uses: softprops/action-gh-release@v1
78-
with:
79-
files: |
80-
release/*.tar.gz
81-
release/checksums.txt
82-
release/ccx.skill
83-
generate_release_notes: true
35+
zip -r ccx.skill skills/ccx/
36+
gh release upload ${{ github.ref_name }} ccx.skill --clobber
8437
env:
8538
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.goreleaser.yaml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
version: 2
2+
project_name: ccx
3+
4+
release:
5+
prerelease: auto
6+
name_template: "v{{.Version}}"
7+
draft: false
8+
mode: "keep-existing"
9+
10+
before:
11+
hooks:
12+
- go mod tidy
13+
- go test ./...
14+
15+
builds:
16+
- <<: &build_defaults
17+
binary: ccx
18+
main: ./cmd/ccx
19+
ldflags:
20+
- -s -w
21+
- -X main.version={{.Version}}
22+
- -X main.buildTime={{.Date}}
23+
env:
24+
- CGO_ENABLED=0
25+
id: macos
26+
goos: [darwin]
27+
goarch: [amd64, arm64]
28+
29+
- <<: *build_defaults
30+
id: linux
31+
goos: [linux]
32+
goarch: [amd64, arm64]
33+
34+
archives:
35+
- id: nix
36+
ids: [macos, linux]
37+
name_template: >-
38+
{{ .ProjectName }}_{{ .Version }}_{{- if eq .Os "darwin" }}macOS{{- else }}{{ .Os }}{{- end }}_{{- if eq .Arch "amd64" }}x86_64{{- else }}{{ .Arch }}{{- end }}
39+
wrap_in_directory: true
40+
formats: [tar.gz]
41+
files:
42+
- LICENSE
43+
- README.md
44+
45+
checksum:
46+
name_template: 'checksums.txt'
47+
algorithm: sha256
48+
49+
changelog:
50+
use: github
51+
sort: asc
52+
filters:
53+
exclude:
54+
- '^docs:'
55+
- '^chore:'
56+
- '^ci:'
57+
- '^test:'
58+
- Merge pull request
59+
- Merge branch

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@./CLAUDE.md

0 commit comments

Comments
 (0)