more simplification · Entire
more simplification
972266c→main·
Soph·2mo ago·6 files·+35 added/-94 removed
Sessions
Transcript data is unavailable for this checkpoint.
Changes
6
MCONTRIBUTING.md+14/-71
MREADME.md+3/-1
docs
Marchitecture.md+3/-3
Mincremental-relay.md+3/-3
Mprotocol.md+8/-7
Mreplicate.md+4/-9
77 unmodified lines
78
79
80
81
81
82
83
84
38 unmodified lines
123
124
125
126
126
127
128
129
17 unmodified lines
147
148
149
150
150
151
152
153
7 unmodified lines
161
162
163
164
164
165
166
167
167
168
169
170
171
172
173
170
171
175
172
177
173
174
175
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
176
177
178
179
180
181
182
94 unmodified lines
277
278
279
337
338
280
281
282
283
284
77 unmodified lines
### Required Information
1. **git-sync version** - run `git-sync version`
1. **git-sync commit** - `git rev-parse HEAD` of the build you used (or release tag/version if applicable)
2. **Operating system**
3. **Go version** - run `go version`
38 unmodified lines
mise run test
```
> See [CLAUDE.md](CLAUDE.md) for detailed architecture and development reference.
> See [docs/architecture.md](docs/architecture.md) for the architecture and package layout.
---
17 unmodified lines
## Code Style
Follow standard Go idioms and conventions. For detailed guidance, see the **Go Code Style** section in [CLAUDE.md](CLAUDE.md).
Follow standard Go idioms and conventions.
### Key Points
7 unmodified lines
## Testing
> See [CLAUDE.md](CLAUDE.md) for complete testing documentation.
> See [docs/testing.md](docs/testing.md) for the full set of test suites and integration coverage.
```bash
# Unit tests - always run before committing
# Default suite - always run before committing
mise run test
# Integration tests
mise run test:integration
# Full CI suite
# With race detection
mise run test:ci
```
Integration tests use the `//go:build integration` build tag and are located in `cmd/entire/cli/integration_test/`.
# Optional end-to-end against the system git-http-backend
mise run test:git-http-backend
---
## Creating an Agent
Entire supports two ways to create agents:
### 1. Claude Code Agent Personas (Markdown)
These are markdown files that define specialized behaviors for Claude Code (e.g., developer, reviewer, etc.).
- **Location:** `.claude/agents/`
- **Structure:**
```markdown
---
name: my-agent
description: What this agent does
model: opus
color: blue
---
# Agent Name
You are a **[Role]** with expertise in [domain].
## Core Principles
- Principle 1
- Principle 2
## Process
1. Step 1
2. Step 2
## Output Format
How to structure responses...
```
- **To invoke:** Create a matching command in `.claude/commands/` that spawns the agent via the Task tool.
- **Examples:**
- `.claude/agents/dev.md` - TDD Developer
- `.claude/agents/reviewer.md` - Code Reviewer
### 2. Coding Agent Integrations (Go)
These are Go implementations that integrate Entire with different AI coding tools (Claude Code, Gemini CLI, OpenCode, Cursor, Factory AI Droid, Copilot CLI, etc.) using the Agent abstraction layer.
- **Location:** `cmd/entire/cli/agent/`
- **Steps:**
1. Implement the `Agent` interface in `agent/agent.go`
2. Register your agent in the agent registry
3. Add setup and hook configuration as needed
4. Ensure session and checkpoint tracking is handled per the abstraction
- **Reference:** See [CLAUDE.md](CLAUDE.md) for architecture and code examples.
---
**Which should I use?**
- Use a persona markdown agent if you want to create a new role or workflow for Claude Code.
- Use a coding agent integration if you want to add support for a new AI coding tool or extend agent capabilities in the CLI.
# Optional live linux bootstrap smokes
mise run test:linux-smoke
mise run test:linux-smoke:batched
```
---
94 unmodified lines
## Additional Resources
- [README](README.md) - Setup and usage documentation
- [CLAUDE.md](CLAUDE.md) - Architecture and development reference (Claude Code)
- [AGENTS.md](AGENTS.md) - Architecture and development reference (Gemini CLI, OpenCode, Cursor, Factory AI Droid, Copilot CLI)
- [docs/architecture.md](docs/architecture.md) - Architecture and package layout
- [docs/testing.md](docs/testing.md) - Test suites and integration coverage
- [Code of Conduct](CODE_OF_CONDUCT.md) - Community guidelines
- [Security Policy](SECURITY.md) - Reporting security vulnerabilities
MCONTRIBUTING.md+14/-71
17 unmodified lines
18
19
20
21
21
22
23
24
25
26
27
28
29
30
31
32
17 unmodified lines
## Commands
The command surface is:
The main commands are:
- `git-sync sync`: mirror source refs into the target
- `git-sync replicate`: overwrite target refs to match source via relay, and fail rather than materialize locally
`sync` automatically bootstraps an empty target, so the same command covers initial seeding and ongoing sync. To preview what would happen without pushing, run `git-sync plan` — it takes the same flags as `sync`, and `--mode replicate` previews a `replicate` run.
Additional commands (`bootstrap`, `probe`, `fetch`) and advanced flags are available through `git-sync --help` and the [unstable library surface](docs/embedding.md). They are not part of the recommended public surface.
## Library API
`git-sync` is also a Go library. Use `entire.io/entire/gitsync` for the stable embedding surface (`Probe`, `Plan`, `Sync`, `Replicate`, typed results, auth and HTTP injection). `entire.io/entire/gitsync/unstable` exposes advanced controls (`Bootstrap`, `Fetch`, batching knobs, heap measurement) and is not stable. See [docs/embedding.md](docs/embedding.md) for the worker-oriented guide.