mister-wolf 1.0.0 → 1.0.3
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 +96 -103
- package/README.ru.md +213 -0
- package/dist/bootstrap/cli.js +0 -0
- package/dist/domain/npx.d.ts +3 -1
- package/dist/domain/npx.d.ts.map +1 -1
- package/dist/domain/npx.js +4 -2
- package/dist/domain/npx.js.map +1 -1
- package/package.json +10 -2
- package/dist/agent/registry.d.ts +0 -14
- package/dist/agent/registry.d.ts.map +0 -1
- package/dist/agent/registry.js +0 -42
- package/dist/agent/registry.js.map +0 -1
- package/dist/agent/router.d.ts +0 -10
- package/dist/agent/router.d.ts.map +0 -1
- package/dist/agent/router.js +0 -21
- package/dist/agent/router.js.map +0 -1
- package/dist/agent/runner.d.ts +0 -24
- package/dist/agent/runner.d.ts.map +0 -1
- package/dist/agent/runner.js +0 -388
- package/dist/agent/runner.js.map +0 -1
- package/dist/cli/commands/agents.d.ts +0 -3
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -65
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/cases.d.ts +0 -3
- package/dist/cli/commands/cases.d.ts.map +0 -1
- package/dist/cli/commands/cases.js +0 -143
- package/dist/cli/commands/cases.js.map +0 -1
- package/dist/cli/commands/context.d.ts +0 -3
- package/dist/cli/commands/context.d.ts.map +0 -1
- package/dist/cli/commands/context.js +0 -161
- package/dist/cli/commands/context.js.map +0 -1
- package/dist/cli/commands/events.d.ts +0 -3
- package/dist/cli/commands/events.d.ts.map +0 -1
- package/dist/cli/commands/events.js +0 -37
- package/dist/cli/commands/events.js.map +0 -1
- package/dist/cli/commands/gates.d.ts +0 -5
- package/dist/cli/commands/gates.d.ts.map +0 -1
- package/dist/cli/commands/gates.js +0 -94
- package/dist/cli/commands/gates.js.map +0 -1
- package/dist/cli/commands/policy.d.ts +0 -3
- package/dist/cli/commands/policy.d.ts.map +0 -1
- package/dist/cli/commands/policy.js +0 -35
- package/dist/cli/commands/policy.js.map +0 -1
- package/dist/cli/commands/resume.d.ts +0 -3
- package/dist/cli/commands/resume.d.ts.map +0 -1
- package/dist/cli/commands/resume.js +0 -59
- package/dist/cli/commands/resume.js.map +0 -1
- package/dist/cli/commands/run.d.ts +0 -3
- package/dist/cli/commands/run.d.ts.map +0 -1
- package/dist/cli/commands/run.js +0 -97
- package/dist/cli/commands/run.js.map +0 -1
- package/dist/cli/commands/validate.d.ts +0 -3
- package/dist/cli/commands/validate.d.ts.map +0 -1
- package/dist/cli/commands/validate.js +0 -28
- package/dist/cli/commands/validate.js.map +0 -1
- package/dist/cli/commands/wac.d.ts +0 -8
- package/dist/cli/commands/wac.d.ts.map +0 -1
- package/dist/cli/commands/wac.js +0 -161
- package/dist/cli/commands/wac.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -34
- package/dist/cli/index.js.map +0 -1
- package/dist/config/loader.d.ts +0 -3
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -12
- package/dist/config/loader.js.map +0 -1
- package/dist/config/project-config.d.ts +0 -857
- package/dist/config/project-config.d.ts.map +0 -1
- package/dist/config/project-config.js +0 -129
- package/dist/config/project-config.js.map +0 -1
- package/dist/config/schema.d.ts +0 -2
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -2
- package/dist/config/schema.js.map +0 -1
- package/dist/config/validator.d.ts +0 -6
- package/dist/config/validator.d.ts.map +0 -1
- package/dist/config/validator.js +0 -58
- package/dist/config/validator.js.map +0 -1
- package/dist/context/bundle-builder.d.ts +0 -7
- package/dist/context/bundle-builder.d.ts.map +0 -1
- package/dist/context/bundle-builder.js +0 -25
- package/dist/context/bundle-builder.js.map +0 -1
- package/dist/context/case-memory.d.ts +0 -11
- package/dist/context/case-memory.d.ts.map +0 -1
- package/dist/context/case-memory.js +0 -131
- package/dist/context/case-memory.js.map +0 -1
- package/dist/context/md-generator.d.ts +0 -6
- package/dist/context/md-generator.d.ts.map +0 -1
- package/dist/context/md-generator.js +0 -136
- package/dist/context/md-generator.js.map +0 -1
- package/dist/context/resolver.d.ts +0 -18
- package/dist/context/resolver.d.ts.map +0 -1
- package/dist/context/resolver.js +0 -86
- package/dist/context/resolver.js.map +0 -1
- package/dist/context/scanner.d.ts +0 -10
- package/dist/context/scanner.d.ts.map +0 -1
- package/dist/context/scanner.js +0 -197
- package/dist/context/scanner.js.map +0 -1
- package/dist/kernel/event-bus.d.ts +0 -13
- package/dist/kernel/event-bus.d.ts.map +0 -1
- package/dist/kernel/event-bus.js +0 -18
- package/dist/kernel/event-bus.js.map +0 -1
- package/dist/model/errors.d.ts +0 -22
- package/dist/model/errors.d.ts.map +0 -1
- package/dist/model/errors.js +0 -36
- package/dist/model/errors.js.map +0 -1
- package/dist/model/mock-provider.d.ts +0 -8
- package/dist/model/mock-provider.d.ts.map +0 -1
- package/dist/model/mock-provider.js +0 -59
- package/dist/model/mock-provider.js.map +0 -1
- package/dist/model/openai-provider.d.ts +0 -9
- package/dist/model/openai-provider.d.ts.map +0 -1
- package/dist/model/openai-provider.js +0 -201
- package/dist/model/openai-provider.js.map +0 -1
- package/dist/model/registry.d.ts +0 -9
- package/dist/model/registry.d.ts.map +0 -1
- package/dist/model/registry.js +0 -23
- package/dist/model/registry.js.map +0 -1
- package/dist/model/stream-types.d.ts +0 -16
- package/dist/model/stream-types.d.ts.map +0 -1
- package/dist/model/stream-types.js +0 -2
- package/dist/model/stream-types.js.map +0 -1
- package/dist/model/types.d.ts +0 -50
- package/dist/model/types.d.ts.map +0 -1
- package/dist/model/types.js +0 -2
- package/dist/model/types.js.map +0 -1
- package/dist/policy/engine.d.ts +0 -12
- package/dist/policy/engine.d.ts.map +0 -1
- package/dist/policy/engine.js +0 -130
- package/dist/policy/engine.js.map +0 -1
- package/dist/policy/gate-adapter.d.ts +0 -9
- package/dist/policy/gate-adapter.d.ts.map +0 -1
- package/dist/policy/gate-adapter.js +0 -22
- package/dist/policy/gate-adapter.js.map +0 -1
- package/dist/policy/preflight.d.ts +0 -8
- package/dist/policy/preflight.d.ts.map +0 -1
- package/dist/policy/preflight.js +0 -19
- package/dist/policy/preflight.js.map +0 -1
- package/dist/policy/step-guard.d.ts +0 -8
- package/dist/policy/step-guard.d.ts.map +0 -1
- package/dist/policy/step-guard.js +0 -8
- package/dist/policy/step-guard.js.map +0 -1
- package/dist/state/case-store.d.ts +0 -19
- package/dist/state/case-store.d.ts.map +0 -1
- package/dist/state/case-store.js +0 -105
- package/dist/state/case-store.js.map +0 -1
- package/dist/state/file-store.d.ts +0 -15
- package/dist/state/file-store.d.ts.map +0 -1
- package/dist/state/file-store.js +0 -55
- package/dist/state/file-store.js.map +0 -1
- package/dist/state/gate-store.d.ts +0 -18
- package/dist/state/gate-store.d.ts.map +0 -1
- package/dist/state/gate-store.js +0 -91
- package/dist/state/gate-store.js.map +0 -1
- package/dist/state/sqlite-index.d.ts +0 -35
- package/dist/state/sqlite-index.d.ts.map +0 -1
- package/dist/state/sqlite-index.js +0 -69
- package/dist/state/sqlite-index.js.map +0 -1
- package/dist/state/store.d.ts +0 -11
- package/dist/state/store.d.ts.map +0 -1
- package/dist/state/store.js +0 -2
- package/dist/state/store.js.map +0 -1
- package/dist/tool/errors.d.ts +0 -25
- package/dist/tool/errors.d.ts.map +0 -1
- package/dist/tool/errors.js +0 -41
- package/dist/tool/errors.js.map +0 -1
- package/dist/tool/executors/context-read.d.ts +0 -6
- package/dist/tool/executors/context-read.d.ts.map +0 -1
- package/dist/tool/executors/context-read.js +0 -39
- package/dist/tool/executors/context-read.js.map +0 -1
- package/dist/tool/registry.d.ts +0 -13
- package/dist/tool/registry.d.ts.map +0 -1
- package/dist/tool/registry.js +0 -49
- package/dist/tool/registry.js.map +0 -1
- package/dist/tool/types.d.ts +0 -46
- package/dist/tool/types.d.ts.map +0 -1
- package/dist/tool/types.js +0 -10
- package/dist/tool/types.js.map +0 -1
- package/dist/types/agent.d.ts +0 -98
- package/dist/types/agent.d.ts.map +0 -1
- package/dist/types/agent.js +0 -35
- package/dist/types/agent.js.map +0 -1
- package/dist/types/case.d.ts +0 -32
- package/dist/types/case.d.ts.map +0 -1
- package/dist/types/case.js +0 -11
- package/dist/types/case.js.map +0 -1
- package/dist/types/context.d.ts +0 -613
- package/dist/types/context.d.ts.map +0 -1
- package/dist/types/context.js +0 -60
- package/dist/types/context.js.map +0 -1
- package/dist/types/events.d.ts +0 -63
- package/dist/types/events.d.ts.map +0 -1
- package/dist/types/events.js +0 -26
- package/dist/types/events.js.map +0 -1
- package/dist/types/policy.d.ts +0 -225
- package/dist/types/policy.d.ts.map +0 -1
- package/dist/types/policy.js +0 -43
- package/dist/types/policy.js.map +0 -1
- package/dist/types/runner.d.ts +0 -18
- package/dist/types/runner.d.ts.map +0 -1
- package/dist/types/runner.js +0 -2
- package/dist/types/runner.js.map +0 -1
- package/dist/types/state.d.ts +0 -316
- package/dist/types/state.d.ts.map +0 -1
- package/dist/types/state.js +0 -42
- package/dist/types/state.js.map +0 -1
- package/dist/types/workflow.d.ts +0 -379
- package/dist/types/workflow.d.ts.map +0 -1
- package/dist/types/workflow.js +0 -51
- package/dist/types/workflow.js.map +0 -1
- package/dist/wac/context.d.ts +0 -4
- package/dist/wac/context.d.ts.map +0 -1
- package/dist/wac/context.js +0 -67
- package/dist/wac/context.js.map +0 -1
- package/dist/wac/llm.d.ts +0 -2
- package/dist/wac/llm.d.ts.map +0 -1
- package/dist/wac/llm.js +0 -69
- package/dist/wac/llm.js.map +0 -1
- package/dist/wac/store.d.ts +0 -25
- package/dist/wac/store.d.ts.map +0 -1
- package/dist/wac/store.js +0 -124
- package/dist/wac/store.js.map +0 -1
- package/dist/workflow/conditions.d.ts +0 -3
- package/dist/workflow/conditions.d.ts.map +0 -1
- package/dist/workflow/conditions.js +0 -18
- package/dist/workflow/conditions.js.map +0 -1
- package/dist/workflow/engine.d.ts +0 -47
- package/dist/workflow/engine.d.ts.map +0 -1
- package/dist/workflow/engine.js +0 -611
- package/dist/workflow/engine.js.map +0 -1
- package/dist/workflow/graph.d.ts +0 -13
- package/dist/workflow/graph.d.ts.map +0 -1
- package/dist/workflow/graph.js +0 -82
- package/dist/workflow/graph.js.map +0 -1
- package/dist/workflow/runner-registry.d.ts +0 -8
- package/dist/workflow/runner-registry.d.ts.map +0 -1
- package/dist/workflow/runner-registry.js +0 -17
- package/dist/workflow/runner-registry.js.map +0 -1
- package/dist/workflow/runners/echo.d.ts +0 -8
- package/dist/workflow/runners/echo.d.ts.map +0 -1
- package/dist/workflow/runners/echo.js +0 -11
- package/dist/workflow/runners/echo.js.map +0 -1
- package/dist/workflow/runners/manual-gate.d.ts +0 -8
- package/dist/workflow/runners/manual-gate.d.ts.map +0 -1
- package/dist/workflow/runners/manual-gate.js +0 -25
- package/dist/workflow/runners/manual-gate.js.map +0 -1
- package/dist/workflow/runners/shell.d.ts +0 -8
- package/dist/workflow/runners/shell.d.ts.map +0 -1
- package/dist/workflow/runners/shell.js +0 -156
- package/dist/workflow/runners/shell.js.map +0 -1
- package/dist/workflow/template.d.ts +0 -3
- package/dist/workflow/template.d.ts.map +0 -1
- package/dist/workflow/template.js +0 -25
- package/dist/workflow/template.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
+
**English** | [Русский](README.ru.md)
|
|
2
|
+
|
|
1
3
|
# Mr. Wolf
|
|
2
4
|
|
|
3
5
|

|
|
4
6
|
|
|
5
|
-
>
|
|
7
|
+
> **"I solve problems."**
|
|
6
8
|
>
|
|
7
|
-
>
|
|
8
|
-
>
|
|
9
|
+
> **Memory is the carrier. Processes are the essence. Agents are the shape. Tools are the hands.**
|
|
10
|
+
> And the hands accumulate: every useful script becomes a permanent project resource.
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
**Concept version:** 3.0 · Status: opencode-first, roadmap v3 Phases A–B implemented.
|
|
11
13
|
|
|
12
|
-
##
|
|
14
|
+
## What is Wolf
|
|
13
15
|
|
|
14
|
-
Mr. Wolf
|
|
16
|
+
Mr. Wolf is a local-first layer of memory, processes, agents and tools for AI coding: a single source of truth that agents write their experience to and read context from. It is not an orchestrator and not yet another agent — it is a substrate under any agent. Accumulation instead of evaporation: decisions, lessons, tools and processes stay with the project after the session and make the next task cheaper. The full picture is in the [concept v3 (RU)](docs/concept/concept.md).
|
|
15
17
|
|
|
16
|
-
##
|
|
18
|
+
## Problems Wolf solves
|
|
17
19
|
|
|
18
|
-
|
|
|
19
|
-
| --- |
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
20
|
+
| # | Problem | Symptom |
|
|
21
|
+
| --- | ---------------------------------------- | ------------------------------------------------------------------------------ |
|
|
22
|
+
| P1 | Context is lost between sessions | the agent starts from scratch |
|
|
23
|
+
| P2 | Experience is not reused | recurring tasks are solved from scratch: prose reasoning + new one-off scripts |
|
|
24
|
+
| P3 | Project documents live apart from agents | no single source of truth |
|
|
25
|
+
| P4 | Accumulated knowledge becomes noise | memory grows, value drops |
|
|
24
26
|
|
|
25
27
|
## Installation
|
|
26
28
|
|
|
27
29
|
> [!WARNING]
|
|
28
|
-
>
|
|
29
|
-
> библиотека): `npm install mr-wolf` поставит сторонний код и выполнит его install-скрипты.
|
|
30
|
-
> Проверяй имя буква-в-букву перед установкой.
|
|
30
|
+
> The package is named **`mister-wolf`** ([on npm](https://www.npmjs.com/package/mister-wolf)) — exactly that. The `mr-wolf` package on npm **belongs to someone else** (a work-queue library): `npm install mr-wolf` installs third-party code and runs its install scripts. Check the name letter by letter before installing.
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Installation is three commands:
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
35
|
npm install -g mister-wolf # 1) машина: бинарь wolf (уровень 0)
|
|
@@ -37,53 +37,46 @@ cd my-project && wolf init # 2) проект: скелет .wolf/ + MCP-кон
|
|
|
37
37
|
wolf bootstrap # 3) память: стартовое наполнение из документов проекта
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
After `wolf init` **restart your agent platform** — the Wolf MCP server connects at startup. Claude Code will ask you to approve the project-scope MCP server on first start — that is expected.
|
|
41
|
+
|
|
42
|
+
- **Try it without installing:** `npx mister-wolf init` — creates project memory but never writes MCP configs (try-out mode). Like it? `npm install -g mister-wolf` and run `wolf init` again.
|
|
43
|
+
- **Platforms v1:** opencode, Claude Code. Detection is automatic; explicit: `wolf init --platform opencode,claude` (the list replaces the current set). If no platform markers are found, init warns you honestly and suggests `--platform`.
|
|
44
|
+
- **OS/runtime:** macOS and Linux (glibc) on Node 22/24. Alpine/musl is not supported in v1; Windows is best-effort, not claimed. The native dependency better-sqlite3 installs from prebuilds — that is the dependency's own behavior; mister-wolf ships no install scripts of its own.
|
|
45
|
+
- **If installation fails on better-sqlite3 — two different situations:**
|
|
46
|
+
`prebuild-install ... no prebuilt binary found (musl)` — no prebuilds are published for your platform (Alpine/musl) — **not supported in v1**, use a glibc distribution;
|
|
47
|
+
`gyp ERR!` / `node-gyp` / a from-source build failed — there is no prebuild for your Node version or it did not download. Install the node-gyp prerequisites (python3, make, a C++ toolchain) and retry `npm rebuild better-sqlite3` — this one is fixable, unlike musl.
|
|
48
|
+
- **Dev path (from a cloned repo):** `npm install && npm run build`, then `alias wolf="node dist/bootstrap/cli.js"`. With a global `mister-wolf` installed at the same time, mind PATH shadowing: which `wolf` runs is decided by the order of directories in your PATH. npm also carries a third-party `wolf` package (Wolfram CLI) — installing both globally conflicts over the binary name and resolves by the same PATH order.
|
|
49
|
+
|
|
50
|
+
Connecting an agent is one command: `wolf scaffold agent <name>` creates a thin frame in `.opencode/agents/<name>.md`, a playbook object in memory, and a relation between them. Playbook delivery into the session is done by the `.opencode/plugins/wolf-router.ts` plugin — see [Integrations](#integrations).
|
|
42
51
|
|
|
43
|
-
|
|
44
|
-
не пишет MCP-конфиги (try-out). Понравилось — `npm install -g mister-wolf` и повтори `wolf init`.
|
|
45
|
-
- **Платформы v1:** opencode, Claude Code. Детект автоматический; явно:
|
|
46
|
-
`wolf init --platform opencode,claude` (список заменяет текущий набор). Нет маркеров платформы —
|
|
47
|
-
init честно предупредит и подскажет `--platform`.
|
|
48
|
-
- **ОС/рантайм:** macOS и Linux (glibc) на Node 22/24. Alpine/musl не поддержан в v1;
|
|
49
|
-
Windows — best-effort, не заявлена. Нативная зависимость better-sqlite3 ставится из пребилдов —
|
|
50
|
-
это поведение зависимости, у mister-wolf нет своих install-скриптов.
|
|
51
|
-
- **Если установка падает на better-sqlite3 — две разные ситуации:**
|
|
52
|
-
`prebuild-install ... no prebuilt binary found (musl)` — для вашей платформы пребилды не
|
|
53
|
-
выпускаются (Alpine/musl) — **не поддерживается в v1**, используйте glibc-дистрибутив;
|
|
54
|
-
`gyp ERR!` / `node-gyp` / сборка из исходников упала — пребилда под ваш Node нет или не
|
|
55
|
-
скачалась, поставь node-gyp prerequisites (python3, make, C++ toolchain) и повтори
|
|
56
|
-
`npm rebuild better-sqlite3` — это лечится, в отличие от musl.
|
|
57
|
-
- **Dev-путь (из клонированного репо):** `npm install && npm run build`, затем
|
|
58
|
-
`alias wolf="node dist/bootstrap/cli.js"`. При одновременно установленном глобальном
|
|
59
|
-
`mister-wolf` помни о PATH-shadowing: какой `wolf` запустится — определяется порядком каталогов
|
|
60
|
-
в PATH. В npm есть и чужой пакет `wolf` (Wolfram CLI) — глобальная установка обоих конфликтует
|
|
61
|
-
за имя бинаря, разрешается тем же порядком PATH.
|
|
52
|
+
`bootstrap` finishes by invoking the Steward to fold the startup-memory drafts — protocol: [steward bootstrap (RU)](docs/guide/steward-bootstrap.md).
|
|
62
53
|
|
|
63
|
-
|
|
54
|
+
## Versioning
|
|
64
55
|
|
|
65
|
-
|
|
56
|
+
- The single source of truth for the version is `package.json`; the version changes only via `npm version X.Y.Z` (semver, manual).
|
|
57
|
+
- A `v*` tag is the release trigger: CI runs `check`+`e2e` and publishes the package (trusted publishing, provenance).
|
|
58
|
+
- Change history lives in [CHANGELOG.md](CHANGELOG.md); an entry there is mandatory for every release.
|
|
66
59
|
|
|
67
|
-
##
|
|
60
|
+
## Architecture
|
|
68
61
|
|
|
69
|
-
|
|
62
|
+
Four layers ([concept §2 (RU)](docs/concept/concept.md)):
|
|
70
63
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
|
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
64
|
+
| Layer | Contents | State |
|
|
65
|
+
| ------------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------- |
|
|
66
|
+
| **Memory** | Single source of truth: decisions, lessons, rules, documents, processes, tools; supersede chains | mature: CLI + MCP, taxonomy, FTS search |
|
|
67
|
+
| **Processes** | Working protocols: bootstrap, cold-start, complain channel, checkpoint/wrap-up, knowledge processing | partly in the product, partly in practice |
|
|
68
|
+
| **Agents** | Thin frames (persona) + playbooks (methodology in memory); delivery into platforms | proven by PoCs #1–4 |
|
|
69
|
+
| **Tools** | CLI and MCP — the hands that put memory and processes into action | mature |
|
|
77
70
|
|
|
78
|
-
|
|
71
|
+
The layers are not a stack but a **loop**: agents run processes; processes read and write memory; tools put everything into action; results flow back into memory as new knowledge and new tools.
|
|
79
72
|
|
|
80
|
-
|
|
73
|
+
Details: [architecture guide (RU)](docs/guide/architecture.md) · [concept v3 (RU)](docs/concept/concept.md).
|
|
81
74
|
|
|
82
|
-
##
|
|
75
|
+
## Features
|
|
83
76
|
|
|
84
|
-
###
|
|
77
|
+
### Memory
|
|
85
78
|
|
|
86
|
-
|
|
79
|
+
Everything is memory: 25 object types (24 active + 1 deprecated), versions, relations, attribution.
|
|
87
80
|
|
|
88
81
|
```bash
|
|
89
82
|
wolf add --type lesson --title "..." --body "..." --tags "vitest,ci" --confidence medium
|
|
@@ -95,13 +88,13 @@ wolf transition mem_002 accepted # смена статуса жизненно
|
|
|
95
88
|
wolf relation add mem_001 supports mem_002
|
|
96
89
|
```
|
|
97
90
|
|
|
98
|
-
- `wolf taxonomy show|sync` —
|
|
99
|
-
- `wolf validate [--fix]` —
|
|
100
|
-
- FTS
|
|
91
|
+
- `wolf taxonomy show|sync` — the effective taxonomy and its regeneration from code.
|
|
92
|
+
- `wolf validate [--fix]` — store integrity, quarantine for broken objects.
|
|
93
|
+
- FTS search over a SQLite index (`wolf rebuild-index` to rebuild).
|
|
101
94
|
|
|
102
|
-
###
|
|
95
|
+
### Processes
|
|
103
96
|
|
|
104
|
-
|
|
97
|
+
Agent working protocols as a product.
|
|
105
98
|
|
|
106
99
|
```bash
|
|
107
100
|
wolf bootstrap # подключение к проекту: скан → черновики правил, document-ref'ы, work-thread
|
|
@@ -114,15 +107,15 @@ wolf solve "битые relation-ссылки" --save # solve pack для
|
|
|
114
107
|
wolf think start --goal "…" # последовательность: goal → мысли → решение
|
|
115
108
|
```
|
|
116
109
|
|
|
117
|
-
###
|
|
110
|
+
### Agents
|
|
118
111
|
|
|
119
|
-
- `wolf scaffold agent|skill|command <name>` —
|
|
120
|
-
-
|
|
121
|
-
-
|
|
112
|
+
- `wolf scaffold agent|skill|command <name>` — a platform frame + a playbook in memory + a relation, all in one command; `--persona` and `--model` for agents, `--from-playbook <id>` to reuse an existing playbook.
|
|
113
|
+
- Playbook delivery is plugin injection into the system prompt (delivery layer #1): `.opencode/plugins/wolf-router.ts`.
|
|
114
|
+
- **Steward** — the loop's background agent with faces: **Mentor** (methodology, handles complaints), **Librarian** (tools), **Archivist** (knowledge). A new face = a new playbook, not a new agent.
|
|
122
115
|
|
|
123
|
-
###
|
|
116
|
+
### Tools
|
|
124
117
|
|
|
125
|
-
Tool
|
|
118
|
+
Tool librarian: a successful script crystallizes into a permanent project resource (search-before-write).
|
|
126
119
|
|
|
127
120
|
```bash
|
|
128
121
|
wolf tool register scripts/check.sh --name check --contract-in "нет" --contract-out "exit 0/1"
|
|
@@ -134,9 +127,9 @@ wolf tool deprecate check --reason "заменён линтером"
|
|
|
134
127
|
wolf tool revive check # deprecated → active
|
|
135
128
|
```
|
|
136
129
|
|
|
137
|
-
###
|
|
130
|
+
### Self-learning
|
|
138
131
|
|
|
139
|
-
|
|
132
|
+
The phases 20–26 loop on top of the signal log (`.wolf/metrics/session-metrics.jsonl`).
|
|
140
133
|
|
|
141
134
|
```bash
|
|
142
135
|
wolf learn digest # активные паттерны (N≥3) + post-audit draft'ы
|
|
@@ -148,58 +141,58 @@ wolf learn decay --dry-run # чистка знаний по пробе
|
|
|
148
141
|
wolf learn status # здоровье сигнального лога: объёмы, метрики, drift
|
|
149
142
|
```
|
|
150
143
|
|
|
151
|
-
###
|
|
144
|
+
### Effectiveness
|
|
152
145
|
|
|
153
|
-
- `wolf effectiveness` —
|
|
154
|
-
- `wolf insights [--type lessons|decisions|technical_debt|…] [--topic <t>]` —
|
|
155
|
-
-
|
|
146
|
+
- `wolf effectiveness` — dashboard: rules holdout, tool economy, delivery, noise, routing (aggregation, no LLM).
|
|
147
|
+
- `wolf insights [--type lessons|decisions|technical_debt|…] [--topic <t>]` — heuristic analysis of memory (Level 1, no LLM).
|
|
148
|
+
- Benchmarks: `scripts/bench/` (b1-repeat-debug, b2-bootstrap, b3-retrospective).
|
|
156
149
|
|
|
157
|
-
##
|
|
150
|
+
## Demos
|
|
158
151
|
|
|
159
|
-
|
|
152
|
+
Self-checking scenarios: `bash scripts/demo/scenario-N.sh`.
|
|
160
153
|
|
|
161
|
-
|
|
|
162
|
-
| --- |
|
|
163
|
-
| 1 |
|
|
164
|
-
| 2 |
|
|
165
|
-
| 3 |
|
|
166
|
-
| 4 |
|
|
167
|
-
| 5 |
|
|
168
|
-
| 6 |
|
|
169
|
-
| 7 |
|
|
170
|
-
| 8 | wolf run:
|
|
154
|
+
| # | Scenario |
|
|
155
|
+
| --- | -------------------------------------------------------------------------------------------------------------- |
|
|
156
|
+
| 1 | Connecting Wolf to a new project (self-checking, PASS/FAIL points) |
|
|
157
|
+
| 2 | The life of a knowledge item: birth, aging (supersede), reading the current one |
|
|
158
|
+
| 3 | A new agent = one command (scaffold: playbook + frame + relation) |
|
|
159
|
+
| 4 | An owner complaint — a hot-signal into the self-learning loop |
|
|
160
|
+
| 5 | A script becomes a resource — the Librarian's tool cycle |
|
|
161
|
+
| 6 | Self-learning: 3 mistakes → pattern → draft → Sandbox Replay → activation |
|
|
162
|
+
| 7 | Loop hygiene: learn status, memory integrity, mileage-based decay |
|
|
163
|
+
| 8 | wolf run: model from a routing memory object, spend written to the run-log (**one real LLM call, ~30–60 sec**) |
|
|
171
164
|
|
|
172
|
-
##
|
|
165
|
+
## Integrations
|
|
173
166
|
|
|
174
|
-
### MCP
|
|
167
|
+
### MCP server
|
|
175
168
|
|
|
176
|
-
`wolf mcp` —
|
|
169
|
+
`wolf mcp` — runs the MCP server (stdio): all memory and processes are available to agents on any MCP-compatible platform. Tool list and configuration: [MCP integration spec (RU)](docs/superpowers/specs/2026-07-01-mcp-server-integration-design.md).
|
|
177
170
|
|
|
178
|
-
### opencode
|
|
171
|
+
### opencode plugins
|
|
179
172
|
|
|
180
|
-
- `.opencode/plugins/wolf-router.ts` —
|
|
181
|
-
- `.opencode/plugins/wolf-session-start.js` —
|
|
182
|
-
-
|
|
173
|
+
- `.opencode/plugins/wolf-router.ts` — injects the current playbook into the system prompt (delivery layer #1); `wolf search` is the fallback.
|
|
174
|
+
- `.opencode/plugins/wolf-session-start.js` — session start context.
|
|
175
|
+
- Agent frames live in `.opencode/agents/` (created by `wolf scaffold`).
|
|
183
176
|
|
|
184
177
|
### WOLF_ACTOR
|
|
185
178
|
|
|
186
|
-
|
|
179
|
+
Mutation attribution: every memory object has an author. Priority: the `--created-by <actor>` flag > the `WOLF_ACTOR` env var > fallback (`user:cli` for CLI commands, `steward:<face>` for the Steward loop).
|
|
187
180
|
|
|
188
|
-
##
|
|
181
|
+
## Limitations and roadmap
|
|
189
182
|
|
|
190
|
-
- **opencode-first**:
|
|
191
|
-
-
|
|
192
|
-
-
|
|
183
|
+
- **opencode-first**: multi-platform support is an architectural principle (concept §6.6), but the threads for other platforms come after Levels 1–2 mature.
|
|
184
|
+
- **What Wolf does not do** (concept §10): code editing as a project function · IDE integration · web UI · distributed work · general-purpose orchestration (only protocols proven by practice).
|
|
185
|
+
- Plan: [roadmap-v3 (RU)](docs/superpowers/plans/roadmap-v3.md) — phases A–E.
|
|
193
186
|
|
|
194
|
-
##
|
|
187
|
+
## Documentation
|
|
195
188
|
|
|
196
|
-
- [
|
|
197
|
-
- [Roadmap v3](docs/superpowers/plans/roadmap-v3.md) —
|
|
198
|
-
- [User guide](docs/guide/user-guide.md) —
|
|
199
|
-
- [CLI reference](docs/reference/cli.md) —
|
|
200
|
-
- [Architecture](docs/guide/architecture.md) —
|
|
201
|
-
- [
|
|
189
|
+
- [Concept v3 (RU)](docs/concept/concept.md) — four layers, the activation pipeline, the Steward, USP
|
|
190
|
+
- [Roadmap v3 (RU)](docs/superpowers/plans/roadmap-v3.md) — phases A–E, status and rationale
|
|
191
|
+
- [User guide (RU)](docs/guide/user-guide.md) — basic commands and workflow
|
|
192
|
+
- [CLI reference (RU)](docs/reference/cli.md) — full command reference
|
|
193
|
+
- [Architecture (RU)](docs/guide/architecture.md) — how the system is built
|
|
194
|
+
- [Documentation index (RU)](docs/README.md)
|
|
202
195
|
|
|
203
|
-
##
|
|
196
|
+
## Development
|
|
204
197
|
|
|
205
|
-
TypeScript (strict, ESM), Node 22, vitest.
|
|
198
|
+
TypeScript (strict, ESM), Node 22, vitest. Verification: `npm run check` (format + lint + test + build); e2e suite: `npm run e2e`. Architecture: ports & adapters — `src/domain` · `src/app/use-cases` · `src/adapters` · `src/ports`.
|
package/README.ru.md
ADDED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
[English](README.md) | **Русский**
|
|
2
|
+
|
|
3
|
+
# Mr. Wolf
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
> **«I solve problems.»**
|
|
8
|
+
>
|
|
9
|
+
> **Память — носитель. Процессы — суть. Агенты — форма. Инструменты — руки.**
|
|
10
|
+
> И руки накапливаются: каждый полезный скрипт становится постоянным ресурсом проекта.
|
|
11
|
+
|
|
12
|
+
**Версия концепта:** 3.0 · Статус: opencode-first, Фазы A–B roadmap v3 реализованы.
|
|
13
|
+
|
|
14
|
+
## Что такое Wolf
|
|
15
|
+
|
|
16
|
+
Mr. Wolf — local-first слой памяти, процессов, агентов и инструментов для AI-кодинга: единая точка правды проекта, в которую агенты пишут опыт и из которой получают контекст. Это не оркестратор и не ещё один агент, а субстрат под любого агента. Накопление вместо испарения: решения, уроки, инструменты и процессы остаются в проекте после сессии и делают следующую задачу дешевле. Полная картина — в [концепте v3](docs/concept/concept.md).
|
|
17
|
+
|
|
18
|
+
## Решаемые проблемы
|
|
19
|
+
|
|
20
|
+
| № | Проблема | Проявление |
|
|
21
|
+
| --- | ------------------------------------------- | ----------------------------------------------------------------------------------- |
|
|
22
|
+
| П1 | Контекст теряется между сессиями | агент начинает с нуля |
|
|
23
|
+
| П2 | Опыт не переиспользуется | повторные задачи решаются заново: текстовые рассуждения + новые одноразовые скрипты |
|
|
24
|
+
| П3 | Документы проекта живут отдельно от агентов | единая точка правды отсутствует |
|
|
25
|
+
| П4 | Накопленное становится шумом | память растёт, ценность падает |
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
> [!WARNING]
|
|
30
|
+
> Пакет называется **`mister-wolf`** — именно так. Пакет `mr-wolf` в npm **чужой** (work-queue
|
|
31
|
+
> библиотека): `npm install mr-wolf` поставит сторонний код и выполнит его install-скрипты.
|
|
32
|
+
> Проверяй имя буква-в-букву перед установкой.
|
|
33
|
+
|
|
34
|
+
Установка — три команды:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm install -g mister-wolf # 1) машина: бинарь wolf (уровень 0)
|
|
38
|
+
cd my-project && wolf init # 2) проект: скелет .wolf/ + MCP-конфиги платформ
|
|
39
|
+
wolf bootstrap # 3) память: стартовое наполнение из документов проекта
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
После `wolf init` **перезапусти агентскую платформу** — MCP-сервер Wolf подключается при старте.
|
|
43
|
+
Claude Code при первом старте попросит approve project-scope MCP-сервер — это штатно.
|
|
44
|
+
|
|
45
|
+
- **Попробовать без установки:** `npx mister-wolf init` — создаст память проекта, но никогда
|
|
46
|
+
не пишет MCP-конфиги (try-out). Понравилось — `npm install -g mister-wolf` и повтори `wolf init`.
|
|
47
|
+
- **Платформы v1:** opencode, Claude Code. Детект автоматический; явно:
|
|
48
|
+
`wolf init --platform opencode,claude` (список заменяет текущий набор). Нет маркеров платформы —
|
|
49
|
+
init честно предупредит и подскажет `--platform`.
|
|
50
|
+
- **ОС/рантайм:** macOS и Linux (glibc) на Node 22/24. Alpine/musl не поддержан в v1;
|
|
51
|
+
Windows — best-effort, не заявлена. Нативная зависимость better-sqlite3 ставится из пребилдов —
|
|
52
|
+
это поведение зависимости, у mister-wolf нет своих install-скриптов.
|
|
53
|
+
- **Если установка падает на better-sqlite3 — две разные ситуации:**
|
|
54
|
+
`prebuild-install ... no prebuilt binary found (musl)` — для вашей платформы пребилды не
|
|
55
|
+
выпускаются (Alpine/musl) — **не поддерживается в v1**, используйте glibc-дистрибутив;
|
|
56
|
+
`gyp ERR!` / `node-gyp` / сборка из исходников упала — пребилда под ваш Node нет или не
|
|
57
|
+
скачалась, поставь node-gyp prerequisites (python3, make, C++ toolchain) и повтори
|
|
58
|
+
`npm rebuild better-sqlite3` — это лечится, в отличие от musl.
|
|
59
|
+
- **Dev-путь (из клонированного репо):** `npm install && npm run build`, затем
|
|
60
|
+
`alias wolf="node dist/bootstrap/cli.js"`. При одновременно установленном глобальном
|
|
61
|
+
`mister-wolf` помни о PATH-shadowing: какой `wolf` запустится — определяется порядком каталогов
|
|
62
|
+
в PATH. В npm есть и чужой пакет `wolf` (Wolfram CLI) — глобальная установка обоих конфликтует
|
|
63
|
+
за имя бинаря, разрешается тем же порядком PATH.
|
|
64
|
+
|
|
65
|
+
Подключение агента — одна команда: `wolf scaffold agent <name>` создаёт тонкую рамку в `.opencode/agents/<name>.md`, playbook-объект в памяти и relation между ними. Доставку playbook'а в сессию выполняет плагин `.opencode/plugins/wolf-router.ts` — см. [Интеграции](#интеграции).
|
|
66
|
+
|
|
67
|
+
`bootstrap` завершается вызовом Стюарда для свёртки черновиков стартовой памяти — протокол: [docs/guide/steward-bootstrap.md](docs/guide/steward-bootstrap.md).
|
|
68
|
+
|
|
69
|
+
## Versioning
|
|
70
|
+
|
|
71
|
+
- Единственный источник истины версии — `package.json`; версия меняется только командой `npm version X.Y.Z` (semver, вручную).
|
|
72
|
+
- Тег `v*` — релиз-триггер: CI прогоняет `check`+`e2e` и публикует пакет (trusted publishing, provenance).
|
|
73
|
+
- История изменений — [CHANGELOG.md](CHANGELOG.md); запись в него при релизе обязательна.
|
|
74
|
+
|
|
75
|
+
## Архитектура
|
|
76
|
+
|
|
77
|
+
Четыре слоя ([концепт §2](docs/concept/concept.md)):
|
|
78
|
+
|
|
79
|
+
| Слой | Содержание | Состояние |
|
|
80
|
+
| --------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------- |
|
|
81
|
+
| **Память** | Единая точка правды: решения, уроки, правила, документы, процессы, инструменты; supersede-цепочки | зрел: CLI + MCP, таксономия, FTS-поиск |
|
|
82
|
+
| **Процессы** | Протоколы работы: bootstrap, cold-start, complain-канал, checkpoint/wrap-up, обработка знаний | частично в продукте, частично в практике |
|
|
83
|
+
| **Агенты** | Тонкие рамки (персона) + playbook'и (методика в памяти); доставка в платформы | доказано PoC #1–4 |
|
|
84
|
+
| **Инструменты** | CLI и MCP — руки, приводящие память и процессы в действие | зрел |
|
|
85
|
+
|
|
86
|
+
Слои — не стопка, а **петля**: агенты исполняют процессы; процессы читают и пишут память; инструменты приводят всё в действие; результаты возвращаются в память как новые знания и инструменты.
|
|
87
|
+
|
|
88
|
+
Подробно: [docs/guide/architecture.md](docs/guide/architecture.md) · [концепт v3](docs/concept/concept.md).
|
|
89
|
+
|
|
90
|
+
## Возможности
|
|
91
|
+
|
|
92
|
+
### Память
|
|
93
|
+
|
|
94
|
+
Всё есть память: 25 типов объектов (24 активных + 1 deprecated), версии, связи, атрибуция.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
wolf add --type lesson --title "..." --body "..." --tags "vitest,ci" --confidence medium
|
|
98
|
+
wolf get mem_001 --latest # до актуального в supersede-цепочке
|
|
99
|
+
wolf list --type decision --stale # не обновлялись 30 дней
|
|
100
|
+
wolf search "supersede" --type rule --hide-superseded
|
|
101
|
+
wolf supersede mem_001 mem_002 # mem_001 заменён mem_002
|
|
102
|
+
wolf transition mem_002 accepted # смена статуса жизненного цикла
|
|
103
|
+
wolf relation add mem_001 supports mem_002
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
- `wolf taxonomy show|sync` — эффективная таксономия и её регенерация из кода.
|
|
107
|
+
- `wolf validate [--fix]` — целостность хранилища, карантин битых объектов.
|
|
108
|
+
- FTS-поиск по SQLite-индексу (`wolf rebuild-index` — перестройка).
|
|
109
|
+
|
|
110
|
+
### Процессы
|
|
111
|
+
|
|
112
|
+
Протоколы работы агентов как продукт.
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
wolf bootstrap # подключение к проекту: скан → черновики правил, document-ref'ы, work-thread
|
|
116
|
+
wolf call # cold-start: активные injections для сессии (--for <topic> — по теме)
|
|
117
|
+
wolf brief # сводка состояния по последнему scan + памяти
|
|
118
|
+
wolf complain --about skill:apprentice --text "…" # жалоба на поведение агента → hot-signal Стюарду
|
|
119
|
+
wolf session checkpoint --thread <id> # точка свёртки прогресса
|
|
120
|
+
wolf session wrap-up --title "…" # session-summary завершения
|
|
121
|
+
wolf solve "битые relation-ссылки" --save # solve pack для проблемы памяти
|
|
122
|
+
wolf think start --goal "…" # последовательность: goal → мысли → решение
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Агенты
|
|
126
|
+
|
|
127
|
+
- `wolf scaffold agent|skill|command <name>` — рамка платформы + playbook в памяти + relation одной командой; `--persona` и `--model` для агентов, `--from-playbook <id>` — переиспользовать существующий playbook.
|
|
128
|
+
- Доставка playbook'ов — плагин-инжекция в system-промпт (слой доставки №1): `.opencode/plugins/wolf-router.ts`.
|
|
129
|
+
- **Стюард** — фоновый агент контура с лицами: **Наставник** (методики, по жалобам), **Библиотекарь** (инструменты), **Архивариус** (знания). Новое лицо = новый playbook, не новый агент.
|
|
130
|
+
|
|
131
|
+
### Инструменты
|
|
132
|
+
|
|
133
|
+
Tool-библиотекарь: удачный скрипт кристаллизуется в постоянный ресурс (search-before-write).
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
wolf tool register scripts/check.sh --name check --contract-in "нет" --contract-out "exit 0/1"
|
|
137
|
+
wolf tool list --status active
|
|
138
|
+
wolf tool use check # +1 к usage_count, напоминание контракта
|
|
139
|
+
wolf tool stats # счётчики + экономика переиспользования из run-log
|
|
140
|
+
wolf tool expose check # (пере)генерировать .opencode/skills/check/SKILL.md
|
|
141
|
+
wolf tool deprecate check --reason "заменён линтером"
|
|
142
|
+
wolf tool revive check # deprecated → active
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Самообучение
|
|
146
|
+
|
|
147
|
+
Контур Ф20–26 поверх сигнального лога (`.wolf/metrics/session-metrics.jsonl`).
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
wolf learn digest # активные паттерны (N≥3) + post-audit draft'ы
|
|
151
|
+
wolf learn propose <pattern-key> # draft урока/правила из паттерна (без LLM)
|
|
152
|
+
wolf learn validate <draft-id> # Sandbox Replay Holdout на реальных событиях
|
|
153
|
+
wolf learn activate <draft-id> # активация (гейт: holdout pass или --human-approved)
|
|
154
|
+
wolf learn gate # STOP-гейт: pressure-сценарии доставки + read-only probe
|
|
155
|
+
wolf learn decay --dry-run # чистка знаний по пробегу (сессии)
|
|
156
|
+
wolf learn status # здоровье сигнального лога: объёмы, метрики, drift
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Эффективность
|
|
160
|
+
|
|
161
|
+
- `wolf effectiveness` — панель: rules holdout, tool economy, доставка, шум, роутинг (агрегация, без LLM).
|
|
162
|
+
- `wolf insights [--type lessons|decisions|technical_debt|…] [--topic <t>]` — эвристический анализ памяти (Level 1, без LLM).
|
|
163
|
+
- Бенчмарки: `scripts/bench/` (b1-repeat-debug, b2-bootstrap, b3-retrospective).
|
|
164
|
+
|
|
165
|
+
## Демо
|
|
166
|
+
|
|
167
|
+
Самопроверяющиеся сценарии: `bash scripts/demo/scenario-N.sh`.
|
|
168
|
+
|
|
169
|
+
| № | Сценарий |
|
|
170
|
+
| --- | ------------------------------------------------------------------------------------------------------ |
|
|
171
|
+
| 1 | Подключение Wolf к новому проекту (self-checking, PASS/FAIL-точки) |
|
|
172
|
+
| 2 | Жизнь знания: рождение, устаревание (supersede), чтение актуального |
|
|
173
|
+
| 3 | Новый агент = одна команда (scaffold: playbook + рамка + связь) |
|
|
174
|
+
| 4 | Жалоба владельца — hot-signal контура самообучения |
|
|
175
|
+
| 5 | Скрипт становится ресурсом — tool-цикл Библиотекаря |
|
|
176
|
+
| 6 | Самообучение: 3 ошибки → паттерн → draft → Sandbox Replay → активация |
|
|
177
|
+
| 7 | Гигиена контура: learn status, целостность памяти, decay по пробегу |
|
|
178
|
+
| 8 | wolf run: модель из routing-объекта памяти, расход в run-log (**один реальный LLM-вызов, ~30–60 сек**) |
|
|
179
|
+
|
|
180
|
+
## Интеграции
|
|
181
|
+
|
|
182
|
+
### MCP-сервер
|
|
183
|
+
|
|
184
|
+
`wolf mcp` — запуск MCP-сервера (stdio): вся память и процессы доступны агентам любой MCP-совместимой платформы. Список тулов и конфигурация — в [спеке MCP-интеграции](docs/superpowers/specs/2026-07-01-mcp-server-integration-design.md).
|
|
185
|
+
|
|
186
|
+
### opencode-плагины
|
|
187
|
+
|
|
188
|
+
- `.opencode/plugins/wolf-router.ts` — инжекция актуального playbook в system-промпт (слой доставки №1); `wolf search` — fallback.
|
|
189
|
+
- `.opencode/plugins/wolf-session-start.js` — стартовый контекст сессии.
|
|
190
|
+
- Рамки агентов — `.opencode/agents/` (создаются `wolf scaffold`).
|
|
191
|
+
|
|
192
|
+
### WOLF_ACTOR
|
|
193
|
+
|
|
194
|
+
Атрибуция мутаций: каждый объект памяти имеет автора. Приоритет: флаг `--created-by <actor>` > env `WOLF_ACTOR` > fallback (`user:cli` для CLI-команд, `steward:<лицо>` для контура Стюарда).
|
|
195
|
+
|
|
196
|
+
## Ограничения и roadmap
|
|
197
|
+
|
|
198
|
+
- **opencode-first**: мультиплатформенность — архитектурный принцип (концепт §6.6), но нити других платформ — после зрелости Уровней 1–2.
|
|
199
|
+
- **Что не делает Wolf** (концепт §10): редактирование кода как проектная функция · IDE-интеграция · веб-интерфейс · распределённая работа · оркестрация общего назначения (только протоколы, доказанные практикой).
|
|
200
|
+
- План: [roadmap-v3](docs/superpowers/plans/roadmap-v3.md) — фазы A–E.
|
|
201
|
+
|
|
202
|
+
## Документация
|
|
203
|
+
|
|
204
|
+
- [Концепция v3](docs/concept/concept.md) — четыре слоя, конвейер активации, Стюард, УТП
|
|
205
|
+
- [Roadmap v3](docs/superpowers/plans/roadmap-v3.md) — фазы A–E, статус и основания
|
|
206
|
+
- [User guide](docs/guide/user-guide.md) — базовые команды и workflow
|
|
207
|
+
- [CLI reference](docs/reference/cli.md) — полный справочник команд
|
|
208
|
+
- [Architecture](docs/guide/architecture.md) — устройство системы
|
|
209
|
+
- [Индекс документации](docs/README.md)
|
|
210
|
+
|
|
211
|
+
## Разработка
|
|
212
|
+
|
|
213
|
+
TypeScript (strict, ESM), Node 22, vitest. Верификация: `npm run check` (format + lint + test + build); e2e-набор: `npm run e2e`. Архитектура — ports & adapters: `src/domain` · `src/app/use-cases` · `src/adapters` · `src/ports`.
|
package/dist/bootstrap/cli.js
CHANGED
|
File without changes
|
package/dist/domain/npx.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Критерий npx-запуска (спека §3): под npx проверка «wolf на PATH» всегда истинна
|
|
3
|
-
* (шим из _npx-кэша), поэтому критерий — сам факт npx
|
|
3
|
+
* (шим из _npx-кэша), поэтому критерий — сам факт npx-запуска.
|
|
4
|
+
* Реальный npx ставит npm_command='exec'; 'npx' оставлен для совместимости
|
|
5
|
+
* (старые версии npm/моки окружения).
|
|
4
6
|
*/
|
|
5
7
|
export declare function isNpxRun(env?: NodeJS.ProcessEnv): boolean;
|
|
6
8
|
//# sourceMappingURL=npx.d.ts.map
|
package/dist/domain/npx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npx.d.ts","sourceRoot":"","sources":["../../src/domain/npx.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"npx.d.ts","sourceRoot":"","sources":["../../src/domain/npx.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEtE"}
|
package/dist/domain/npx.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Критерий npx-запуска (спека §3): под npx проверка «wolf на PATH» всегда истинна
|
|
3
|
-
* (шим из _npx-кэша), поэтому критерий — сам факт npx
|
|
3
|
+
* (шим из _npx-кэша), поэтому критерий — сам факт npx-запуска.
|
|
4
|
+
* Реальный npx ставит npm_command='exec'; 'npx' оставлен для совместимости
|
|
5
|
+
* (старые версии npm/моки окружения).
|
|
4
6
|
*/
|
|
5
7
|
export function isNpxRun(env = process.env) {
|
|
6
|
-
return env.npm_command === 'npx';
|
|
8
|
+
return env.npm_command === 'npx' || env.npm_command === 'exec';
|
|
7
9
|
}
|
|
8
10
|
//# sourceMappingURL=npx.js.map
|
package/dist/domain/npx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npx.js","sourceRoot":"","sources":["../../src/domain/npx.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"npx.js","sourceRoot":"","sources":["../../src/domain/npx.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC3D,OAAO,GAAG,CAAC,WAAW,KAAK,KAAK,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC;AACjE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mister-wolf",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"description": "Local-first project memory for AI coding agents: decisions, lessons, tools and processes that outlive the session",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai-agents",
|
|
7
|
+
"mcp",
|
|
8
|
+
"memory",
|
|
9
|
+
"semantic-memory",
|
|
10
|
+
"cli",
|
|
11
|
+
"local-first"
|
|
12
|
+
],
|
|
5
13
|
"type": "module",
|
|
6
14
|
"license": "MIT",
|
|
7
15
|
"repository": {
|
package/dist/agent/registry.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AgentDefinition } from '../types/agent.js';
|
|
2
|
-
export declare class AgentNotFound extends Error {
|
|
3
|
-
constructor(agentId: string);
|
|
4
|
-
}
|
|
5
|
-
export declare class AgentRegistry {
|
|
6
|
-
private byId;
|
|
7
|
-
private byCapability;
|
|
8
|
-
constructor(agents: AgentDefinition[]);
|
|
9
|
-
get(id: string): AgentDefinition | undefined;
|
|
10
|
-
require(id: string): AgentDefinition;
|
|
11
|
-
list(): AgentDefinition[];
|
|
12
|
-
findByCapability(capability: string): AgentDefinition[];
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agent/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,YAAY,CAAkC;gBAE1C,MAAM,EAAE,eAAe,EAAE;IAYrC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI5C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe;IAQpC,IAAI,IAAI,eAAe,EAAE;IAIzB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,EAAE;CAOxD"}
|