You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#449: /connect guides Ollama or OpenRouter key entry when no model
is configured. Auth PUT discovers OpenRouter. Welcome and status bar
cue /connect when no providers are found.
#450: doctor treats local connection refused as warning when another
provider works. Exit 1 only with no usable provider. Next-step hints.
#451: README and install.sh lead with install script and Homebrew.
First-prompt quickstart path. Go 1.27.1+ requirement. Config filenames.
#452: TUI polish — help title, sessions key 'o', which-key 2s timeout,
"New Session" in sidebar, Esc no longer rejects permissions.
#453: /init documented as optional Red Hat plugin/role setup. Points
users to /connect for model configuration.
Local-first, model-agnostic AI coding assistant. A single Go binary embeds the HTTP server, terminal UI, session management, LLM client, and tool execution --- no Node.js, no separate server process. Works with any OpenAI-compatible endpoint (Ollama, vLLM, LM Studio, OpenRouter, and more). Your sessions stay in local SQLite; data leaves your machine only when you send a prompt to a provider you configured.
10
+
11
+
## Quick start
12
+
13
+
### Install
14
+
15
+
```bash
16
+
# One-liner (macOS / Linux) — installs to ~/.local/bin
17
+
curl -fsSL https://raw.githubusercontent.com/bobbyjohnstx/tinycode/main/install.sh | sh
18
+
19
+
# Or Homebrew
20
+
brew install bobbyjohnstx/tap/tinycode
21
+
```
22
+
23
+
See [docs/install.md](docs/install.md) for platform notes, PATH setup, and verifying the install.
24
+
25
+
### First prompt
26
+
27
+
Have a local model running (for example `ollama serve` and `ollama pull qwen3.5:9b`), then:
28
+
29
+
```bash
30
+
tinycode # TUI in the current directory
31
+
tinycode /path/to/project # TUI against a project
32
+
```
33
+
34
+
Type a prompt and press Enter:
35
+
36
+
```
37
+
Explain what this repository does in 2 sentences.
38
+
```
10
39
11
-
tinycode is a local-first, model-agnostic AI coding assistant. A single Go binary embeds everything: HTTP server, terminal UI, session management, LLM client, and tool execution. No separate server process, no Node.js, no runtime dependencies.
40
+
Press `Ctrl+X` then `m` to pick a model if needed. Full walkthrough: [docs/getting-started.md](docs/getting-started.md).
12
41
13
-
**Works with any OpenAI-compatible endpoint.** Connect to local models (Ollama, vLLM, LM Studio), cloud providers (OpenRouter, Anthropic, OpenAI), or your own infrastructure (RHOAI, Azure, custom endpoints). Swap models mid-session. No vendor lock-in.
42
+
### Build from source
14
43
15
-
**Your data stays on your machine.** Sessions, config, and conversation history are stored locally in SQLite. No telemetry, no cloud calls, no sign-up. Data only leaves your machine when you explicitly send a prompt to a cloud provider you configured.
tinycode reads your files, runs commands, edits code, and works through multi-step tasks --- the same workflow as cloud AI coding tools, but you choose the model and control the data.
50
+
Requires Go 1.27.1+. Other modes: `tinycode serve` (headless API), `tinycode acp` (IDE), `tinycode run` (non-interactive).
51
+
52
+
## What it is
18
53
19
54
### Key features
20
55
@@ -60,24 +95,6 @@ tinycode also supports:
60
95
-**Agent Client Protocol** (`tinycode acp`) --- stdio transport for IDE integration (VS Code, Zed, JetBrains)
61
96
-**Non-interactive mode** (`tinycode run`) --- run a prompt and exit, for scripts and CI
|`storage/`| SQLite via modernc.org/sqlite, migrations |
103
120
|`bus/`| Event bus for inter-component communication |
104
121
|`mcp/`| Model Context Protocol client |
@@ -206,9 +223,10 @@ Agents with a `.compact.md` variant automatically use a smaller prompt for model
206
223
207
224
## Configuration
208
225
209
-
Config lives at `~/.config/tinycode/config.json` (JSONC supported):
226
+
Config is loaded from `~/.config/tinycode/` with a 3-name fallback per directory: `tinycode.jsonc` → `tinycode.json` → `config.json` (first file found wins; JSONC comments are supported). Project config uses the same names under `.tinycode/` (or walking up from the working directory); innermost wins.
210
227
211
228
```jsonc
229
+
// ~/.config/tinycode/tinycode.jsonc
212
230
{
213
231
"model":"ollama/qwen3.5:9b",
214
232
"small_model":"ollama/qwen3.5:1.7b",
@@ -286,7 +304,9 @@ The runtime is Go only. The `packages/` tree is legacy TypeScript retained for `
286
304
287
305
## Documentation
288
306
289
-
-**Spec index (start here):**[docs/spec/README.md](docs/spec/README.md)
Copy file name to clipboardExpand all lines: docs/install.md
+67-12Lines changed: 67 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,50 @@
1
1
# Installation
2
2
3
-
tinycode is a single static binary with no runtime dependencies. Works with any OpenAI-compatible LLM endpoint --- local or cloud. Build from source, then run.
3
+
tinycode is a single static binary with no runtime dependencies. Works with any OpenAI-compatible LLM endpoint --- local or cloud.
4
4
5
-
## Prerequisites
5
+
## Binary install (recommended)
6
6
7
-
-**Go 1.27+** -- [download](https://go.dev/dl/)
7
+
### One-liner (`install.sh`)
8
+
9
+
Downloads the latest GitHub release for your platform and installs to `~/.local/bin`:
10
+
11
+
```bash
12
+
curl -fsSL https://raw.githubusercontent.com/bobbyjohnstx/tinycode/main/install.sh | sh
13
+
```
14
+
15
+
Supported platforms: macOS and Linux (`amd64` / `arm64`). Override defaults with environment variables:
|`TINYCODE_API_URL`|`https://api.github.com`| Releases API host |
24
+
25
+
If `~/.local/bin` is not on your `PATH`, the script prints shell-specific instructions.
26
+
27
+
### Homebrew
28
+
29
+
```bash
30
+
brew install bobbyjohnstx/tap/tinycode
31
+
```
32
+
33
+
### Manual download
34
+
35
+
Download a platform archive from [GitHub Releases](https://github.com/bobbyjohnstx/tinycode/releases) (for example `tinycode-darwin-arm64.tar.gz`), extract the `tinycode` binary, and place it on your `PATH`.
@@ -64,15 +95,33 @@ Without a clipboard utility, clipboard commands will fail with an error message.
64
95
65
96
For `/paste-image` with image support, `xclip` must be compiled with image format support (the default package includes it). On Wayland, `wl-paste` handles images natively.
66
97
67
-
## Windows (WSL)
98
+
###Windows (WSL)
68
99
69
100
Native Windows is not supported -- bubbletea requires a Unix terminal.
70
101
71
102
Use WSL2 instead:
72
103
73
104
1. Install WSL2: `wsl --install` (from PowerShell as admin)
74
105
2. Open your WSL distribution (Ubuntu is the default)
75
-
3. Follow the Linux instructions above
106
+
3. Follow the Linux instructions above (binary install or build from source)
107
+
108
+
## Configuration
109
+
110
+
Config files are loaded with a 3-name fallback in each directory:
111
+
112
+
1.`tinycode.jsonc`
113
+
2.`tinycode.json`
114
+
3.`config.json`
115
+
116
+
Global config: `~/.config/tinycode/` (first matching name wins). Project config: `.tinycode/` walking up from the working directory (innermost wins). JSONC comments are supported.
117
+
118
+
```jsonc
119
+
// ~/.config/tinycode/tinycode.jsonc
120
+
{
121
+
"model":"ollama/qwen3.5:9b",
122
+
"default_agent":"build"
123
+
}
124
+
```
76
125
77
126
## Cross-compilation
78
127
@@ -94,7 +143,7 @@ This produces binaries in `dist/` for:
94
143
95
144
| Requirement | When | Notes |
96
145
|-------------|------|-------|
97
-
| Go 1.22+ | Build only | Not needed at runtime |
146
+
| Go 1.27.1+ | Build only | Not needed at runtime; matches `go.mod`|
98
147
| make | Build only | For the Makefile targets |
99
148
| xclip / wl-clipboard | Runtime (optional) | Linux clipboard support |
100
149
@@ -124,6 +173,12 @@ tinycode models
124
173
125
174
## Updating
126
175
176
+
### Binary install
177
+
178
+
Re-run `install.sh`, or `brew upgrade tinycode` if you installed via Homebrew.
0 commit comments