Rename npm package to reaa

This commit is contained in:
morluto 2026-07-12 09:28:54 +08:00
parent 44daad588e
commit 853a54799b
6 changed files with 17 additions and 17 deletions

View File

@ -17,8 +17,8 @@ REA does not bundle Hopper. `rea setup --yes` can install Homebrew when absent,
After publication:
```bash
npx -y @morluto/rea setup --yes
npx -y @morluto/rea doctor
npx -y reaa setup --yes
npx -y reaa doctor
```
For source-checkout development:
@ -59,7 +59,7 @@ Manual target-free MCP configuration:
"mcpServers": {
"rea": {
"command": "npx",
"args": ["-y", "@morluto/rea", "mcp"]
"args": ["-y", "reaa", "mcp"]
}
}
}
@ -94,13 +94,13 @@ npm run verify:hopper
Real-Hopper verification requires Hopper and two distinct binaries. It checks target-free startup, all 42 tools, analysis, bounded decompilation, target switching, bridge cleanup, and server shutdown. The verifier terminates only Hopper bundle processes that appeared during its run; it preserves Hopper processes that were already running.
Before publishing a release, run `npm run check`, `npm run verify:package`, `npm pack --dry-run`, and the two-target real-Hopper verifier. After publication, repeat the CLI and MCP smoke tests through `npx -y @morluto/rea`.
Before publishing a release, run `npm run check`, `npm run verify:package`, `npm pack --dry-run`, and the two-target real-Hopper verifier. After publication, repeat the CLI and MCP smoke tests through `npx -y reaa`.
The package ships only the `rea` executable. Setup writes a floating MCP registration using `npx -y @morluto/rea mcp`. A local tarball exercises the same package boundary before publication:
The npm package is named `reaa`, while the product and installed executable remain `REA` and `rea`. Setup writes a floating MCP registration using `npx -y reaa mcp`. A local tarball exercises the same package boundary before publication:
```bash
npm pack
npm exec --yes --package ./morluto-rea-0.1.0.tgz -- rea --help
npm exec --yes --package ./reaa-0.1.0.tgz -- rea --help
```
## License

4
package-lock.json generated
View File

@ -1,11 +1,11 @@
{
"name": "@morluto/rea",
"name": "reaa",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@morluto/rea",
"name": "reaa",
"version": "0.1.0",
"dependencies": {
"@modelcontextprotocol/server": "2.0.0-beta.3",

View File

@ -1,5 +1,5 @@
{
"name": "@morluto/rea",
"name": "reaa",
"version": "0.1.0",
"description": "Reverse-engineering automation for Hopper Disassembler through one CLI and MCP server.",
"license": "MIT",

View File

@ -95,7 +95,7 @@ try {
throw new Error("packaged CLI discovery or doctor failed");
await run(cli, ["mcp", "add"], environment);
const mcpRegistration = await readFile(npxLog, "utf8");
if (!mcpRegistration.includes("add-mcp npx -y @morluto/rea mcp --name rea"))
if (!mcpRegistration.includes("add-mcp npx -y reaa mcp --name rea"))
throw new Error("Incur mcp add did not register the floating npx command");
const first = json(await run(cli, ["setup", "--yes", "--json"], environment));
const second = json(
@ -113,7 +113,7 @@ try {
config.existing !== true ||
config.mcpServers?.rea?.command !== "npx" ||
JSON.stringify(config.mcpServers?.rea?.args) !==
JSON.stringify(["-y", "@morluto/rea", "mcp"])
JSON.stringify(["-y", "reaa", "mcp"])
)
throw new Error("packaged client readback failed");
if (
@ -173,7 +173,7 @@ try {
}
process.stdout.write(
`${JSON.stringify({ cli: true, incurMcpCommand: "npx -y @morluto/rea mcp", doctor: true, setup: "idempotent", clients: 2, backupReadback: true, failureRecovery: true, skill: true, mcpTools: 42, targetFree: true })}\n`,
`${JSON.stringify({ cli: true, incurMcpCommand: "npx -y reaa mcp", doctor: true, setup: "idempotent", clients: 2, backupReadback: true, failureRecovery: true, skill: true, mcpTools: 42, targetFree: true })}\n`,
);
} finally {
if (tarball) await rm(join(root, tarball), { force: true });

View File

@ -5,9 +5,9 @@
*/
export const PRODUCT_IDENTITY = {
displayName: "REA",
packageName: "@morluto/rea",
packageName: "reaa",
cliBinary: "rea",
mcpCommand: "npx -y @morluto/rea mcp",
mcpCommand: "npx -y reaa mcp",
mcpServerKey: "rea",
skillName: "rea-analysis",
configFileName: "rea.json",

View File

@ -28,7 +28,7 @@ describe("JSON client configuration transaction", () => {
other: { command: "other" },
rea: {
command: "npx",
args: ["-y", "@morluto/rea", "mcp"],
args: ["-y", "reaa", "mcp"],
},
},
});
@ -39,7 +39,7 @@ describe("JSON client configuration transaction", () => {
const configPath = join(directory, "mcp.json");
await writeFile(
configPath,
'{"mcpServers":{"rea":{"command":"npx","args":["-y","@morluto/rea","mcp"]}}}\n',
'{"mcpServers":{"rea":{"command":"npx","args":["-y","reaa","mcp"]}}}\n',
);
expect(await configureJsonClient({ name: "cursor", configPath })).toEqual({
status: "unchanged",
@ -61,7 +61,7 @@ describe("JSON client configuration transaction", () => {
mcpServers: {
rea: {
command: "npx",
args: ["-y", "@morluto/rea", "mcp"],
args: ["-y", "reaa", "mcp"],
env: { HOPPER_LAUNCHER_PATH: hopperPath },
},
},