@mypenny/core
v0.1.25
Published
MyPenny memory injection + transcript ingest for coding tools (shared core)
Downloads
632
Readme
@mypenny/core
Shared library used by @mypenny/claude,
@mypenny/codex, and @mypenny/cursor. Holds
the device-flow client, MyPenny memory client, transcript ingest client,
and the five hook scripts that the tool shells reference via
${PLUGIN_ROOT}/node_modules/@mypenny/core/scripts/*.ts.
Not meant to be installed directly by end users — install one of the tool-shell packages instead.
Project Key vs SharedSpace
The coding subconscious is project-aware without any manual setup. It derives a
stable projectKey from the current working directory, preferring the git
remote repo name, and uses that to read and update the matching
subconscious:<projectKey> block.
SharedSpace scope is separate from the local repo path, Cursor workspace,
Claude project, Codex workspace, or git project. The code plugin ignores local
MYPENNY_SHARED_SPACE_* and MYPENNY_WORKSPACE_ID environment variables and
does not send a workspaceId; SharedSpace routing is selected server-side for
specific plugin tokens.
For the hidden pilot, Peter or Aaron enables the routing mechanism on the target Convex deployment:
pnpm exec convex env set MYPENNY_SHARED_SPACE_MODE 1 --deployment <deployment>Then they manually select only the plugin tokens that should default to a
SharedSpace. The token must already have an active grant to that
sharedWorkspaces row:
pnpm exec convex run sharedWorkspaces:setTokenServerDefaultWorkspace \
'{"tokenId":"<pluginTokens id>","workspaceId":"<sharedWorkspaces id>","enabled":true}' \
--deployment <deployment>Unselected plugin tokens keep using private memory. The server resolves the
selected SharedSpace row's Org and grant before writing to the synthetic
workspace_<id> memory principal. To disable the global hidden route, remove
MYPENNY_SHARED_SPACE_MODE; to unselect one token, rerun the mutation with
"enabled":false.
