@nex-ai/nex 0.1.65 → 0.2.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/README.md +190 -263
- package/bin/nex-mcp.js +50 -0
- package/bin/nex.js +53 -0
- package/package.json +15 -36
- package/dist/agent/adoption.d.ts +0 -23
- package/dist/agent/adoption.js +0 -87
- package/dist/agent/adoption.js.map +0 -1
- package/dist/agent/gossip.d.ts +0 -17
- package/dist/agent/gossip.js +0 -48
- package/dist/agent/gossip.js.map +0 -1
- package/dist/agent/loop.d.ts +0 -59
- package/dist/agent/loop.js +0 -389
- package/dist/agent/loop.js.map +0 -1
- package/dist/agent/queues.d.ts +0 -16
- package/dist/agent/queues.js +0 -44
- package/dist/agent/queues.js.map +0 -1
- package/dist/agent/session-store.d.ts +0 -21
- package/dist/agent/session-store.js +0 -96
- package/dist/agent/session-store.js.map +0 -1
- package/dist/agent/templates.d.ts +0 -5
- package/dist/agent/templates.js +0 -55
- package/dist/agent/templates.js.map +0 -1
- package/dist/agent/tools.d.ts +0 -25
- package/dist/agent/tools.js +0 -238
- package/dist/agent/tools.js.map +0 -1
- package/dist/agent/types.d.ts +0 -59
- package/dist/agent/types.js +0 -5
- package/dist/agent/types.js.map +0 -1
- package/dist/calendar/scheduler.d.ts +0 -32
- package/dist/calendar/scheduler.js +0 -178
- package/dist/calendar/scheduler.js.map +0 -1
- package/dist/calendar/store.d.ts +0 -15
- package/dist/calendar/store.js +0 -50
- package/dist/calendar/store.js.map +0 -1
- package/dist/calendar/types.d.ts +0 -17
- package/dist/calendar/types.js +0 -5
- package/dist/calendar/types.js.map +0 -1
- package/dist/chat/channel.d.ts +0 -20
- package/dist/chat/channel.js +0 -84
- package/dist/chat/channel.js.map +0 -1
- package/dist/chat/message-store.d.ts +0 -18
- package/dist/chat/message-store.js +0 -82
- package/dist/chat/message-store.js.map +0 -1
- package/dist/chat/router.d.ts +0 -17
- package/dist/chat/router.js +0 -65
- package/dist/chat/router.js.map +0 -1
- package/dist/chat/suggested-responses.d.ts +0 -6
- package/dist/chat/suggested-responses.js +0 -99
- package/dist/chat/suggested-responses.js.map +0 -1
- package/dist/chat/types.d.ts +0 -28
- package/dist/chat/types.js +0 -5
- package/dist/chat/types.js.map +0 -1
- package/dist/cli.d.ts +0 -5
- package/dist/cli.js +0 -20
- package/dist/cli.js.map +0 -1
- package/dist/commands/attribute.d.ts +0 -4
- package/dist/commands/attribute.js +0 -75
- package/dist/commands/attribute.js.map +0 -1
- package/dist/commands/config-cmd.d.ts +0 -4
- package/dist/commands/config-cmd.js +0 -53
- package/dist/commands/config-cmd.js.map +0 -1
- package/dist/commands/context.d.ts +0 -4
- package/dist/commands/context.js +0 -167
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/dispatch.d.ts +0 -44
- package/dist/commands/dispatch.js +0 -1544
- package/dist/commands/dispatch.js.map +0 -1
- package/dist/commands/graph.d.ts +0 -5
- package/dist/commands/graph.js +0 -77
- package/dist/commands/graph.js.map +0 -1
- package/dist/commands/init.d.ts +0 -49
- package/dist/commands/init.js +0 -319
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/insight.d.ts +0 -4
- package/dist/commands/insight.js +0 -39
- package/dist/commands/insight.js.map +0 -1
- package/dist/commands/integrate.d.ts +0 -4
- package/dist/commands/integrate.js +0 -361
- package/dist/commands/integrate.js.map +0 -1
- package/dist/commands/list-job.d.ts +0 -4
- package/dist/commands/list-job.js +0 -41
- package/dist/commands/list-job.js.map +0 -1
- package/dist/commands/list.d.ts +0 -4
- package/dist/commands/list.js +0 -148
- package/dist/commands/list.js.map +0 -1
- package/dist/commands/note.d.ts +0 -4
- package/dist/commands/note.js +0 -77
- package/dist/commands/note.js.map +0 -1
- package/dist/commands/object.d.ts +0 -4
- package/dist/commands/object.js +0 -78
- package/dist/commands/object.js.map +0 -1
- package/dist/commands/parse-input.d.ts +0 -5
- package/dist/commands/parse-input.js +0 -37
- package/dist/commands/parse-input.js.map +0 -1
- package/dist/commands/record.d.ts +0 -4
- package/dist/commands/record.js +0 -126
- package/dist/commands/record.js.map +0 -1
- package/dist/commands/register.d.ts +0 -4
- package/dist/commands/register.js +0 -23
- package/dist/commands/register.js.map +0 -1
- package/dist/commands/relationship.d.ts +0 -4
- package/dist/commands/relationship.js +0 -80
- package/dist/commands/relationship.js.map +0 -1
- package/dist/commands/scan.d.ts +0 -4
- package/dist/commands/scan.js +0 -111
- package/dist/commands/scan.js.map +0 -1
- package/dist/commands/search.d.ts +0 -4
- package/dist/commands/search.js +0 -62
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/session.d.ts +0 -4
- package/dist/commands/session.js +0 -31
- package/dist/commands/session.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -25
- package/dist/commands/setup.js +0 -584
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/task.d.ts +0 -4
- package/dist/commands/task.js +0 -140
- package/dist/commands/task.js.map +0 -1
- package/dist/commands/workspace.d.ts +0 -8
- package/dist/commands/workspace.js +0 -251
- package/dist/commands/workspace.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -142
- package/dist/index.js.map +0 -1
- package/dist/lib/capture-filter.d.ts +0 -9
- package/dist/lib/capture-filter.js +0 -14
- package/dist/lib/capture-filter.js.map +0 -1
- package/dist/lib/client.d.ts +0 -20
- package/dist/lib/client.js +0 -160
- package/dist/lib/client.js.map +0 -1
- package/dist/lib/compounding-worker.d.ts +0 -2
- package/dist/lib/compounding-worker.js +0 -21
- package/dist/lib/compounding-worker.js.map +0 -1
- package/dist/lib/compounding.d.ts +0 -20
- package/dist/lib/compounding.js +0 -45
- package/dist/lib/compounding.js.map +0 -1
- package/dist/lib/config.d.ts +0 -35
- package/dist/lib/config.js +0 -96
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/context-format.d.ts +0 -7
- package/dist/lib/context-format.js +0 -21
- package/dist/lib/context-format.js.map +0 -1
- package/dist/lib/errors.d.ts +0 -18
- package/dist/lib/errors.js +0 -30
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/file-scanner.d.ts +0 -38
- package/dist/lib/file-scanner.js +0 -188
- package/dist/lib/file-scanner.js.map +0 -1
- package/dist/lib/graph-html.d.ts +0 -59
- package/dist/lib/graph-html.js +0 -859
- package/dist/lib/graph-html.js.map +0 -1
- package/dist/lib/installers.d.ts +0 -80
- package/dist/lib/installers.js +0 -602
- package/dist/lib/installers.js.map +0 -1
- package/dist/lib/integrations.d.ts +0 -23
- package/dist/lib/integrations.js +0 -25
- package/dist/lib/integrations.js.map +0 -1
- package/dist/lib/output.d.ts +0 -7
- package/dist/lib/output.js +0 -70
- package/dist/lib/output.js.map +0 -1
- package/dist/lib/platform-detect.d.ts +0 -23
- package/dist/lib/platform-detect.js +0 -359
- package/dist/lib/platform-detect.js.map +0 -1
- package/dist/lib/project-config.d.ts +0 -53
- package/dist/lib/project-config.js +0 -151
- package/dist/lib/project-config.js.map +0 -1
- package/dist/lib/prompt.d.ts +0 -15
- package/dist/lib/prompt.js +0 -213
- package/dist/lib/prompt.js.map +0 -1
- package/dist/lib/rate-limiter.d.ts +0 -13
- package/dist/lib/rate-limiter.js +0 -49
- package/dist/lib/rate-limiter.js.map +0 -1
- package/dist/lib/recall-filter.d.ts +0 -5
- package/dist/lib/recall-filter.js +0 -24
- package/dist/lib/recall-filter.js.map +0 -1
- package/dist/lib/session-store.d.ts +0 -15
- package/dist/lib/session-store.js +0 -62
- package/dist/lib/session-store.js.map +0 -1
- package/dist/lib/tui.d.ts +0 -57
- package/dist/lib/tui.js +0 -247
- package/dist/lib/tui.js.map +0 -1
- package/dist/lib/workspace-registry.d.ts +0 -47
- package/dist/lib/workspace-registry.js +0 -240
- package/dist/lib/workspace-registry.js.map +0 -1
- package/dist/mcp/channel.d.ts +0 -24
- package/dist/mcp/channel.js +0 -198
- package/dist/mcp/channel.js.map +0 -1
- package/dist/mcp/client.d.ts +0 -20
- package/dist/mcp/client.js +0 -131
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/config.d.ts +0 -19
- package/dist/mcp/config.js +0 -48
- package/dist/mcp/config.js.map +0 -1
- package/dist/mcp/context-files.d.ts +0 -9
- package/dist/mcp/context-files.js +0 -90
- package/dist/mcp/context-files.js.map +0 -1
- package/dist/mcp/file-manifest.d.ts +0 -27
- package/dist/mcp/file-manifest.js +0 -68
- package/dist/mcp/file-manifest.js.map +0 -1
- package/dist/mcp/file-scanner.d.ts +0 -17
- package/dist/mcp/file-scanner.js +0 -77
- package/dist/mcp/file-scanner.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -2
- package/dist/mcp/index.js +0 -51
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/rate-limiter.d.ts +0 -14
- package/dist/mcp/rate-limiter.js +0 -60
- package/dist/mcp/rate-limiter.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -6
- package/dist/mcp/server.js +0 -44
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/session-store.d.ts +0 -16
- package/dist/mcp/session-store.js +0 -70
- package/dist/mcp/session-store.js.map +0 -1
- package/dist/mcp/tools/context.d.ts +0 -3
- package/dist/mcp/tools/context.js +0 -65
- package/dist/mcp/tools/context.js.map +0 -1
- package/dist/mcp/tools/insights.d.ts +0 -3
- package/dist/mcp/tools/insights.js +0 -24
- package/dist/mcp/tools/insights.js.map +0 -1
- package/dist/mcp/tools/integrations.d.ts +0 -3
- package/dist/mcp/tools/integrations.js +0 -27
- package/dist/mcp/tools/integrations.js.map +0 -1
- package/dist/mcp/tools/lists.d.ts +0 -3
- package/dist/mcp/tools/lists.js +0 -101
- package/dist/mcp/tools/lists.js.map +0 -1
- package/dist/mcp/tools/notes.d.ts +0 -3
- package/dist/mcp/tools/notes.js +0 -52
- package/dist/mcp/tools/notes.js.map +0 -1
- package/dist/mcp/tools/notifications.d.ts +0 -3
- package/dist/mcp/tools/notifications.js +0 -53
- package/dist/mcp/tools/notifications.js.map +0 -1
- package/dist/mcp/tools/records.d.ts +0 -3
- package/dist/mcp/tools/records.js +0 -74
- package/dist/mcp/tools/records.js.map +0 -1
- package/dist/mcp/tools/register.d.ts +0 -3
- package/dist/mcp/tools/register.js +0 -41
- package/dist/mcp/tools/register.js.map +0 -1
- package/dist/mcp/tools/relationships.d.ts +0 -3
- package/dist/mcp/tools/relationships.js +0 -47
- package/dist/mcp/tools/relationships.js.map +0 -1
- package/dist/mcp/tools/scan.d.ts +0 -3
- package/dist/mcp/tools/scan.js +0 -37
- package/dist/mcp/tools/scan.js.map +0 -1
- package/dist/mcp/tools/schema.d.ts +0 -3
- package/dist/mcp/tools/schema.js +0 -108
- package/dist/mcp/tools/schema.js.map +0 -1
- package/dist/mcp/tools/search.d.ts +0 -3
- package/dist/mcp/tools/search.js +0 -8
- package/dist/mcp/tools/search.js.map +0 -1
- package/dist/mcp/tools/tasks.d.ts +0 -3
- package/dist/mcp/tools/tasks.js +0 -88
- package/dist/mcp/tools/tasks.js.map +0 -1
- package/dist/mcp/workspace-data-dir.d.ts +0 -2
- package/dist/mcp/workspace-data-dir.js +0 -28
- package/dist/mcp/workspace-data-dir.js.map +0 -1
- package/dist/orchestration/budget.d.ts +0 -32
- package/dist/orchestration/budget.js +0 -72
- package/dist/orchestration/budget.js.map +0 -1
- package/dist/orchestration/executor.d.ts +0 -59
- package/dist/orchestration/executor.js +0 -197
- package/dist/orchestration/executor.js.map +0 -1
- package/dist/orchestration/router.d.ts +0 -30
- package/dist/orchestration/router.js +0 -98
- package/dist/orchestration/router.js.map +0 -1
- package/dist/orchestration/templates.d.ts +0 -11
- package/dist/orchestration/templates.js +0 -99
- package/dist/orchestration/templates.js.map +0 -1
- package/dist/orchestration/types.d.ts +0 -58
- package/dist/orchestration/types.js +0 -7
- package/dist/orchestration/types.js.map +0 -1
- package/dist/plugin/auto-capture.d.ts +0 -11
- package/dist/plugin/auto-capture.js +0 -135
- package/dist/plugin/auto-capture.js.map +0 -1
- package/dist/plugin/auto-recall-worker.d.ts +0 -2
- package/dist/plugin/auto-recall-worker.js +0 -74
- package/dist/plugin/auto-recall-worker.js.map +0 -1
- package/dist/plugin/auto-recall.d.ts +0 -11
- package/dist/plugin/auto-recall.js +0 -186
- package/dist/plugin/auto-recall.js.map +0 -1
- package/dist/plugin/auto-register.d.ts +0 -10
- package/dist/plugin/auto-register.js +0 -81
- package/dist/plugin/auto-register.js.map +0 -1
- package/dist/plugin/auto-scan.d.ts +0 -10
- package/dist/plugin/auto-scan.js +0 -54
- package/dist/plugin/auto-scan.js.map +0 -1
- package/dist/plugin/auto-session-start.d.ts +0 -14
- package/dist/plugin/auto-session-start.js +0 -156
- package/dist/plugin/auto-session-start.js.map +0 -1
- package/dist/plugin/capture-filter.d.ts +0 -21
- package/dist/plugin/capture-filter.js +0 -32
- package/dist/plugin/capture-filter.js.map +0 -1
- package/dist/plugin/config.d.ts +0 -61
- package/dist/plugin/config.js +0 -182
- package/dist/plugin/config.js.map +0 -1
- package/dist/plugin/context-files.d.ts +0 -23
- package/dist/plugin/context-files.js +0 -103
- package/dist/plugin/context-files.js.map +0 -1
- package/dist/plugin/context-format.d.ts +0 -18
- package/dist/plugin/context-format.js +0 -34
- package/dist/plugin/context-format.js.map +0 -1
- package/dist/plugin/file-manifest.d.ts +0 -27
- package/dist/plugin/file-manifest.js +0 -68
- package/dist/plugin/file-manifest.js.map +0 -1
- package/dist/plugin/file-scanner.d.ts +0 -19
- package/dist/plugin/file-scanner.js +0 -90
- package/dist/plugin/file-scanner.js.map +0 -1
- package/dist/plugin/nex-client.d.ts +0 -50
- package/dist/plugin/nex-client.js +0 -129
- package/dist/plugin/nex-client.js.map +0 -1
- package/dist/plugin/rate-limiter.d.ts +0 -26
- package/dist/plugin/rate-limiter.js +0 -65
- package/dist/plugin/rate-limiter.js.map +0 -1
- package/dist/plugin/recall-cache.d.ts +0 -41
- package/dist/plugin/recall-cache.js +0 -195
- package/dist/plugin/recall-cache.js.map +0 -1
- package/dist/plugin/recall-filter.d.ts +0 -13
- package/dist/plugin/recall-filter.js +0 -39
- package/dist/plugin/recall-filter.js.map +0 -1
- package/dist/plugin/session-store.d.ts +0 -23
- package/dist/plugin/session-store.js +0 -73
- package/dist/plugin/session-store.js.map +0 -1
- package/dist/plugin/workspace-data-dir.d.ts +0 -2
- package/dist/plugin/workspace-data-dir.js +0 -31
- package/dist/plugin/workspace-data-dir.js.map +0 -1
- package/dist/tui/agent-colors.d.ts +0 -19
- package/dist/tui/agent-colors.js +0 -34
- package/dist/tui/agent-colors.js.map +0 -1
- package/dist/tui/app.d.ts +0 -14
- package/dist/tui/app.js +0 -181
- package/dist/tui/app.js.map +0 -1
- package/dist/tui/channel-colors.d.ts +0 -16
- package/dist/tui/channel-colors.js +0 -43
- package/dist/tui/channel-colors.js.map +0 -1
- package/dist/tui/components/agent-card.d.ts +0 -11
- package/dist/tui/components/agent-card.js +0 -40
- package/dist/tui/components/agent-card.js.map +0 -1
- package/dist/tui/components/banner.d.ts +0 -44
- package/dist/tui/components/banner.js +0 -130
- package/dist/tui/components/banner.js.map +0 -1
- package/dist/tui/components/channel-colors.d.ts +0 -21
- package/dist/tui/components/channel-colors.js +0 -53
- package/dist/tui/components/channel-colors.js.map +0 -1
- package/dist/tui/components/channel-message.d.ts +0 -53
- package/dist/tui/components/channel-message.js +0 -66
- package/dist/tui/components/channel-message.js.map +0 -1
- package/dist/tui/components/chat-input.d.ts +0 -11
- package/dist/tui/components/chat-input.js +0 -19
- package/dist/tui/components/chat-input.js.map +0 -1
- package/dist/tui/components/data-table.d.ts +0 -11
- package/dist/tui/components/data-table.js +0 -47
- package/dist/tui/components/data-table.js.map +0 -1
- package/dist/tui/components/error-box.d.ts +0 -11
- package/dist/tui/components/error-box.js +0 -59
- package/dist/tui/components/error-box.js.map +0 -1
- package/dist/tui/components/help-screen.d.ts +0 -3
- package/dist/tui/components/help-screen.js +0 -63
- package/dist/tui/components/help-screen.js.map +0 -1
- package/dist/tui/components/index.d.ts +0 -17
- package/dist/tui/components/index.js +0 -10
- package/dist/tui/components/index.js.map +0 -1
- package/dist/tui/components/inline-confirm.d.ts +0 -14
- package/dist/tui/components/inline-confirm.js +0 -13
- package/dist/tui/components/inline-confirm.js.map +0 -1
- package/dist/tui/components/inline-select.d.ts +0 -21
- package/dist/tui/components/inline-select.js +0 -20
- package/dist/tui/components/inline-select.js.map +0 -1
- package/dist/tui/components/markdown.d.ts +0 -6
- package/dist/tui/components/markdown.js +0 -179
- package/dist/tui/components/markdown.js.map +0 -1
- package/dist/tui/components/mention-autocomplete.d.ts +0 -79
- package/dist/tui/components/mention-autocomplete.js +0 -250
- package/dist/tui/components/mention-autocomplete.js.map +0 -1
- package/dist/tui/components/message-list.d.ts +0 -18
- package/dist/tui/components/message-list.js +0 -29
- package/dist/tui/components/message-list.js.map +0 -1
- package/dist/tui/components/picker.d.ts +0 -16
- package/dist/tui/components/picker.js +0 -32
- package/dist/tui/components/picker.js.map +0 -1
- package/dist/tui/components/progress-steps.d.ts +0 -13
- package/dist/tui/components/progress-steps.js +0 -21
- package/dist/tui/components/progress-steps.js.map +0 -1
- package/dist/tui/components/slack/compose.d.ts +0 -27
- package/dist/tui/components/slack/compose.js +0 -147
- package/dist/tui/components/slack/compose.js.map +0 -1
- package/dist/tui/components/slack/layout.d.ts +0 -36
- package/dist/tui/components/slack/layout.js +0 -96
- package/dist/tui/components/slack/layout.js.map +0 -1
- package/dist/tui/components/slack/messages.d.ts +0 -72
- package/dist/tui/components/slack/messages.js +0 -177
- package/dist/tui/components/slack/messages.js.map +0 -1
- package/dist/tui/components/slack/quick-switcher.d.ts +0 -33
- package/dist/tui/components/slack/quick-switcher.js +0 -98
- package/dist/tui/components/slack/quick-switcher.js.map +0 -1
- package/dist/tui/components/slack/sidebar-types.d.ts +0 -65
- package/dist/tui/components/slack/sidebar-types.js +0 -7
- package/dist/tui/components/slack/sidebar-types.js.map +0 -1
- package/dist/tui/components/slack/sidebar.d.ts +0 -46
- package/dist/tui/components/slack/sidebar.js +0 -52
- package/dist/tui/components/slack/sidebar.js.map +0 -1
- package/dist/tui/components/slack/thread-panel.d.ts +0 -45
- package/dist/tui/components/slack/thread-panel.js +0 -47
- package/dist/tui/components/slack/thread-panel.js.map +0 -1
- package/dist/tui/components/slash-autocomplete.d.ts +0 -83
- package/dist/tui/components/slash-autocomplete.js +0 -233
- package/dist/tui/components/slash-autocomplete.js.map +0 -1
- package/dist/tui/components/spinner.d.ts +0 -17
- package/dist/tui/components/spinner.js +0 -30
- package/dist/tui/components/spinner.js.map +0 -1
- package/dist/tui/components/status-bar.d.ts +0 -23
- package/dist/tui/components/status-bar.js +0 -55
- package/dist/tui/components/status-bar.js.map +0 -1
- package/dist/tui/components/success-box.d.ts +0 -7
- package/dist/tui/components/success-box.js +0 -10
- package/dist/tui/components/success-box.js.map +0 -1
- package/dist/tui/components/tool-indicator.d.ts +0 -12
- package/dist/tui/components/tool-indicator.js +0 -18
- package/dist/tui/components/tool-indicator.js.map +0 -1
- package/dist/tui/components/viewport.d.ts +0 -9
- package/dist/tui/components/viewport.js +0 -24
- package/dist/tui/components/viewport.js.map +0 -1
- package/dist/tui/generative/bindings.d.ts +0 -27
- package/dist/tui/generative/bindings.js +0 -152
- package/dist/tui/generative/bindings.js.map +0 -1
- package/dist/tui/generative/registry.d.ts +0 -19
- package/dist/tui/generative/registry.js +0 -31
- package/dist/tui/generative/registry.js.map +0 -1
- package/dist/tui/generative/renderer.d.ts +0 -24
- package/dist/tui/generative/renderer.js +0 -160
- package/dist/tui/generative/renderer.js.map +0 -1
- package/dist/tui/generative/types.d.ts +0 -68
- package/dist/tui/generative/types.js +0 -7
- package/dist/tui/generative/types.js.map +0 -1
- package/dist/tui/hooks/use-cancellable.d.ts +0 -28
- package/dist/tui/hooks/use-cancellable.js +0 -51
- package/dist/tui/hooks/use-cancellable.js.map +0 -1
- package/dist/tui/hooks/use-streaming.d.ts +0 -44
- package/dist/tui/hooks/use-streaming.js +0 -105
- package/dist/tui/hooks/use-streaming.js.map +0 -1
- package/dist/tui/index.d.ts +0 -4
- package/dist/tui/index.js +0 -7
- package/dist/tui/index.js.map +0 -1
- package/dist/tui/keybindings.d.ts +0 -25
- package/dist/tui/keybindings.js +0 -277
- package/dist/tui/keybindings.js.map +0 -1
- package/dist/tui/register-views.d.ts +0 -8
- package/dist/tui/register-views.js +0 -122
- package/dist/tui/register-views.js.map +0 -1
- package/dist/tui/router.d.ts +0 -29
- package/dist/tui/router.js +0 -87
- package/dist/tui/router.js.map +0 -1
- package/dist/tui/services/agent-service.d.ts +0 -58
- package/dist/tui/services/agent-service.js +0 -197
- package/dist/tui/services/agent-service.js.map +0 -1
- package/dist/tui/services/calendar-service.d.ts +0 -31
- package/dist/tui/services/calendar-service.js +0 -133
- package/dist/tui/services/calendar-service.js.map +0 -1
- package/dist/tui/services/chat-service.d.ts +0 -28
- package/dist/tui/services/chat-service.js +0 -91
- package/dist/tui/services/chat-service.js.map +0 -1
- package/dist/tui/services/orchestration-service.d.ts +0 -42
- package/dist/tui/services/orchestration-service.js +0 -153
- package/dist/tui/services/orchestration-service.js.map +0 -1
- package/dist/tui/slash-commands.d.ts +0 -106
- package/dist/tui/slash-commands.js +0 -1421
- package/dist/tui/slash-commands.js.map +0 -1
- package/dist/tui/store.d.ts +0 -96
- package/dist/tui/store.js +0 -120
- package/dist/tui/store.js.map +0 -1
- package/dist/tui/theme.d.ts +0 -40
- package/dist/tui/theme.js +0 -39
- package/dist/tui/theme.js.map +0 -1
- package/dist/tui/tui-context.d.ts +0 -22
- package/dist/tui/tui-context.js +0 -17
- package/dist/tui/tui-context.js.map +0 -1
- package/dist/tui/views/agent-list.d.ts +0 -8
- package/dist/tui/views/agent-list.js +0 -11
- package/dist/tui/views/agent-list.js.map +0 -1
- package/dist/tui/views/ask-chat.d.ts +0 -9
- package/dist/tui/views/ask-chat.js +0 -40
- package/dist/tui/views/ask-chat.js.map +0 -1
- package/dist/tui/views/calendar.d.ts +0 -15
- package/dist/tui/views/calendar.js +0 -29
- package/dist/tui/views/calendar.js.map +0 -1
- package/dist/tui/views/chat.d.ts +0 -18
- package/dist/tui/views/chat.js +0 -28
- package/dist/tui/views/chat.js.map +0 -1
- package/dist/tui/views/generative.d.ts +0 -14
- package/dist/tui/views/generative.js +0 -37
- package/dist/tui/views/generative.js.map +0 -1
- package/dist/tui/views/help.d.ts +0 -6
- package/dist/tui/views/help.js +0 -9
- package/dist/tui/views/help.js.map +0 -1
- package/dist/tui/views/home-screen.d.ts +0 -67
- package/dist/tui/views/home-screen.js +0 -192
- package/dist/tui/views/home-screen.js.map +0 -1
- package/dist/tui/views/home.d.ts +0 -33
- package/dist/tui/views/home.js +0 -60
- package/dist/tui/views/home.js.map +0 -1
- package/dist/tui/views/index.d.ts +0 -20
- package/dist/tui/views/index.js +0 -11
- package/dist/tui/views/index.js.map +0 -1
- package/dist/tui/views/insights.d.ts +0 -19
- package/dist/tui/views/insights.js +0 -46
- package/dist/tui/views/insights.js.map +0 -1
- package/dist/tui/views/orchestration.d.ts +0 -18
- package/dist/tui/views/orchestration.js +0 -73
- package/dist/tui/views/orchestration.js.map +0 -1
- package/dist/tui/views/record-detail.d.ts +0 -10
- package/dist/tui/views/record-detail.js +0 -22
- package/dist/tui/views/record-detail.js.map +0 -1
- package/dist/tui/views/record-list.d.ts +0 -15
- package/dist/tui/views/record-list.js +0 -22
- package/dist/tui/views/record-list.js.map +0 -1
- package/dist/tui/views/slack-channel-header.d.ts +0 -15
- package/dist/tui/views/slack-channel-header.js +0 -16
- package/dist/tui/views/slack-channel-header.js.map +0 -1
- package/dist/tui/views/slack-home.d.ts +0 -21
- package/dist/tui/views/slack-home.js +0 -572
- package/dist/tui/views/slack-home.js.map +0 -1
- package/dist/tui/views/stream.d.ts +0 -16
- package/dist/tui/views/stream.js +0 -210
- package/dist/tui/views/stream.js.map +0 -1
- package/dist/tui/views/task-board.d.ts +0 -21
- package/dist/tui/views/task-board.js +0 -33
- package/dist/tui/views/task-board.js.map +0 -1
- package/dist/tui/views/timeline.d.ts +0 -17
- package/dist/tui/views/timeline.js +0 -24
- package/dist/tui/views/timeline.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,360 +1,287 @@
|
|
|
1
|
-
# Nex: Compounding Intelligence for AI
|
|
1
|
+
# Nex: Compounding Intelligence for AI Agents
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/@nex-ai/nex)
|
|
4
|
-
[](https://github.com/nex-crm/nex-as-a-skill)
|
|
5
4
|
[](https://discord.gg/gjSySC3PzV)
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
Nex turns AI agent conversations into a unified knowledge graph. Tell something to one agent, recall it from any other. Context follows you across tools — no copy-pasting, no re-explaining.
|
|
7
|
+
|
|
8
|
+
Supports Claude Code, OpenClaw, Cursor, Windsurf, Codex, Aider, Continue, Zed, and more. Adds context from Email, Meetings, Slack, HubSpot, Salesforce.
|
|
8
9
|
|
|
9
10
|
<a href="https://discord.gg/gjSySC3PzV"><img src="https://img.shields.io/badge/Join%20our%20Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Join our Discord" /></a>
|
|
10
11
|
|
|
11
12
|
Talk to the team, share feedback, and connect with other developers building AI agents with Nex.
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
## Install
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
# Install globally
|
|
19
|
-
npm install -g @nex-ai/nex
|
|
20
|
-
|
|
21
|
-
# Or run directly (no install)
|
|
22
|
-
npx @nex-ai/nex ask "who is Maria?"
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Quick Start (Recommended)
|
|
14
|
+
## Quick Start
|
|
26
15
|
|
|
27
|
-
|
|
28
|
-
# One command to get started — registers, detects platforms, installs hooks, scans files
|
|
29
|
-
nex setup
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
`nex setup` handles the base install flow: API key registration or re-keying, platform detection, platform installation, optional first integration connection, file scanning, and config creation.
|
|
16
|
+
### Install
|
|
33
17
|
|
|
34
18
|
```bash
|
|
35
|
-
#
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Copy-Paste Prompt For Any AI Agent
|
|
19
|
+
# Option A: standalone binary (no Node.js required, auto-installs nex-cli)
|
|
20
|
+
curl -fsSL https://raw.githubusercontent.com/nex-crm/nex-as-a-skill/main/install.sh | sh
|
|
40
21
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```text
|
|
44
|
-
Install and fully bootstrap Nex in this project from start to finish.
|
|
45
|
-
|
|
46
|
-
1. If the `nex` CLI is missing, install it globally with `npm install -g @nex-ai/nex`.
|
|
47
|
-
2. If Nex is not authenticated yet, ask me for the email address I want to use for registration, then continue. If Nex is already authenticated, reuse the existing account and key.
|
|
48
|
-
3. Run `nex setup` and complete the full install flow for every detected AI coding platform in this environment.
|
|
49
|
-
4. After setup, inspect integrations and connect the first available unconnected integration. Prefer this order when multiple choices are available: gmail, google-calendar, slack, salesforce, hubspot, attio, outlook, outlook-calendar. If OAuth is required, open the browser flow and wait for it to complete.
|
|
50
|
-
5. Run a fresh file scan for the current directory so the workspace is up to date.
|
|
51
|
-
6. After the scan finishes, trigger Nex compounding jobs by calling the authenticated `POST https://app.nex.ai/api/developers/v1/compounding/trigger` endpoint for these job types: `consolidation`, `pattern_detection`, and `playbook_synthesis`. Use the active Nex API key from the current environment or the config written by Nex setup.
|
|
52
|
-
7. Fetch the last 24 hours of insights with the insights endpoint or `nex insight list --last 24h`, then give me a clean digest with sections for Highlights, Risks, Opportunities, Open Loops, and Recommended Next Actions.
|
|
53
|
-
8. Finish by showing me:
|
|
54
|
-
- what Nex installed
|
|
55
|
-
- which integration was connected
|
|
56
|
-
- how many files were scanned and ingested
|
|
57
|
-
- whether the compounding/playbooks trigger succeeded
|
|
58
|
-
- the formatted 24-hour insight digest
|
|
22
|
+
# Option B: install the nex-cli binary directly
|
|
23
|
+
curl -fsSL https://raw.githubusercontent.com/nex-crm/nex-cli/main/install.sh | sh
|
|
59
24
|
|
|
60
|
-
|
|
25
|
+
# Option C: install via npm (or bun/pnpm)
|
|
26
|
+
npm install -g @nex-ai/nex
|
|
61
27
|
```
|
|
62
28
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<details>
|
|
66
|
-
<summary>Manual setup (if you prefer step-by-step)</summary>
|
|
29
|
+
### Sign up and configure
|
|
67
30
|
|
|
68
31
|
```bash
|
|
69
|
-
#
|
|
32
|
+
# Create an account (or log in if you already have one)
|
|
70
33
|
nex register --email you@company.com
|
|
71
34
|
|
|
72
|
-
#
|
|
35
|
+
# Auto-detect your AI platforms and install hooks, MCP, slash commands
|
|
73
36
|
nex setup
|
|
74
|
-
|
|
75
|
-
# 3. Query your knowledge
|
|
76
|
-
nex ask "what's the latest on the Acme deal?"
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
</details>
|
|
80
|
-
|
|
81
|
-
## Supported Platforms
|
|
82
|
-
|
|
83
|
-
`nex setup` auto-detects and configures these platforms with full-depth integration:
|
|
84
|
-
|
|
85
|
-
| Platform | Hooks | Plugins | Agents | Workflows | Rules | MCP |
|
|
86
|
-
|----------|-------|---------|--------|-----------|-------|-----|
|
|
87
|
-
| **Claude Code** | SessionStart, UserPromptSubmit, Stop | — | — | 26 slash commands | — | — |
|
|
88
|
-
| **Cursor** | sessionStart, userPromptSubmit, stop | — | — | — | `.cursor/rules/nex.md` | `~/.cursor/mcp.json` |
|
|
89
|
-
| **Windsurf** | pre_user_prompt, post_cascade_response | — | — | /nex-ask, /nex-remember, /nex-search | `.windsurf/rules/nex.md` | `mcp_config.json` |
|
|
90
|
-
| **Cline** | UserPromptSubmit, TaskStart, TaskComplete | — | — | — | `.clinerules/nex.md` | `cline_mcp_settings.json` |
|
|
91
|
-
| **OpenClaw** | auto-recall, auto-capture (plugin) | `openclaw plugins install` (49 tools) | — | — | — | — |
|
|
92
|
-
| **OpenCode** | — | `.opencode/plugins/nex.ts` | — | — | `AGENTS.md` | `opencode.json` |
|
|
93
|
-
| **VS Code** | — | — | `.github/agents/nex.agent.md` | — | `.github/instructions/` | `.vscode/mcp.json` |
|
|
94
|
-
| **Kilo Code** | — | — | `.kilocodemodes` | — | `.kilocode/rules/nex.md` | `.kilocode/mcp.json` |
|
|
95
|
-
| **Continue.dev** | — | — | — | — | `.continue/rules/nex.md` | `mcp.json` |
|
|
96
|
-
| **Zed** | — | — | — | — | `.rules` | `settings.json` |
|
|
97
|
-
| **Claude Desktop** | — | — | — | — | — | `claude_desktop_config.json` |
|
|
98
|
-
| **Aider** | — | — | — | — | `CONVENTIONS.md` | — |
|
|
99
|
-
|
|
100
|
-
All MCP-based platforms use the same server entry (bundled in this package):
|
|
101
|
-
|
|
102
|
-
```json
|
|
103
|
-
{
|
|
104
|
-
"nex": {
|
|
105
|
-
"command": "nex-mcp",
|
|
106
|
-
"env": { "NEX_API_KEY": "sk-..." }
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
37
|
```
|
|
110
38
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
## Setup Command
|
|
39
|
+
`nex setup` detects your platforms (Claude Code, Cursor, Windsurf, etc.), installs hooks, scans project files, and writes config. After setup:
|
|
114
40
|
|
|
115
41
|
```bash
|
|
116
|
-
nex
|
|
117
|
-
nex
|
|
118
|
-
nex setup --no-hooks # Skip hook installation for all platforms
|
|
119
|
-
nex setup --no-plugin # Skip hooks/commands (alias for --no-hooks)
|
|
120
|
-
nex setup --no-rules # Skip rules/instruction file installation
|
|
121
|
-
nex setup --no-scan # Skip file scanning during setup
|
|
122
|
-
nex setup status # Show all platforms, install status, and connections
|
|
123
|
-
nex graph # Open the workspace graph in your browser
|
|
42
|
+
nex ask "who is Maria Rodriguez?"
|
|
43
|
+
nex remember "Met with Maria, CTO of TechFlow. European expansion Q3, $2M budget."
|
|
124
44
|
```
|
|
125
45
|
|
|
126
|
-
|
|
127
|
-
- If no API key exists: prompts to register
|
|
128
|
-
- If API key exists: offers to regenerate (picks up latest scopes) or change email
|
|
129
|
-
- Installs the full 6-layer hierarchy for each detected platform: hooks → plugins → agents → workflows → rules → MCP
|
|
130
|
-
- Scans current directory and ingests new/changed files into Nex
|
|
131
|
-
- Creates `.nex.toml` project config with commented defaults
|
|
132
|
-
- Stores config in `~/.nex/config.json`
|
|
133
|
-
|
|
134
|
-
**Single install**: `npm install -g @nex-ai/nex` bundles everything — hooks, adapters, platform plugins, slash commands, rules, MCP server, and notification channel. No separate packages needed.
|
|
46
|
+
## Skills & Platform Rules
|
|
135
47
|
|
|
136
|
-
|
|
48
|
+
The core of this repo is a set of skills, slash commands, and agent instructions that teach any AI platform how to use Nex.
|
|
137
49
|
|
|
138
|
-
|
|
50
|
+
### Slash Commands (`plugin-commands/`)
|
|
139
51
|
|
|
140
|
-
|
|
52
|
+
Drop these `.md` files into your agent's commands directory to get Nex slash commands:
|
|
141
53
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
54
|
+
| Command | What it does |
|
|
55
|
+
|---------|-------------|
|
|
56
|
+
| `/nex:recall <query>` | Search your knowledge base |
|
|
57
|
+
| `/nex:remember <text>` | Store information for later recall |
|
|
58
|
+
| `/nex:entities <query>` | Find people, companies, topics |
|
|
59
|
+
| `/nex:scan <dir>` | Scan project files into Nex |
|
|
60
|
+
| `/nex:integrate <provider>` | Connect an OAuth integration |
|
|
61
|
+
| `/nex:register <email>` | One-time account registration |
|
|
62
|
+
| `/nex:notify` | Check recent notifications |
|
|
145
63
|
|
|
146
|
-
|
|
147
|
-
# enabled = true # Master kill switch for all hooks
|
|
64
|
+
For Claude Code: `cp plugin-commands/*.md ~/.claude/commands/`
|
|
148
65
|
|
|
149
|
-
|
|
150
|
-
# enabled = true # Proactive context on every prompt
|
|
151
|
-
# debounce_ms = 10000
|
|
66
|
+
### Platform Rules (`platform-rules/`)
|
|
152
67
|
|
|
153
|
-
|
|
154
|
-
# enabled = true # Auto-capture on conversation stop
|
|
155
|
-
# min_length = 20
|
|
156
|
-
# max_length = 50000
|
|
68
|
+
Pre-written agent instructions that teach each platform how to use Nex tools. Copy the relevant file into your editor's config:
|
|
157
69
|
|
|
158
|
-
|
|
159
|
-
|
|
70
|
+
| Platform | File | Destination |
|
|
71
|
+
|----------|------|-------------|
|
|
72
|
+
| Cursor | `cursor-rules.md` | `.cursor/rules/` |
|
|
73
|
+
| Windsurf | `windsurf-rules.md` | `.windsurf/rules/` |
|
|
74
|
+
| GitHub Copilot | `vscode-instructions.md` | `.github/instructions/` |
|
|
75
|
+
| Zed | `zed-rules.md` | `.zed/rules/` |
|
|
76
|
+
| Aider | `aider-conventions.md` | `.aider/conventions/` |
|
|
77
|
+
| Cline | `cline-rules.md` | `.cline/rules/` |
|
|
78
|
+
| Continue | `continue-rules.md` | `.continue/rules/` |
|
|
79
|
+
| KiloCode | `kilocode-rules.md` | `.kilocode/rules/` |
|
|
80
|
+
| Codex | `codex-agents.md` | `.codex/agents/` |
|
|
81
|
+
| OpenCode | `opencode-agents.md` | `.opencode/agents/` |
|
|
160
82
|
|
|
161
|
-
|
|
162
|
-
# enabled = true
|
|
163
|
-
# extensions = [".md", ".txt", ".csv", ".json", ".yaml", ".yml"]
|
|
164
|
-
# ignore_dirs = ["node_modules", ".git", "dist", "build", "__pycache__"]
|
|
165
|
-
# max_files = 1000
|
|
166
|
-
# max_file_size = 100000
|
|
167
|
-
# depth = 2
|
|
83
|
+
### Platform Plugins (`platform-plugins/`)
|
|
168
84
|
|
|
169
|
-
|
|
170
|
-
# enabled = false # Set to true when `nex setup` installs MCP for this project/platform
|
|
85
|
+
Deeper integrations for editors that support plugin APIs:
|
|
171
86
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
87
|
+
- **Continue** (`continue-provider.ts`) — Nex as a context provider for autocomplete
|
|
88
|
+
- **OpenCode** (`opencode-plugin.ts`) — Session lifecycle hooks for context preservation
|
|
89
|
+
- **KiloCode** (`kilocode-modes.yaml`) — Nex memory mode definitions
|
|
90
|
+
- **Windsurf** (`windsurf-workflows/`) — Native workflow definitions for ask, remember, search, notify
|
|
176
91
|
|
|
177
|
-
|
|
92
|
+
## Plugins
|
|
178
93
|
|
|
179
|
-
|
|
94
|
+
### Claude Code Plugin
|
|
180
95
|
|
|
181
|
-
|
|
96
|
+
Full auto-recall and auto-capture via Claude Code hooks. Queries Nex before each prompt and captures conversation facts after each response.
|
|
182
97
|
|
|
183
98
|
```bash
|
|
184
|
-
|
|
185
|
-
nex remember <content> # Ingest text (meeting notes, emails, docs)
|
|
186
|
-
nex recall <query> # Query → XML-wrapped for agent injection
|
|
187
|
-
nex capture [content] # Rate-limited ingestion for agent hooks
|
|
188
|
-
nex artifact <id> # Check processing status
|
|
189
|
-
nex search <query> # Search CRM records by name
|
|
190
|
-
nex insight list [--last 24h] # Recent insights
|
|
191
|
-
nex graph # Visualize your workspace graph in the browser
|
|
99
|
+
cd claude-code-plugin && bun install && bun run build
|
|
192
100
|
```
|
|
193
101
|
|
|
194
|
-
|
|
102
|
+
Then add hooks to `~/.claude/settings.json` (see [`settings.json`](claude-code-plugin/settings.json) for the template) and register the MCP server:
|
|
195
103
|
|
|
196
104
|
```bash
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
nex integrate connect slack # Connect Slack
|
|
200
|
-
nex integrate disconnect <id> # Disconnect by connection ID
|
|
105
|
+
cp claude-code-plugin/commands/*.md ~/.claude/commands/
|
|
106
|
+
claude mcp add nex -- nex-mcp
|
|
201
107
|
```
|
|
202
108
|
|
|
203
|
-
|
|
109
|
+
The fastest path is just `nex setup` — it does all of this automatically.
|
|
204
110
|
|
|
205
|
-
|
|
111
|
+
See [`claude-code-plugin/README.md`](claude-code-plugin/README.md) for details.
|
|
206
112
|
|
|
207
|
-
|
|
208
|
-
nex object list # List object types (person, company, deal)
|
|
209
|
-
nex record list person --limit 10
|
|
210
|
-
nex record create person --data '{"name":"Jane Doe"}'
|
|
211
|
-
nex record upsert person --match email --data '{"name":"Jane","email":"jane@co.com"}'
|
|
212
|
-
nex record update <id> --data '{"phone":"+1234"}'
|
|
213
|
-
nex record delete <id>
|
|
214
|
-
nex record timeline <id>
|
|
215
|
-
```
|
|
113
|
+
### OpenClaw Plugin
|
|
216
114
|
|
|
217
|
-
|
|
115
|
+
15+ tools, auto-recall, and auto-capture for OpenClaw agents.
|
|
218
116
|
|
|
219
117
|
```bash
|
|
220
|
-
|
|
221
|
-
nex
|
|
222
|
-
nex task update <id> --completed
|
|
223
|
-
nex note create --title "Call notes" --content "..." --entity <record-id>
|
|
118
|
+
cp -r openclaw-plugin /path/to/openclaw/plugins/nex
|
|
119
|
+
cd /path/to/openclaw/plugins/nex && bun install && bun run build
|
|
224
120
|
```
|
|
225
121
|
|
|
226
|
-
|
|
122
|
+
Add to `openclaw.json`:
|
|
227
123
|
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"plugins": {
|
|
127
|
+
"load": { "paths": ["/path/to/plugins/nex"] },
|
|
128
|
+
"slots": { "memory": "nex" },
|
|
129
|
+
"entries": {
|
|
130
|
+
"nex": {
|
|
131
|
+
"enabled": true,
|
|
132
|
+
"config": { "apiKey": "sk-your_key_here" }
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
234
137
|
```
|
|
235
138
|
|
|
236
|
-
|
|
139
|
+
See [`openclaw-plugin/README.md`](openclaw-plugin/README.md) for details.
|
|
237
140
|
|
|
238
|
-
|
|
141
|
+
### MCP Server (Claude Desktop, Cursor, Windsurf)
|
|
239
142
|
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
nex
|
|
244
|
-
nex
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"mcpServers": {
|
|
146
|
+
"nex": {
|
|
147
|
+
"command": "nex-mcp",
|
|
148
|
+
"env": { "NEX_API_KEY": "sk-your_key_here" }
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
245
152
|
```
|
|
246
153
|
|
|
247
|
-
|
|
154
|
+
Or without a global install:
|
|
248
155
|
|
|
249
|
-
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"mcpServers": {
|
|
159
|
+
"nex": {
|
|
160
|
+
"command": "npx",
|
|
161
|
+
"args": ["-y", "@nex-ai/nex", "mcp"],
|
|
162
|
+
"env": { "NEX_API_KEY": "sk-your_key_here" }
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
250
167
|
|
|
251
|
-
|
|
168
|
+
### Shell-only Agents (no Node.js)
|
|
252
169
|
|
|
253
|
-
|
|
170
|
+
Bash scripts for agents that can only run shell commands. Requires `curl` and `jq`.
|
|
254
171
|
|
|
255
|
-
|
|
172
|
+
```bash
|
|
173
|
+
bash scripts/nex-openclaw-register.sh your@email.com "Your Name"
|
|
174
|
+
printf '{"query":"who is Maria?"}' | bash scripts/nex-api.sh POST /v1/context/ask
|
|
175
|
+
bash scripts/nex-scan-files.sh --dir . --max-files 10
|
|
176
|
+
```
|
|
256
177
|
|
|
257
|
-
|
|
178
|
+
## Copy-Paste Bootstrap Prompt
|
|
258
179
|
|
|
259
|
-
|
|
180
|
+
Drop this into any terminal-capable AI agent to bootstrap Nex end-to-end:
|
|
260
181
|
|
|
261
|
-
|
|
182
|
+
```text
|
|
183
|
+
Install and fully bootstrap Nex in this project from start to finish.
|
|
262
184
|
|
|
263
|
-
|
|
185
|
+
1. If the `nex` CLI is missing, install it globally with `npm install -g @nex-ai/nex`.
|
|
186
|
+
2. If Nex is not authenticated yet, ask me for the email address I want to use for registration, then continue. If Nex is already authenticated, reuse the existing account and key.
|
|
187
|
+
3. Run `nex setup` and complete the full install flow for every detected AI coding platform in this environment.
|
|
188
|
+
4. After setup, inspect integrations and connect the first available unconnected integration. Prefer this order when multiple choices are available: gmail, google-calendar, slack, salesforce, hubspot, attio, outlook, outlook-calendar. If OAuth is required, open the browser flow and wait for it to complete.
|
|
189
|
+
5. Run a fresh file scan for the current directory so the workspace is up to date.
|
|
190
|
+
6. After the scan finishes, trigger Nex compounding jobs by calling the authenticated `POST https://app.nex.ai/api/developers/v1/compounding/trigger` endpoint for these job types: `consolidation`, `pattern_detection`, and `playbook_synthesis`. Use the active Nex API key from the current environment or the config written by Nex setup.
|
|
191
|
+
7. Fetch the last 24 hours of insights with the insights endpoint or `nex insight list --last 24h`, then give me a clean digest with sections for Highlights, Risks, Opportunities, Open Loops, and Recommended Next Actions.
|
|
192
|
+
8. Finish by showing me:
|
|
193
|
+
- what Nex installed
|
|
194
|
+
- which integration was connected
|
|
195
|
+
- how many files were scanned and ingested
|
|
196
|
+
- whether the compounding/playbooks trigger succeeded
|
|
197
|
+
- the formatted 24-hour insight digest
|
|
264
198
|
|
|
265
|
-
|
|
266
|
-
nex mcp # Start the embedded MCP server (stdio)
|
|
267
|
-
MCP_TRANSPORT=http nex mcp # Start with HTTP transport
|
|
199
|
+
Do not stop after partial setup. Only pause if you need my email for registration or if an OAuth flow requires my interaction.
|
|
268
200
|
```
|
|
269
201
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
The MCP server pushes context updates directly into your Claude Code session using the [Channels API](https://code.claude.com/docs/en/channels-reference). No polling commands needed — insights arrive automatically while you work.
|
|
202
|
+
## Development
|
|
273
203
|
|
|
274
|
-
|
|
204
|
+
### Repo structure
|
|
275
205
|
|
|
276
|
-
|
|
277
|
-
|
|
206
|
+
```text
|
|
207
|
+
src/ # Bootstrapper binary source (compiled via Bun)
|
|
208
|
+
bin/ # Thin Node.js shims that delegate to nex-cli (npm fallback)
|
|
209
|
+
install.sh # curl-pipe installer for the standalone binary
|
|
210
|
+
claude-code-plugin/ # Claude Code hooks (auto-recall, auto-capture)
|
|
211
|
+
openclaw-plugin/ # OpenClaw plugin (15+ tools, auto-recall, auto-capture)
|
|
212
|
+
plugin-commands/ # Slash command definitions (.md files)
|
|
213
|
+
platform-rules/ # Agent instructions for 10 platforms
|
|
214
|
+
platform-plugins/ # Editor integrations (Continue, OpenCode, KiloCode, Windsurf)
|
|
215
|
+
scripts/ # Bash API wrappers for shell-only agents
|
|
216
|
+
server.json # MCP Registry manifest
|
|
217
|
+
```
|
|
278
218
|
|
|
279
|
-
|
|
219
|
+
### Build and test
|
|
280
220
|
|
|
281
221
|
```bash
|
|
282
|
-
#
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
"mcpServers": {
|
|
286
|
-
"nex": { "command": "nex-mcp", "env": {} }
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
EOF
|
|
290
|
-
|
|
291
|
-
# 2. Start Claude Code with channels
|
|
292
|
-
claude --dangerously-load-development-channels server:nex
|
|
293
|
-
```
|
|
222
|
+
# Standalone binary (compiles via Bun)
|
|
223
|
+
bun run build:binary # native platform
|
|
224
|
+
bun run build:all # all 4 targets (darwin/linux × arm64/x64)
|
|
294
225
|
|
|
295
|
-
|
|
226
|
+
# Shims (syntax check only)
|
|
227
|
+
npm test
|
|
296
228
|
|
|
297
|
-
|
|
229
|
+
# Claude Code plugin
|
|
230
|
+
cd claude-code-plugin && bun install && bun run build && bun test
|
|
298
231
|
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
"mcpServers": {
|
|
302
|
-
"nex": {
|
|
303
|
-
"command": "nex-mcp",
|
|
304
|
-
"env": { "NEX_NOTIFY_INTERVAL_MINUTES": "5" }
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
232
|
+
# OpenClaw plugin
|
|
233
|
+
cd openclaw-plugin && bun install && bun run build && bun test
|
|
308
234
|
```
|
|
309
235
|
|
|
310
|
-
|
|
236
|
+
### How it works
|
|
311
237
|
|
|
312
|
-
**
|
|
238
|
+
**Standalone binary** (`src/nex.ts`): Compiled via `bun build --compile`. Finds `nex-cli` on PATH or common locations and delegates all commands. If `nex-cli` isn't installed, auto-downloads it on first run. Detects `nex-mcp` symlink invocation to transparently prepend `mcp` to args.
|
|
313
239
|
|
|
314
|
-
|
|
240
|
+
**npm package** (`bin/nex.js`): Thin Node.js shim with the same delegation logic, for `npx @nex-ai/nex` and MCP Registry compatibility.
|
|
315
241
|
|
|
316
|
-
|
|
317
|
-
nex config show # Resolved config (key masked)
|
|
318
|
-
nex config set default_format text
|
|
319
|
-
nex config path # ~/.nex/config.json
|
|
320
|
-
nex session list # Stored session mappings
|
|
321
|
-
nex session clear
|
|
322
|
-
```
|
|
242
|
+
### CI/CD
|
|
323
243
|
|
|
324
|
-
|
|
244
|
+
- **CI** (`ci.yml`): Validates shims, builds + tests both plugins, builds + smoke tests the binary on every PR
|
|
245
|
+
- **Release** (`release.yml`): Cross-compiles 4 binary targets on `v*` tags, creates GitHub Release with checksums
|
|
246
|
+
- **Publish** (`publish-cli.yml`): Auto-publishes to npm on push to main
|
|
247
|
+
- **MCP Registry** (`publish-mcp.yml`): Publishes `server.json` to the MCP Registry on version tags
|
|
325
248
|
|
|
326
|
-
|
|
327
|
-
--api-key <key> Override API key (env: NEX_API_KEY)
|
|
328
|
-
--format <fmt> json | text (default for integrate list) | quiet
|
|
329
|
-
--timeout <ms> Request timeout (default: 120000)
|
|
330
|
-
--session <id> Session ID for multi-turn context
|
|
331
|
-
--debug Debug output on stderr
|
|
332
|
-
```
|
|
249
|
+
## Environment Variables
|
|
333
250
|
|
|
334
|
-
|
|
251
|
+
| Variable | Required | Default |
|
|
252
|
+
|----------|----------|---------|
|
|
253
|
+
| `NEX_API_KEY` | Yes (or register) | — |
|
|
254
|
+
| `NEX_DEV_URL` | No (dev only) | `https://app.nex.ai` |
|
|
255
|
+
| `NEX_SCAN_ENABLED` | No | `true` |
|
|
256
|
+
| `NEX_SCAN_MAX_FILES` | No | `5` |
|
|
257
|
+
| `NEX_SCAN_DEPTH` | No | `20` |
|
|
258
|
+
| `NEX_NOTIFY_INTERVAL_MINUTES` | No | `15` |
|
|
335
259
|
|
|
336
|
-
|
|
260
|
+
## Architecture
|
|
337
261
|
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
```
|
|
262
|
+
```mermaid
|
|
263
|
+
graph TD
|
|
264
|
+
API["Nex Context Graph<br/><i>app.nex.ai API</i>"]
|
|
265
|
+
CLI["nex-cli binary"]
|
|
343
266
|
|
|
344
|
-
|
|
267
|
+
API --- CLI
|
|
345
268
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
| 2 | Auth error (no API key, invalid key, 401/403) |
|
|
269
|
+
NEX["nex binary / npm shim"]
|
|
270
|
+
MCP["MCP Server<br/><i>nex-mcp</i>"]
|
|
271
|
+
OC["OpenClaw Plugin"]
|
|
272
|
+
CC["Claude Code Plugin"]
|
|
351
273
|
|
|
352
|
-
|
|
274
|
+
CLI --- NEX
|
|
275
|
+
CLI --- MCP
|
|
276
|
+
CLI --- OC
|
|
277
|
+
CLI --- CC
|
|
353
278
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
bun test # Unit + integration tests
|
|
359
|
-
NEX_DEV_URL=http://localhost:30000 nex ask "test" # Local API
|
|
279
|
+
NEX -.- T1["Any terminal"]
|
|
280
|
+
MCP -.- T2["Claude Desktop · Cursor<br/>Windsurf · ChatGPT"]
|
|
281
|
+
OC -.- T3["OpenClaw agents"]
|
|
282
|
+
CC -.- T4["Claude Code"]
|
|
360
283
|
```
|
|
284
|
+
|
|
285
|
+
## License
|
|
286
|
+
|
|
287
|
+
MIT
|
package/bin/nex-mcp.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Thin shim for nex-mcp — delegates to nex-cli mcp.
|
|
5
|
+
*
|
|
6
|
+
* This entry point exists for MCP registry compatibility.
|
|
7
|
+
* Platforms like Claude Desktop install MCP servers via: npx @nex-ai/nex
|
|
8
|
+
* which resolves to this shim, which delegates to the nex-cli binary.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { execFileSync } from "node:child_process";
|
|
12
|
+
import { existsSync } from "node:fs";
|
|
13
|
+
|
|
14
|
+
const args = ["mcp", ...process.argv.slice(2)];
|
|
15
|
+
|
|
16
|
+
function tryExec(command, commandArgs) {
|
|
17
|
+
try {
|
|
18
|
+
execFileSync(command, commandArgs, { stdio: "inherit" });
|
|
19
|
+
return true;
|
|
20
|
+
} catch (err) {
|
|
21
|
+
if (err.status !== null && err.status !== undefined) {
|
|
22
|
+
process.exit(err.status);
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (tryExec("nex-cli", args)) {
|
|
29
|
+
process.exit(0);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const commonPaths = ["/usr/local/bin/nex-cli"];
|
|
33
|
+
if (process.env.HOME) {
|
|
34
|
+
commonPaths.push(`${process.env.HOME}/.local/bin/nex-cli`);
|
|
35
|
+
}
|
|
36
|
+
for (const p of commonPaths) {
|
|
37
|
+
if (existsSync(p) && tryExec(p, args)) {
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
console.error(`
|
|
43
|
+
nex-cli binary not found.
|
|
44
|
+
|
|
45
|
+
Install it with:
|
|
46
|
+
curl -fsSL https://raw.githubusercontent.com/nex-crm/nex-cli/main/install.sh | sh
|
|
47
|
+
|
|
48
|
+
Then run your command again.
|
|
49
|
+
`);
|
|
50
|
+
process.exit(1);
|
package/bin/nex.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Thin shim for @nex-ai/nex — delegates all commands to the nex-cli binary.
|
|
5
|
+
*
|
|
6
|
+
* Install the binary: curl -fsSL https://raw.githubusercontent.com/nex-crm/nex-cli/main/install.sh | sh
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { execFileSync } from "node:child_process";
|
|
10
|
+
import { existsSync } from "node:fs";
|
|
11
|
+
|
|
12
|
+
const args = process.argv.slice(2);
|
|
13
|
+
|
|
14
|
+
// Try nex-cli on PATH first
|
|
15
|
+
function tryExec(command, commandArgs) {
|
|
16
|
+
try {
|
|
17
|
+
execFileSync(command, commandArgs, { stdio: "inherit" });
|
|
18
|
+
return true;
|
|
19
|
+
} catch (err) {
|
|
20
|
+
// If the command was found but returned non-zero, propagate the exit code
|
|
21
|
+
if (err.status !== null && err.status !== undefined) {
|
|
22
|
+
process.exit(err.status);
|
|
23
|
+
}
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// 1. Try nex-cli directly (installed via curl | sh)
|
|
29
|
+
if (tryExec("nex-cli", args)) {
|
|
30
|
+
process.exit(0);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// 2. Try common install locations
|
|
34
|
+
const commonPaths = ["/usr/local/bin/nex-cli"];
|
|
35
|
+
if (process.env.HOME) {
|
|
36
|
+
commonPaths.push(`${process.env.HOME}/.local/bin/nex-cli`);
|
|
37
|
+
}
|
|
38
|
+
for (const p of commonPaths) {
|
|
39
|
+
if (existsSync(p) && tryExec(p, args)) {
|
|
40
|
+
process.exit(0);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// 3. Not found — show install instructions
|
|
45
|
+
console.error(`
|
|
46
|
+
nex-cli binary not found.
|
|
47
|
+
|
|
48
|
+
Install it with:
|
|
49
|
+
curl -fsSL https://raw.githubusercontent.com/nex-crm/nex-cli/main/install.sh | sh
|
|
50
|
+
|
|
51
|
+
Then run your command again.
|
|
52
|
+
`);
|
|
53
|
+
process.exit(1);
|