syntaur 0.24.0 → 0.25.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "syntaur",
3
- "version": "0.24.0",
3
+ "version": "0.25.1",
4
4
  "description": "Project workflow CLI with dashboard, Claude Code plugin, and Codex plugin",
5
5
  "homepage": "https://github.com/prong-horn/syntaur#readme",
6
6
  "repository": {
@@ -4,13 +4,41 @@ Adapters generate framework-specific instruction files that teach non-Claude-Cod
4
4
  agents how to follow the Syntaur protocol. Each adapter produces files in the
5
5
  format expected by the target framework.
6
6
 
7
- ## Supported Frameworks
7
+ Adapters are the **Tier-2** layer. **Tier-1** (the actual `SKILL.md` skills) ships
8
+ to any agent via the open Agent Skills spec — see "Installing skills into any
9
+ agent" below.
10
+
11
+ ## Supported Frameworks (Tier-2 protocol adapters)
12
+
13
+ Driven declaratively by the registry in `src/targets/registry.ts`.
8
14
 
9
15
  | Framework | Generated Files | Discovery Mechanism |
10
16
  |-----------|----------------|---------------------|
11
17
  | **Cursor** | `.cursor/rules/syntaur-protocol.mdc`, `.cursor/rules/syntaur-assignment.mdc` | Cursor reads `.cursor/rules/*.mdc` files with YAML frontmatter |
12
18
  | **Codex** | `AGENTS.md` | Codex reads `AGENTS.md` at repo root |
13
19
  | **OpenCode** | `AGENTS.md`, `opencode.json` | OpenCode reads `AGENTS.md` at project root, plus optional `opencode.json` |
20
+ | **Pi** | `AGENTS.md` | Pi reads `AGENTS.md` or `CLAUDE.md` |
21
+ | **OpenClaw** | `AGENTS.md` | OpenClaw reads `AGENTS.md` (built on Pi) |
22
+ | **Hermes Agent** | `SOUL.md` | Hermes reads `SOUL.md` / context files |
23
+
24
+ ## Installing skills into any agent (Tier 1)
25
+
26
+ Syntaur's `skills/` directory is a valid Agent Skills source, so the skills
27
+ install into any of the ~56 agents the ecosystem supports via `npx skills add`:
28
+
29
+ ```bash
30
+ # Turnkey (wraps `npx skills add` + writes the Tier-2 protocol files):
31
+ syntaur setup --target pi # or hermes, openclaw, cursor, opencode
32
+ syntaur setup --target hermes,openclaw # several at once
33
+ syntaur setup --target pi --dry-run # preview, write nothing
34
+
35
+ # Or use the Agent Skills CLI directly:
36
+ npx skills add prong-horn/syntaur --agent pi
37
+ ```
38
+
39
+ If `npx` is unavailable, `syntaur setup --target <id>` falls back to copying the
40
+ bundled skills directly into the agent's skills dir. See
41
+ `references/tool-dialects.md` for the Syntaur-id ↔ skills.sh-id mapping.
14
42
 
15
43
  ## Usage
16
44
 
@@ -360,12 +360,25 @@ function detectInstalledTerminals() {
360
360
  function buildTerminalDispatch(installedTerminals) {
361
361
  const branches = [];
362
362
  if (installedTerminals.has('terminal-app')) {
363
+ // Terminal.app cold-start quirk: launching it auto-opens a blank window,
364
+ // and `do script` opens ANOTHER — two windows, one blank. Capture the
365
+ // running state BEFORE the `tell` block (addressing Terminal would launch
366
+ // it), then on a cold start run the command in the blank launch window
367
+ // instead of opening a second one. Warm starts still get a fresh window.
363
368
  branches.push({
364
369
  id: 'terminal-app',
365
370
  block: [
371
+ '\t\t\tset wasRunning to application "Terminal" is running',
366
372
  '\t\t\ttell application "Terminal"',
367
373
  '\t\t\t\tactivate',
368
- '\t\t\t\tdo script shellCmd',
374
+ '\t\t\t\tif wasRunning then',
375
+ '\t\t\t\t\tdo script shellCmd',
376
+ '\t\t\t\telse',
377
+ '\t\t\t\t\trepeat until (count of windows) > 0',
378
+ '\t\t\t\t\t\tdelay 0.1',
379
+ '\t\t\t\t\tend repeat',
380
+ '\t\t\t\t\tdo script shellCmd in window 1',
381
+ '\t\t\t\tend if',
369
382
  '\t\t\tend tell',
370
383
  ],
371
384
  });