Skip to content

Commit 8a43989

Browse files
Pandaclaude
andcommitted
feat: initial release of aimemo v0.3.0
Zero-dependency MCP memory server for AI agents. SQLite+FTS5 storage, JSON-RPC 2.0 MCP stdio server, Cobra CLI with 18 commands, append-only journal. Supports Claude Code, Cursor, Windsurf, Codex, Cline, Continue, Zed. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
0 parents  commit 8a43989

47 files changed

Lines changed: 4597 additions & 0 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: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
jobs:
9+
goreleaser:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
steps:
14+
- uses: actions/checkout@v4
15+
with:
16+
fetch-depth: 0
17+
18+
- uses: actions/setup-go@v5
19+
with:
20+
go-version-file: go.mod
21+
22+
- uses: goreleaser/goreleaser-action@v6
23+
with:
24+
version: latest
25+
args: release --clean
26+
env:
27+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28+
GITHUB_OWNER: MyAgentHubs
29+
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Build output
2+
/aimemo
3+
dist/
4+
5+
# Local test db
6+
.aimemo/
7+
8+
# macOS
9+
.DS_Store
10+
11+
# Go
12+
*.test
13+
*.out

.goreleaser.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
version: 2
2+
3+
builds:
4+
- id: aimemo
5+
main: ./cmd/aimemo
6+
binary: aimemo
7+
env:
8+
- CGO_ENABLED=0
9+
goos: [linux, darwin, windows]
10+
goarch: [amd64, arm64]
11+
ignore:
12+
- goos: windows
13+
goarch: arm64
14+
ldflags:
15+
- -s -w
16+
- -X main.version={{.Version}}
17+
18+
archives:
19+
- formats: [tar.gz]
20+
format_overrides:
21+
- goos: windows
22+
formats: [zip]
23+
name_template: "aimemo_{{.Version}}_{{.Os}}_{{.Arch}}"
24+
25+
brews:
26+
- name: aimemo
27+
repository:
28+
owner: "{{ .Env.GITHUB_OWNER }}"
29+
name: homebrew-tap
30+
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
31+
homepage: "https://github.com/{{ .Env.GITHUB_OWNER }}/aimemo"
32+
description: "Zero-dependency MCP memory server for AI agents"
33+
license: MIT
34+
test: |
35+
system "#{bin}/aimemo --version"
36+
install: |
37+
bin.install "aimemo"
38+
generate_completions_from_executable(bin/"aimemo", "completion")
39+
40+
checksum:
41+
name_template: "checksums.txt"
42+
43+
changelog:
44+
sort: asc
45+
filters:
46+
exclude: ["^docs:", "^test:", "Merge pull request"]

.mcp.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"mcpServers": {
3+
"aimemo-memory": {
4+
"command": "aimemo",
5+
"args": [
6+
"serve"
7+
]
8+
}
9+
}
10+
}

CLAUDE.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# aimemo Memory Instructions
2+
3+
## Session Start
4+
At the beginning of every session, call `memory_context` to load project context before doing any work.
5+
6+
## During the Session
7+
Call `memory_store` (entities mode) when you:
8+
- Learn something new about the codebase architecture or design decisions
9+
- Fix a bug or identify a root cause
10+
- Make a significant implementation choice
11+
12+
Call `memory_store` (journal mode) when you:
13+
- Complete a meaningful unit of work
14+
- Encounter and resolve a non-obvious problem
15+
16+
## Session End
17+
Before the session ends, write a journal entry summarizing what was done:
18+
```
19+
memory_store({ journal: "..." })
20+
```
21+
22+
## Search Before Asking
23+
Before asking the user to re-explain something, call `memory_search` first.

CONTRIBUTING.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Contributing to aimemo
2+
3+
## Prerequisites
4+
5+
- Go 1.21+
6+
- No CGO required (`modernc.org/sqlite` is pure Go)
7+
8+
## Running Tests
9+
10+
```bash
11+
go test ./...
12+
```
13+
14+
## Building
15+
16+
```bash
17+
go build -o aimemo ./cmd/aimemo
18+
```
19+
20+
## Project Structure
21+
22+
```
23+
cmd/aimemo/ # Binary entry point
24+
internal/
25+
cli/ # Cobra commands
26+
config/ # TOML config loader
27+
db/ # SQLite layer (entities, observations, relations, journal, search)
28+
locate/ # .aimemo directory discovery
29+
mcp/ # MCP stdio server (JSON-RPC 2.0)
30+
examples/ # CLAUDE.md templates for users
31+
```
32+
33+
## Making Changes
34+
35+
1. Fork the repo and create a branch from `main`
36+
2. Make your changes with tests where applicable
37+
3. Run `go test ./...` — all tests must pass
38+
4. Submit a pull request with a clear description of the change
39+
40+
## Reporting Issues
41+
42+
Open a GitHub Issue. For security vulnerabilities, please email the maintainers
43+
directly rather than opening a public issue.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 MyAgentHubs
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)