suzumearch 0.2.12 → 0.2.13

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 CHANGED
@@ -1,90 +1,151 @@
1
1
  # SuzumeArch
2
2
 
3
- SuzumeArch is an independent CLI mod of the Claude Code Leak by Nefertary I.
4
- Forster. It is not affiliated with, endorsed by, sponsored by, or presented as
5
- Anthropic software.
3
+ SuzumeArch is an independent terminal AI coding CLI. It is not affiliated with,
4
+ endorsed by, sponsored by, or presented as Anthropic software.
6
5
 
7
- It provides a terminal-first AI coding CLI with a React/Ink UI, MCP support,
8
- external model provider support, and optional local web search through SearXNG.
6
+ ## Requirements
9
7
 
10
- ## Quick Start
8
+ - Windows, macOS, Linux, or WSL
9
+ - Git
10
+ - Node.js 22 or newer
11
+ - Bun 1.1 or newer
12
+ - At least one model-provider API key, such as `ANTHROPIC_API_KEY`,
13
+ `OPENAI_API_KEY`, or `OPENROUTER_API_KEY`
14
+
15
+ ## Install From Source
11
16
 
12
17
  ```bash
18
+ git clone https://github.com/forsterdev/suzume-arch.git
19
+ cd suzume-arch
13
20
  bun install
21
+ ```
22
+
23
+ PowerShell uses the same commands:
24
+
25
+ ```powershell
26
+ git clone https://github.com/forsterdev/suzume-arch.git
27
+ cd suzume-arch
28
+ bun install
29
+ ```
30
+
31
+ Set the provider key for your shell:
32
+
33
+ ```bash
34
+ export ANTHROPIC_API_KEY="sk-..."
35
+ ```
36
+
37
+ ```powershell
38
+ $env:ANTHROPIC_API_KEY="sk-..."
39
+ ```
40
+
41
+ Run the CLI from the repository:
42
+
43
+ ```bash
14
44
  bun run suzume
15
45
  ```
16
46
 
17
- Useful local checks:
47
+ ## Build The CLI
18
48
 
19
49
  ```bash
20
- bun run lint
21
- bun run typecheck
22
50
  bun run build:prod
51
+ node dist/cli.mjs --version
52
+ bun dist/cli.mjs --version
53
+ ```
54
+
55
+ The npm package name is `suzumearch`, with command entry points `suzume` and
56
+ `szm`. The manifest is currently marked `private`; remove that flag before
57
+ publishing to npm. After publishing, install it with:
58
+
59
+ ```bash
60
+ npm install -g suzumearch
61
+ suzume
62
+ ```
63
+
64
+ For local package testing:
65
+
66
+ ```bash
67
+ npm link
68
+ suzume --version
23
69
  ```
24
70
 
25
- After a production build, confirm `dist/cli.mjs` exists and can run:
71
+ ## Common Checks
72
+
73
+ Recommended full verification:
26
74
 
27
75
  ```bash
76
+ bun install
77
+ bun run typecheck
78
+ bun run lint
79
+ bun run build:prod
28
80
  node dist/cli.mjs --version
29
81
  bun dist/cli.mjs --version
30
82
  ```
31
83
 
32
- ## Web Search
84
+ Fast local checks while developing:
85
+
86
+ ```bash
87
+ bun run lint
88
+ bun run typecheck
89
+ ```
33
90
 
34
- SuzumeArch can use a self-hosted SearXNG instance for external models.
91
+ ## Scheduling And Recaps
92
+
93
+ - Ask naturally, for example `remind me at 3pm to push the release branch`.
94
+ SuzumeArch should use `CronCreate` for one-shot reminders.
95
+ - Use `/schedule` to create, list, update, or run local scheduled routines.
96
+ - Use `/tasks` to inspect running background shell or agent work.
97
+ - Use `/recap` for an on-demand one-line session recap. Automatic recaps can be
98
+ toggled in `/config`.
99
+
100
+ Session-only scheduled tasks stop when SuzumeArch exits. Durable tasks are stored
101
+ in `.suzume/scheduled_tasks.json` when the model explicitly creates them that
102
+ way.
103
+
104
+ ## Discord Bot Bridge
105
+
106
+ Configure the bot:
35
107
 
36
108
  ```bash
37
- export SEARXNG_BASE_URL="http://localhost:8888"
109
+ export DISCORD_BOT_TOKEN="..."
110
+ export DISCORD_CHANNEL_ID="..."
38
111
  ```
39
112
 
40
- You can also configure it inside settings:
41
-
42
- ```json
43
- {
44
- "plugins": {
45
- "entries": {
46
- "searxng": {
47
- "config": {
48
- "webSearch": {
49
- "baseUrl": "http://localhost:8888",
50
- "categories": "general,news",
51
- "language": "en"
52
- }
53
- }
54
- }
55
- }
56
- }
57
- }
113
+ ```powershell
114
+ $env:DISCORD_BOT_TOKEN="..."
115
+ $env:DISCORD_CHANNEL_ID="..."
58
116
  ```
59
117
 
60
- Use `/web-search` in the CLI to install, start, stop, or configure a managed
61
- SearXNG instance. The managed install enables `format=json` in SearXNG settings.
118
+ Then run `/discord on` inside SuzumeArch. `/discord` opens the configuration
119
+ menu; `/discord status` prints the active settings.
62
120
 
63
- ## MCP Server
121
+ Warning: Discord mode automatically switches the session to
122
+ `bypassPermissions` by default. Anyone who can post in the configured Discord
123
+ channel can trigger tools and shell commands without per-action prompts. Use a
124
+ private channel and a dedicated bot token.
64
125
 
65
- The MCP helper lives in `mcp-server/`.
126
+ ## Web Search
127
+
128
+ SuzumeArch can use a self-hosted SearXNG instance for external models:
66
129
 
67
130
  ```bash
68
- cd mcp-server
69
- npm install
70
- npm run build
71
- npm start
131
+ export SEARXNG_BASE_URL="http://localhost:8888"
72
132
  ```
73
133
 
74
- Use `npm run start:http` for HTTP/SSE mode. Set `MCP_API_KEY` to require bearer
75
- auth for HTTP.
134
+ Use `/web-search` in the CLI to install, start, stop, or configure a managed
135
+ SearXNG instance.
76
136
 
77
137
  ## Web Terminal
78
138
 
79
- The Docker web terminal runs `bun /app/src/server/web/pty-server.ts`.
80
- Required runtime settings:
139
+ The browser-facing PTY server lives at `src/server/web/pty-server.ts`:
81
140
 
82
- - `ANTHROPIC_API_KEY` when using the compatible Anthropic API path.
83
- - `PORT`, default `3000`.
84
- - `AUTH_TOKEN`, `MAX_SESSIONS`, and `ALLOWED_ORIGINS` as deployment controls.
141
+ ```bash
142
+ bun src/server/web/pty-server.ts
143
+ ```
85
144
 
86
- ## Repository Hygiene
145
+ Runtime settings:
87
146
 
88
- Keep generated outputs and local dependency folders out of source review. The
89
- root `.gitignore` excludes `node_modules/`, build output, temporary folders, and
90
- logs.
147
+ - `PORT`, default `3000`
148
+ - `AUTH_TOKEN`
149
+ - `MAX_SESSIONS`
150
+ - `ALLOWED_ORIGINS`
151
+ - The required model-provider API key
@@ -16,7 +16,8 @@ var pathToFileURL = require("url").pathToFileURL;
16
16
  // (ERR_UNSUPPORTED_ESM_URL_SCHEME — the drive letter "c:" is parsed as
17
17
  // a URL scheme). Convert to a file:// URL so the ESM loader accepts it
18
18
  // on every platform.
19
- var entry = pathToFileURL(path.join(__dirname, "cli.mjs")).href;
19
+ // Preflight lives in bin/, cli.mjs sits one level up at the package root.
20
+ var entry = pathToFileURL(path.join(__dirname, "..", "cli.mjs")).href;
20
21
  import(entry).catch(function (err) {
21
22
  process.stderr.write(String(err && err.stack || err) + "\n");
22
23
  process.exit(1);