@aptove/aptove 0.1.0 → 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.
Files changed (2) hide show
  1. package/README.md +120 -0
  2. package/package.json +8 -7
package/README.md ADDED
@@ -0,0 +1,120 @@
1
+ # Aptove — ACP AI Coding Agent
2
+
3
+ [![GitHub Release](https://img.shields.io/github/v/release/aptove/aptove?logo=github&label=download)](https://github.com/aptove/aptove/releases/latest)
4
+ [![npm](https://img.shields.io/npm/v/%40aptove%2Faptove?logo=npm&label=npm)](https://www.npmjs.com/package/@aptove/aptove)
5
+ [![Discord](https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white)](https://discord.gg/gD7AMxBy9y)
6
+
7
+ A Rust CLI AI coding agent that speaks the [Agent-Client Protocol (ACP)](https://agentclientprotocol.org), supports multiple LLM providers, and connects to external MCP servers for tool use.
8
+
9
+ ## Architecture
10
+
11
+ ```
12
+ agent-cli Binary entry point ("aptove"), CLI parsing, modes
13
+ agent-core Transport, sessions, context window, agent loop, plugins
14
+ agent-provider-* LLM provider implementations (Claude, Gemini, OpenAI)
15
+ agent-mcp-bridge MCP client that connects to external tool servers
16
+ ```
17
+
18
+ ### Core Modules
19
+
20
+ | Module | Purpose |
21
+ |---|---|
22
+ | `transport` | JSON-RPC 2.0 over stdin/stdout (ACP stdio mode) |
23
+ | `session` | Session lifecycle, per-session context and cancellation |
24
+ | `context` | Token-aware sliding context window with auto-compaction |
25
+ | `agent_loop` | Agentic tool-call loop (prompt → LLM → tools → repeat) |
26
+ | `plugin` | `LlmProvider` and `Plugin` traits, `PluginHost` registry |
27
+ | `config` | TOML config loading, API key resolution, validation |
28
+ | `system_prompt` | Prompt templates with mode/project overrides |
29
+ | `retry` | Exponential backoff with jitter for API calls |
30
+ | `persistence` | Save/load sessions to `~/.local/share/Aptove/sessions/` |
31
+
32
+ ## Quick Start
33
+
34
+ ### Build
35
+
36
+ ```sh
37
+ cd agent
38
+ cargo build
39
+ ```
40
+
41
+ ### Run
42
+
43
+ ```sh
44
+ # Generate a config file
45
+ cargo run --bin aptove -- config init
46
+
47
+ # Edit the config file to add your API key (see Configuration section below)
48
+
49
+ # Start in ACP stdio mode (for use with bridge/clients)
50
+ cargo run --bin aptove -- run
51
+
52
+ # Start embedded bridge + agent in a single process
53
+ cargo run --bin aptove -- serve --port 8765
54
+
55
+ # Start interactive chat mode
56
+ cargo run --bin aptove -- chat
57
+ ```
58
+
59
+ ### Configuration
60
+
61
+ The config file location follows the OS-native convention via Rust's `dirs::config_dir()`:
62
+
63
+ | OS | Config path |
64
+ |---|---|
65
+ | **macOS** | `~/Library/Application Support/Aptove/config.toml` |
66
+ | **Linux** | `~/.config/Aptove/config.toml` |
67
+ | **Windows** | `%APPDATA%\Aptove\config.toml` |
68
+
69
+ ```toml
70
+ provider = "claude"
71
+
72
+ [providers.claude]
73
+ # api_key = "sk-ant-..." # Or set ANTHROPIC_API_KEY env var
74
+ model = "claude-sonnet-4-20250514"
75
+
76
+ [providers.gemini]
77
+ # api_key = "..." # Or set GOOGLE_API_KEY env var
78
+ model = "gemini-2.5-pro"
79
+
80
+ [providers.openai]
81
+ # api_key = "sk-..." # Or set OPENAI_API_KEY env var
82
+ model = "gpt-4o"
83
+
84
+ [[mcp_servers]]
85
+ name = "filesystem"
86
+ command = "mcp-server-filesystem"
87
+ args = ["/path/to/allowed/dir"]
88
+
89
+ [agent]
90
+ max_tool_iterations = 25
91
+ ```
92
+
93
+ API keys can be set via environment variables: `ANTHROPIC_API_KEY`, `GOOGLE_API_KEY`, `OPENAI_API_KEY`.
94
+
95
+ ### Test
96
+
97
+ ```sh
98
+ cargo test
99
+ ```
100
+
101
+ ## Providers
102
+
103
+ - **Claude** — Anthropic Messages API with tool use
104
+ - **Gemini** — Google Generative Language API with function calling
105
+ - **OpenAI** — Chat Completions API with function calling (also supports compatible endpoints)
106
+
107
+ ## ACP Protocol
108
+
109
+ Aptove implements the [ACP protocol](https://agentclientprotocol.org) over stdio:
110
+
111
+ - `initialize` → Returns agent info and capabilities
112
+ - `session/new` → Creates a session with context window
113
+ - `session/prompt` → Runs the agentic tool loop, streams updates
114
+ - `session/cancel` → Cancels an in-flight prompt
115
+
116
+ Use with [bridge](../bridge/) for WebSocket↔stdio bridging.
117
+
118
+ ## License
119
+
120
+ Apache-2.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aptove/aptove",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "ACP AI coding agent — connects to Claude, Gemini, and OpenAI",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -25,7 +25,8 @@
25
25
  },
26
26
  "files": [
27
27
  "bin",
28
- "postinstall.js"
28
+ "postinstall.js",
29
+ "README.md"
29
30
  ],
30
31
  "scripts": {
31
32
  "postinstall": "node postinstall.js"
@@ -34,10 +35,10 @@
34
35
  "node": ">=16"
35
36
  },
36
37
  "optionalDependencies": {
37
- "@aptove/aptove-darwin-arm64": "0.1.0",
38
- "@aptove/aptove-darwin-x64": "0.1.0",
39
- "@aptove/aptove-linux-arm64": "0.1.0",
40
- "@aptove/aptove-linux-x64": "0.1.0",
41
- "@aptove/aptove-win32-x64": "0.1.0"
38
+ "@aptove/aptove-darwin-arm64": "0.1.1",
39
+ "@aptove/aptove-darwin-x64": "0.1.1",
40
+ "@aptove/aptove-linux-arm64": "0.1.1",
41
+ "@aptove/aptove-linux-x64": "0.1.1",
42
+ "@aptove/aptove-win32-x64": "0.1.1"
42
43
  }
43
44
  }