@brickhouse-tech/sync-agents 0.2.6 → 0.3.0
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.
- package/README.md +29 -10
- package/bin/sync-agents.js +16 -14
- package/package.json +14 -13
- package/src/md/RULE_TEMPLATE.md +0 -6
- package/src/md/SKILL_TEMPLATE.md +0 -23
- package/src/md/STATE_TEMPLATE.md +0 -24
- package/src/md/WORKFLOW_TEMPLATE.md +0 -24
- package/src/sh/sync-agents.sh +0 -1596
package/README.md
CHANGED
|
@@ -6,29 +6,48 @@ AGENTS.md serves as an auto-generated index of everything in `.agents/` and is s
|
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
|
-
### npm
|
|
9
|
+
### npm (recommended for Node.js projects)
|
|
10
|
+
|
|
11
|
+
Ships native Go binaries via per-platform optional packages — no build step required.
|
|
10
12
|
|
|
11
13
|
```bash
|
|
12
|
-
npm install @brickhouse-tech/sync-agents
|
|
14
|
+
npm install -g @brickhouse-tech/sync-agents
|
|
13
15
|
```
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
Or as a project devDependency:
|
|
16
18
|
|
|
17
19
|
```bash
|
|
18
|
-
npm install -
|
|
20
|
+
npm install --save-dev @brickhouse-tech/sync-agents
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### go install (no Node.js required)
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
go install github.com/brickhouse-tech/sync-agents@latest
|
|
19
27
|
```
|
|
20
28
|
|
|
21
|
-
|
|
29
|
+
Requires Go 1.21+. The binary is placed in `$GOPATH/bin` (or `$HOME/go/bin`). Version is read from the module proxy at install time via `debug.ReadBuildInfo`.
|
|
22
30
|
|
|
23
|
-
|
|
24
|
-
> triples but will be removed in a future major. Prefer the npm install
|
|
25
|
-
> above; it ships native Go binaries via per-platform optional packages.
|
|
31
|
+
### Homebrew
|
|
26
32
|
|
|
27
33
|
```bash
|
|
28
|
-
|
|
29
|
-
chmod +x /usr/local/bin/sync-agents
|
|
34
|
+
brew install brickhouse-tech/tap/sync-agents
|
|
30
35
|
```
|
|
31
36
|
|
|
37
|
+
The tap is updated automatically on every release via GoReleaser.
|
|
38
|
+
|
|
39
|
+
### GitHub Releases (pre-built binaries)
|
|
40
|
+
|
|
41
|
+
Download the archive for your platform from the [Releases page](https://github.com/brickhouse-tech/sync-agents/releases), extract, and place the binary on your `PATH`:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Example: macOS arm64
|
|
45
|
+
curl -fsSL https://github.com/brickhouse-tech/sync-agents/releases/latest/download/sync-agents_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/').tar.gz | tar -xz
|
|
46
|
+
sudo mv sync-agents /usr/local/bin/
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
SHA-256 checksums are published alongside each release as `checksums.txt`.
|
|
50
|
+
|
|
32
51
|
## Topology
|
|
33
52
|
|
|
34
53
|
`.agents/` is the source of truth. It contains all rules, skills, workflows, and state for your agents:
|
package/bin/sync-agents.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// Launcher:
|
|
3
|
-
// (@brickhouse-tech/sync-agents-<os>-<arch>)
|
|
4
|
-
//
|
|
5
|
-
// triple.
|
|
2
|
+
// Launcher: resolve the Go binary shipped via the matching platform package
|
|
3
|
+
// (@brickhouse-tech/sync-agents-<os>-<arch>). Exits with a clear error on
|
|
4
|
+
// unsupported triples rather than silently falling back to a bash script.
|
|
6
5
|
|
|
7
6
|
const { spawnSync } = require("node:child_process");
|
|
8
7
|
const path = require("node:path");
|
|
@@ -17,22 +16,25 @@ function resolveGoBinary() {
|
|
|
17
16
|
const candidate = path.join(path.dirname(pkgJson), "bin", exe);
|
|
18
17
|
if (fs.existsSync(candidate)) return candidate;
|
|
19
18
|
} catch {
|
|
20
|
-
// platform package not installed
|
|
21
|
-
// or it failed as an optionalDependency); fall through to bash.
|
|
19
|
+
// platform package not installed or not available for this triple.
|
|
22
20
|
}
|
|
23
21
|
return null;
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
return path.join(__dirname, "..", "src", "sh", "sync-agents.sh");
|
|
28
|
-
}
|
|
24
|
+
const target = resolveGoBinary();
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
if (!target) {
|
|
27
|
+
console.error(
|
|
28
|
+
`sync-agents: no pre-built binary for ${process.platform}/${process.arch}.\n` +
|
|
29
|
+
`Install via one of the supported channels:\n` +
|
|
30
|
+
` go install github.com/brickhouse-tech/sync-agents@latest\n` +
|
|
31
|
+
` brew install brickhouse-tech/tap/sync-agents\n` +
|
|
32
|
+
` https://github.com/brickhouse-tech/sync-agents/releases`
|
|
33
|
+
);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
32
36
|
|
|
33
|
-
const result = spawnSync(
|
|
34
|
-
stdio: "inherit",
|
|
35
|
-
});
|
|
37
|
+
const result = spawnSync(target, process.argv.slice(2), { stdio: "inherit" });
|
|
36
38
|
|
|
37
39
|
if (result.error) {
|
|
38
40
|
console.error(`sync-agents: failed to exec ${target}: ${result.error.message}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brickhouse-tech/sync-agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Simple scripts to DRY up common agent interactions across multiple LLM providers.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agents",
|
|
@@ -23,26 +23,27 @@
|
|
|
23
23
|
"sync-agents": "bin/sync-agents.js"
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
|
-
"bin/sync-agents.js"
|
|
27
|
-
"src/**/*"
|
|
26
|
+
"bin/sync-agents.js"
|
|
28
27
|
],
|
|
29
28
|
"optionalDependencies": {
|
|
30
|
-
"@brickhouse-tech/sync-agents-darwin-arm64": "0.
|
|
31
|
-
"@brickhouse-tech/sync-agents-darwin-x64": "0.
|
|
32
|
-
"@brickhouse-tech/sync-agents-linux-arm64": "0.
|
|
33
|
-
"@brickhouse-tech/sync-agents-linux-x64": "0.
|
|
34
|
-
"@brickhouse-tech/sync-agents-win32-x64": "0.
|
|
29
|
+
"@brickhouse-tech/sync-agents-darwin-arm64": "0.3.0",
|
|
30
|
+
"@brickhouse-tech/sync-agents-darwin-x64": "0.3.0",
|
|
31
|
+
"@brickhouse-tech/sync-agents-linux-arm64": "0.3.0",
|
|
32
|
+
"@brickhouse-tech/sync-agents-linux-x64": "0.3.0",
|
|
33
|
+
"@brickhouse-tech/sync-agents-win32-x64": "0.3.0"
|
|
35
34
|
},
|
|
36
35
|
"overrides": {
|
|
37
36
|
"file-type": ">=22",
|
|
38
37
|
"picomatch": ">=4.0.4"
|
|
39
38
|
},
|
|
40
39
|
"scripts": {
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
40
|
+
"prepare": "node scripts/install.js",
|
|
41
|
+
"build": "node scripts/build.js",
|
|
42
|
+
"build:platform": "node scripts/build-platform.js",
|
|
43
|
+
"build:all": "node scripts/build-all.js",
|
|
44
|
+
"clean": "node scripts/clean.js",
|
|
45
|
+
"test": "npm run build && npx bats test/sync-agents.bats test/integration-global.bats",
|
|
46
|
+
"test:integration": "npm run build && npx bats test/integration-global.bats",
|
|
46
47
|
"prepack": "node scripts/sync-optional-deps.js",
|
|
47
48
|
"bootstrap:publish": "bash scripts/bootstrap-platform-publish.sh"
|
|
48
49
|
},
|
package/src/md/RULE_TEMPLATE.md
DELETED
package/src/md/SKILL_TEMPLATE.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
trigger: always_on
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# ${NAME}
|
|
6
|
-
|
|
7
|
-
## Description
|
|
8
|
-
|
|
9
|
-
Brief description of what this skill enables.
|
|
10
|
-
|
|
11
|
-
## Usage
|
|
12
|
-
|
|
13
|
-
When to use this skill and how to invoke it.
|
|
14
|
-
|
|
15
|
-
## Examples
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
Example usage or invocation here.
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Notes
|
|
22
|
-
|
|
23
|
-
Any caveats, prerequisites, or related skills.
|
package/src/md/STATE_TEMPLATE.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
trigger: always_on
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# State
|
|
6
|
-
|
|
7
|
-
Track project progress, current objectives, and resumption context.
|
|
8
|
-
Update this file regularly so agents can pick up where they left off.
|
|
9
|
-
|
|
10
|
-
## Save location
|
|
11
|
-
|
|
12
|
-
../STATE_${CONTEXT_DESCRIPTION}_YYYYMMDDHHMMSS.md
|
|
13
|
-
|
|
14
|
-
A new file will be created each time during agent executions as a short summary of the current state, progress, blockers, and next steps. This allows for a historical record of the project's evolution and provides context for future agent executions. The timestamp in the filename helps to keep track of when each state was recorded, and the context description provides a quick reference to the specific project or objective being tracked. Lastly there should exist session information / session id so we can resume openclaw tui and or claude-code sessions with the relevant context and state information.
|
|
15
|
-
|
|
16
|
-
Save both if necessary, but the state file is more important for tracking progress and providing context for future executions. The session information can be useful for resuming interactive sessions, but the state file is essential for maintaining a record of the project's evolution and providing context for future agent executions.
|
|
17
|
-
|
|
18
|
-
## Format
|
|
19
|
-
|
|
20
|
-
### YYYYMMDDHHMMSS STATE: <objective>
|
|
21
|
-
|
|
22
|
-
Description of current state, progress, blockers, and next steps.
|
|
23
|
-
|
|
24
|
-
Be sure to indicate whats left and what done via - [ ] checkboxes in state file
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
trigger: always_on
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# ${NAME}
|
|
6
|
-
|
|
7
|
-
## Trigger
|
|
8
|
-
|
|
9
|
-
Describe when this workflow should be activated.
|
|
10
|
-
|
|
11
|
-
## Steps
|
|
12
|
-
|
|
13
|
-
1. Step one
|
|
14
|
-
2. Step two
|
|
15
|
-
3. Step three
|
|
16
|
-
|
|
17
|
-
## Conditions
|
|
18
|
-
|
|
19
|
-
- Pre-conditions that must be met
|
|
20
|
-
- Any guards or checks
|
|
21
|
-
|
|
22
|
-
## Output
|
|
23
|
-
|
|
24
|
-
What the workflow produces or changes when complete.
|