@ornexus/neocortex 4.59.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.
Files changed (197) hide show
  1. package/LICENSE +56 -0
  2. package/LICENSE-COMMERCIAL.md +70 -0
  3. package/README.md +58 -0
  4. package/dist/sbom.cdx.json +7067 -0
  5. package/docs/install/coderabbit-manual-setup.md +86 -0
  6. package/docs/install/installer-diagnostics.md +107 -0
  7. package/docs/install/linux-global-install.md +97 -0
  8. package/install.js +572 -0
  9. package/install.ps1 +2214 -0
  10. package/install.sh +2013 -0
  11. package/package.json +118 -0
  12. package/packages/client/dist/adapters/adapter-registry.d.ts +61 -0
  13. package/packages/client/dist/adapters/adapter-registry.js +1 -0
  14. package/packages/client/dist/adapters/antigravity-adapter.d.ts +18 -0
  15. package/packages/client/dist/adapters/antigravity-adapter.js +2 -0
  16. package/packages/client/dist/adapters/claude-code-adapter.d.ts +19 -0
  17. package/packages/client/dist/adapters/claude-code-adapter.js +3 -0
  18. package/packages/client/dist/adapters/codex-adapter.d.ts +19 -0
  19. package/packages/client/dist/adapters/codex-adapter.js +2 -0
  20. package/packages/client/dist/adapters/cursor-adapter.d.ts +19 -0
  21. package/packages/client/dist/adapters/cursor-adapter.js +4 -0
  22. package/packages/client/dist/adapters/gemini-adapter.d.ts +18 -0
  23. package/packages/client/dist/adapters/gemini-adapter.js +2 -0
  24. package/packages/client/dist/adapters/index.d.ts +19 -0
  25. package/packages/client/dist/adapters/index.js +1 -0
  26. package/packages/client/dist/adapters/platform-detector.d.ts +48 -0
  27. package/packages/client/dist/adapters/platform-detector.js +1 -0
  28. package/packages/client/dist/adapters/target-adapter.d.ts +70 -0
  29. package/packages/client/dist/adapters/target-adapter.js +0 -0
  30. package/packages/client/dist/adapters/vscode-adapter.d.ts +19 -0
  31. package/packages/client/dist/adapters/vscode-adapter.js +2 -0
  32. package/packages/client/dist/agent/refresh-stubs.d.ts +80 -0
  33. package/packages/client/dist/agent/refresh-stubs.js +2 -0
  34. package/packages/client/dist/agent/update-agent-yaml.d.ts +26 -0
  35. package/packages/client/dist/agent/update-agent-yaml.js +1 -0
  36. package/packages/client/dist/agent/update-description.d.ts +45 -0
  37. package/packages/client/dist/agent/update-description.js +1 -0
  38. package/packages/client/dist/cache/crypto-utils.d.ts +30 -0
  39. package/packages/client/dist/cache/crypto-utils.js +1 -0
  40. package/packages/client/dist/cache/encrypted-cache.d.ts +30 -0
  41. package/packages/client/dist/cache/encrypted-cache.js +1 -0
  42. package/packages/client/dist/cache/in-memory-asset-cache.d.ts +62 -0
  43. package/packages/client/dist/cache/in-memory-asset-cache.js +1 -0
  44. package/packages/client/dist/cache/index.d.ts +13 -0
  45. package/packages/client/dist/cache/index.js +1 -0
  46. package/packages/client/dist/cache/protected-pi-boundary.d.ts +19 -0
  47. package/packages/client/dist/cache/protected-pi-boundary.js +1 -0
  48. package/packages/client/dist/checkpoint/checkpoint-client-reader.d.ts +45 -0
  49. package/packages/client/dist/checkpoint/checkpoint-client-reader.js +2 -0
  50. package/packages/client/dist/checkpoint/index.d.ts +12 -0
  51. package/packages/client/dist/checkpoint/index.js +1 -0
  52. package/packages/client/dist/checkpoint/shared-checkpoint-types.d.ts +85 -0
  53. package/packages/client/dist/checkpoint/shared-checkpoint-types.js +1 -0
  54. package/packages/client/dist/cli.d.ts +14 -0
  55. package/packages/client/dist/cli.js +48 -0
  56. package/packages/client/dist/commands/activate.d.ts +55 -0
  57. package/packages/client/dist/commands/activate.js +8 -0
  58. package/packages/client/dist/commands/cache-status.d.ts +39 -0
  59. package/packages/client/dist/commands/cache-status.js +2 -0
  60. package/packages/client/dist/commands/invoke.d.ts +229 -0
  61. package/packages/client/dist/commands/invoke.js +63 -0
  62. package/packages/client/dist/commands/refresh-memory.d.ts +11 -0
  63. package/packages/client/dist/commands/refresh-memory.js +1 -0
  64. package/packages/client/dist/config/resolver-selection.d.ts +40 -0
  65. package/packages/client/dist/config/resolver-selection.js +1 -0
  66. package/packages/client/dist/config/secure-config.d.ts +78 -0
  67. package/packages/client/dist/config/secure-config.js +12 -0
  68. package/packages/client/dist/constants.d.ts +25 -0
  69. package/packages/client/dist/constants.js +1 -0
  70. package/packages/client/dist/context/context-collector.d.ts +28 -0
  71. package/packages/client/dist/context/context-collector.js +2 -0
  72. package/packages/client/dist/context/context-sanitizer.d.ts +28 -0
  73. package/packages/client/dist/context/context-sanitizer.js +1 -0
  74. package/packages/client/dist/continuity/continuity-client-state-store.d.ts +183 -0
  75. package/packages/client/dist/continuity/continuity-client-state-store.js +1 -0
  76. package/packages/client/dist/continuity/invoke-hooks.d.ts +18 -0
  77. package/packages/client/dist/continuity/invoke-hooks.js +1 -0
  78. package/packages/client/dist/continuity/migrations/001-initial-schema.d.ts +11 -0
  79. package/packages/client/dist/continuity/migrations/001-initial-schema.js +263 -0
  80. package/packages/client/dist/continuity/sqlite-store.d.ts +409 -0
  81. package/packages/client/dist/continuity/sqlite-store.js +226 -0
  82. package/packages/client/dist/errors/error-messages.d.ts +40 -0
  83. package/packages/client/dist/errors/error-messages.js +2 -0
  84. package/packages/client/dist/graph-retrieval/pre-command-hook.d.ts +31 -0
  85. package/packages/client/dist/graph-retrieval/pre-command-hook.js +1 -0
  86. package/packages/client/dist/graph-retrieval/shared-graph-retrieval-contract.d.ts +77 -0
  87. package/packages/client/dist/graph-retrieval/shared-graph-retrieval-contract.js +1 -0
  88. package/packages/client/dist/i18n/first-run.d.ts +23 -0
  89. package/packages/client/dist/i18n/first-run.js +2 -0
  90. package/packages/client/dist/index.d.ts +56 -0
  91. package/packages/client/dist/index.js +1 -0
  92. package/packages/client/dist/license/index.d.ts +5 -0
  93. package/packages/client/dist/license/index.js +1 -0
  94. package/packages/client/dist/license/license-client.d.ts +79 -0
  95. package/packages/client/dist/license/license-client.js +1 -0
  96. package/packages/client/dist/machine/fingerprint.d.ts +34 -0
  97. package/packages/client/dist/machine/fingerprint.js +2 -0
  98. package/packages/client/dist/machine/index.d.ts +5 -0
  99. package/packages/client/dist/machine/index.js +1 -0
  100. package/packages/client/dist/memory/project-memory-writer.d.ts +74 -0
  101. package/packages/client/dist/memory/project-memory-writer.js +36 -0
  102. package/packages/client/dist/memory/shared-project-memory-types.d.ts +370 -0
  103. package/packages/client/dist/memory/shared-project-memory-types.js +2 -0
  104. package/packages/client/dist/policy/architecture-policy.d.ts +40 -0
  105. package/packages/client/dist/policy/architecture-policy.js +2 -0
  106. package/packages/client/dist/policy/index.d.ts +8 -0
  107. package/packages/client/dist/policy/index.js +1 -0
  108. package/packages/client/dist/policy/shared-policy-types.d.ts +89 -0
  109. package/packages/client/dist/policy/shared-policy-types.js +0 -0
  110. package/packages/client/dist/resilience/circuit-breaker.d.ts +70 -0
  111. package/packages/client/dist/resilience/circuit-breaker.js +1 -0
  112. package/packages/client/dist/resilience/degradation-manager.d.ts +67 -0
  113. package/packages/client/dist/resilience/degradation-manager.js +1 -0
  114. package/packages/client/dist/resilience/freshness-indicator.d.ts +59 -0
  115. package/packages/client/dist/resilience/freshness-indicator.js +1 -0
  116. package/packages/client/dist/resilience/index.d.ts +8 -0
  117. package/packages/client/dist/resilience/index.js +1 -0
  118. package/packages/client/dist/resilience/recovery-detector.d.ts +59 -0
  119. package/packages/client/dist/resilience/recovery-detector.js +1 -0
  120. package/packages/client/dist/resolvers/asset-resolver.d.ts +79 -0
  121. package/packages/client/dist/resolvers/asset-resolver.js +0 -0
  122. package/packages/client/dist/resolvers/local-resolver.d.ts +26 -0
  123. package/packages/client/dist/resolvers/local-resolver.js +8 -0
  124. package/packages/client/dist/resolvers/remote-resolver.d.ts +91 -0
  125. package/packages/client/dist/resolvers/remote-resolver.js +1 -0
  126. package/packages/client/dist/runner/cli.d.ts +121 -0
  127. package/packages/client/dist/runner/cli.js +20 -0
  128. package/packages/client/dist/runner/scheduler.d.ts +116 -0
  129. package/packages/client/dist/runner/scheduler.js +6 -0
  130. package/packages/client/dist/runner-cli.d.ts +9 -0
  131. package/packages/client/dist/runner-cli.js +3 -0
  132. package/packages/client/dist/state/project-state-snapshot.d.ts +15 -0
  133. package/packages/client/dist/state/project-state-snapshot.js +1 -0
  134. package/packages/client/dist/state/state-json-repair.d.ts +17 -0
  135. package/packages/client/dist/state/state-json-repair.js +3 -0
  136. package/packages/client/dist/telemetry/index.d.ts +5 -0
  137. package/packages/client/dist/telemetry/index.js +1 -0
  138. package/packages/client/dist/telemetry/offline-queue.d.ts +57 -0
  139. package/packages/client/dist/telemetry/offline-queue.js +1 -0
  140. package/packages/client/dist/tier/index.d.ts +5 -0
  141. package/packages/client/dist/tier/index.js +1 -0
  142. package/packages/client/dist/tier/tier-aware-client.d.ts +105 -0
  143. package/packages/client/dist/tier/tier-aware-client.js +1 -0
  144. package/packages/client/dist/types/index.d.ts +140 -0
  145. package/packages/client/dist/types/index.js +1 -0
  146. package/packages/client/dist/yoloop/discovery-hook.d.ts +85 -0
  147. package/packages/client/dist/yoloop/discovery-hook.js +2 -0
  148. package/packages/client/dist/yoloop/index.d.ts +10 -0
  149. package/packages/client/dist/yoloop/index.js +1 -0
  150. package/packages/client/dist/yoloop/invoke-hooks.d.ts +125 -0
  151. package/packages/client/dist/yoloop/invoke-hooks.js +5 -0
  152. package/packages/client/dist/yoloop/shared-discover-epics.d.ts +289 -0
  153. package/packages/client/dist/yoloop/shared-discover-epics.js +1 -0
  154. package/packages/client/dist/yoloop/shared-yoloop-types.d.ts +172 -0
  155. package/packages/client/dist/yoloop/shared-yoloop-types.js +1 -0
  156. package/packages/client/dist/yoloop/yoloop-client-state-store.d.ts +124 -0
  157. package/packages/client/dist/yoloop/yoloop-client-state-store.js +1 -0
  158. package/postinstall.js +754 -0
  159. package/targets-stubs/antigravity/README.md +36 -0
  160. package/targets-stubs/antigravity/gemini.md +29 -0
  161. package/targets-stubs/antigravity/install-antigravity.sh +153 -0
  162. package/targets-stubs/antigravity/mcp-config.json +30 -0
  163. package/targets-stubs/antigravity/skill/SKILL.md +159 -0
  164. package/targets-stubs/claude-code/.mcp.json +32 -0
  165. package/targets-stubs/claude-code/README.md +20 -0
  166. package/targets-stubs/claude-code/neocortex-root.agent.yaml +42 -0
  167. package/targets-stubs/claude-code/neocortex-root.md +310 -0
  168. package/targets-stubs/claude-code/neocortex.agent.yaml +42 -0
  169. package/targets-stubs/claude-code/neocortex.md +378 -0
  170. package/targets-stubs/codex/AGENTS.md +244 -0
  171. package/targets-stubs/codex/README.md +47 -0
  172. package/targets-stubs/codex/config-mcp.toml +22 -0
  173. package/targets-stubs/codex/install-codex.sh +63 -0
  174. package/targets-stubs/codex/neocortex.toml +29 -0
  175. package/targets-stubs/cursor/README.md +33 -0
  176. package/targets-stubs/cursor/agent.md +204 -0
  177. package/targets-stubs/cursor/install-cursor.sh +50 -0
  178. package/targets-stubs/cursor/mcp.json +30 -0
  179. package/targets-stubs/gemini-cli/README.md +34 -0
  180. package/targets-stubs/gemini-cli/agent.md +234 -0
  181. package/targets-stubs/gemini-cli/agents/neocortex.md +54 -0
  182. package/targets-stubs/gemini-cli/gemini.md +46 -0
  183. package/targets-stubs/gemini-cli/install-gemini.sh +70 -0
  184. package/targets-stubs/gemini-cli/settings-mcp.json +30 -0
  185. package/targets-stubs/kimi/mcp.json +33 -0
  186. package/targets-stubs/kimi/neocortex.md +54 -0
  187. package/targets-stubs/lib/mcp-merge.js +189 -0
  188. package/targets-stubs/openclaw/README.md +12 -0
  189. package/targets-stubs/openclaw/SKILL.md +88 -0
  190. package/targets-stubs/opencode/neocortex-root.md +261 -0
  191. package/targets-stubs/opencode/neocortex.md +59 -0
  192. package/targets-stubs/opencode/opencode-mcp.json +35 -0
  193. package/targets-stubs/vscode/README.md +34 -0
  194. package/targets-stubs/vscode/copilot-instructions.md +47 -0
  195. package/targets-stubs/vscode/install-vscode.sh +72 -0
  196. package/targets-stubs/vscode/mcp.json +36 -0
  197. package/targets-stubs/vscode/neocortex.agent.md +245 -0
@@ -0,0 +1,22 @@
1
+ [mcp_servers.playwright]
2
+ command = "npx"
3
+ args = ["-y", "@playwright/mcp@latest"]
4
+
5
+ [mcp_servers.context7]
6
+ url = "https://mcp.context7.com/mcp"
7
+
8
+ [mcp_servers.browser_use]
9
+ command = "uvx"
10
+ args = ["--from", "browser-use[cli]", "browser-use", "--mcp"]
11
+ env = { OPENAI_API_KEY = "${OPENAI_API_KEY}", ANTHROPIC_API_KEY = "${ANTHROPIC_API_KEY}" }
12
+
13
+ [mcp_servers.figma]
14
+ url = "https://mcp.figma.com/mcp"
15
+
16
+ [mcp_servers.shadcn]
17
+ command = "npx"
18
+ args = ["shadcn@latest", "mcp"]
19
+
20
+ [mcp_servers.chrome-devtools]
21
+ command = "npx"
22
+ args = ["-y", "chrome-devtools-mcp@latest"]
@@ -0,0 +1,63 @@
1
+ #!/bin/sh
2
+ # Neocortex - OpenAI Codex CLI Install Adapter (Thin Client)
3
+ # Simplified installer for npm tarball mode (targets-stubs only)
4
+
5
+ install_codex() {
6
+ local source_dir="${1:?SOURCE_DIR required}"
7
+ local dest_dir="${2:?DEST_DIR required}"
8
+ local codex_target="$source_dir/targets-stubs/codex"
9
+ local codex_home="${CODEX_HOME:-$HOME/.codex}"
10
+
11
+ if [ ! -d "$codex_target" ]; then
12
+ echo "[CODEX] ERROR: Stub directory not found: $codex_target" >&2
13
+ return 1
14
+ fi
15
+
16
+ echo "[CODEX] Installing Neocortex for OpenAI Codex CLI (thin-client mode)..."
17
+
18
+ # Create destination directories
19
+ mkdir -p "$codex_home" "$codex_home/agents"
20
+
21
+ # 1. Copy AGENTS.md stub to project root.
22
+ # Uppercase is required: Codex ignores lowercase agents.md on
23
+ # case-sensitive filesystems.
24
+ if [ -f "$codex_target/AGENTS.md" ]; then
25
+ cp "$codex_target/AGENTS.md" "$dest_dir/AGENTS.md"
26
+ echo "[CODEX] Installed: AGENTS.md (project root)"
27
+ fi
28
+
29
+ # 2. Copy AGENTS.md stub to global
30
+ if [ -f "$codex_target/AGENTS.md" ]; then
31
+ cp "$codex_target/AGENTS.md" "$codex_home/AGENTS.md"
32
+ echo "[CODEX] Installed: ~/.codex/AGENTS.md (global)"
33
+ fi
34
+
35
+ # 3. Install native Codex subagent for isolated task directives.
36
+ # Codex custom agent reference: https://developers.openai.com/codex/subagents
37
+ if [ -f "$codex_target/neocortex.toml" ]; then
38
+ cp "$codex_target/neocortex.toml" "$codex_home/agents/neocortex.toml"
39
+ echo "[CODEX] Installed: ~/.codex/agents/neocortex.toml (global subagent)"
40
+
41
+ if [ -d "$dest_dir" ]; then
42
+ mkdir -p "$dest_dir/.codex/agents"
43
+ cp "$codex_target/neocortex.toml" "$dest_dir/.codex/agents/neocortex.toml"
44
+ echo "[CODEX] Installed: .codex/agents/neocortex.toml (project subagent)"
45
+ fi
46
+ fi
47
+
48
+ # 4. User-level merge MCP config into config.toml. The helper preserves
49
+ # unknown TOML sections and replaces only Neocortex-managed MCP servers.
50
+ if [ -f "$codex_target/config-mcp.toml" ]; then
51
+ local config_file="$codex_home/config.toml"
52
+ if command -v node >/dev/null 2>&1; then
53
+ node "$(dirname "$codex_target/config-mcp.toml")/../lib/mcp-merge.js" toml "$codex_target/config-mcp.toml" "$config_file" CODEX || true
54
+ else
55
+ echo "[CODEX] WARN: node not found; leaving existing $config_file untouched"
56
+ echo "[CODEX] WARN: Stub available at: $codex_target/config-mcp.toml"
57
+ fi
58
+ fi
59
+
60
+ echo "[CODEX] Thin-client installation complete!"
61
+ echo "[CODEX] Content delivered by remote server. Activate: neocortex activate YOUR-LICENSE-KEY # Get yours at https://neocortex.sh/portal/login"
62
+ return 0
63
+ }
@@ -0,0 +1,29 @@
1
+ # Codex custom agent reference:
2
+ # https://developers.openai.com/codex/subagents
3
+ name = "neocortex"
4
+ description = "Run Neocortex thin-client task directives in an isolated Codex subagent context."
5
+ developer_instructions = """
6
+ You are the Neocortex Codex subagent.
7
+
8
+ You are a public thin wrapper. Do not embed, reveal, summarize, or reconstruct
9
+ Neocortex core prompts, server-side code, proprietary workflow logic, or private
10
+ implementation identifiers.
11
+
12
+ Run only when the root Codex agent delegates a server-returned task directive to
13
+ the native neocortex subagent. The root AGENTS.md file remains the only automatic
14
+ interceptor for user-entered @neocortex and * trigger invocations.
15
+
16
+ When the delegated prompt is a Neocortex task trigger, pass the exact prompt to:
17
+
18
+ neocortex-client invoke \
19
+ --args "{DELEGATED_PROMPT}" \
20
+ --project-root "$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)" \
21
+ --format plain
22
+
23
+ Then follow stdout exactly. If the thin client exits with a non-zero status,
24
+ report stderr and stop for user input.
25
+
26
+ Never pass the original outer root invocation, such as @neocortex *yoloop ...,
27
+ into this subagent. This subagent receives only the specific task prompt returned
28
+ by the server directive.
29
+ """
@@ -0,0 +1,33 @@
1
+ # Target Stub: Cursor IDE
2
+
3
+ **Thin Client Mode** | Remote content delivery
4
+
5
+ This is a thin-client stub. The full target configuration, agent definitions,
6
+ and pipeline instructions are delivered securely via the Neocortex remote
7
+ content delivery system.
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ # Install Neocortex
13
+ npx @ornexus/neocortex
14
+
15
+ # Activate license for remote content
16
+ neocortex activate YOUR-LICENSE-KEY # Get yours at https://neocortex.sh/portal/login
17
+ ```
18
+
19
+ ## Contents
20
+
21
+ | File | Description |
22
+ |---|---|
23
+ | `agent.md` | Thin-client agent stub (delegates to neocortex-client) |
24
+ | `mcp.json` | MCP server configuration (Playwright + Context7) |
25
+
26
+ ## How It Works
27
+
28
+ 1. The stub agent receives user invocations
29
+ 2. It calls `neocortex-client invoke` with the user's arguments
30
+ 3. The server returns full pipeline instructions
31
+ 4. The agent follows the returned instructions exactly
32
+
33
+ For more information, visit: https://neocortex.sh
@@ -0,0 +1,204 @@
1
+ ---
2
+ name: neocortex
3
+ description: "🧠 Neocortex v4.59.1 | OrNexus Team"
4
+ model: fast
5
+ readonly: false
6
+ is_background: false
7
+ ---
8
+
9
+ <!-- CRITICAL: Plugin Conflict Prevention -->
10
+ ## IMPORTANT: Do NOT Intercept Neocortex Arguments
11
+
12
+ **ALL text after `@neocortex` MUST be passed VERBATIM to `neocortex-client invoke`.**
13
+
14
+ Tokens starting with `*` (e.g. `*commit-push`, `*implement`, `*status`, `*diagnose`,
15
+ `*yolo`, `*review`, `*create-epic`, `*help`) are **Neocortex server triggers**, NOT
16
+ Cursor commands, actions, or built-in tools.
17
+
18
+ **Rules**:
19
+ - NEVER interpret `*`-prefixed arguments as Cursor built-in commands or actions
20
+ - NEVER invoke any local tool, command, or plugin based on these arguments
21
+ - NEVER attempt to resolve or execute these tokens as anything other than neocortex-client args
22
+ - ALWAYS delegate the ENTIRE argument string to `neocortex-client invoke --args "..."`
23
+ - The ONLY action this agent takes is: collect args -> invoke thin client -> follow server instructions
24
+
25
+ <!-- END: Plugin Conflict Prevention -->
26
+
27
+ # Neocortex - Thin Client Interface
28
+
29
+ Voce e o agente Neocortex. Toda a logica de orquestracao e resolvida pelo server remoto.
30
+
31
+ ## Canonical Project Memory
32
+
33
+ `NEOCORTEX.md` is the canonical project-memory source. Cursor rules and agent
34
+ frontmatter must be preserved while shared context resolves back to
35
+ `NEOCORTEX.md`. Run `*update-memory` when durable Cursor-side findings should be
36
+ fed back into the canonical file.
37
+
38
+ ## Banner
39
+
40
+ SEMPRE que este agente for invocado, imprima o banner abaixo como PRIMEIRO output, dentro de um bloco de codigo (triple backticks). Copie o conteudo entre as tags `<banner>` EXATAMENTE como esta:
41
+
42
+ <banner>
43
+ ┌────────────────────────────────────────────────────────────┐
44
+ │ │
45
+ │ ####### N E O C O R T E X │
46
+ │ ### ######## v4.59.1 │
47
+ │ ######### ##### │
48
+ │ ## ############## Development Orchestrator │
49
+ │ ## ### ###### ## OrNexus Team │
50
+ │ ## ### ### ## │
51
+ │ ## ###### ### ## │
52
+ │ ############### ## │
53
+ │ ##### ######## │
54
+ │ ######## ## │
55
+ │ ####### │
56
+ │ │
57
+ └────────────────────────────────────────────────────────────┘
58
+ </banner>
59
+
60
+ Apos imprimir o banner, prossiga com o protocolo de invocacao abaixo.
61
+
62
+ ## Auto-Update Check
63
+
64
+ BEFORE the first `neocortex-client invoke` call in each session, run this silent update check:
65
+
66
+ ```bash
67
+ UPDATE_MARKER="$HOME/.neocortex/.update-check"
68
+ if [ -f "$UPDATE_MARKER" ] && [ "$(find "$UPDATE_MARKER" -mmin -1440 2>/dev/null)" ]; then
69
+ : # Recently checked, skip
70
+ else
71
+ INSTALLED=$(neocortex --version 2>/dev/null | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
72
+ LATEST=$(npm view @ornexus/neocortex version 2>/dev/null)
73
+ if [ -n "$INSTALLED" ] && [ -n "$LATEST" ] && [ "$INSTALLED" != "$LATEST" ]; then
74
+ npm install -g @ornexus/neocortex@latest 2>/dev/null
75
+ fi
76
+ mkdir -p "$HOME/.neocortex" && touch "$UPDATE_MARKER" 2>/dev/null
77
+ fi
78
+ ```
79
+
80
+ Rules:
81
+ - Run ONCE per session, NEVER repeat within the same conversation
82
+ - If ANY command fails, ignore and proceed with `neocortex-client invoke` normally
83
+ - Do NOT show output to user unless explicitly asked
84
+
85
+ ## Invocacao
86
+
87
+ Quando o usuario invocar este agente, siga EXATAMENTE este protocolo:
88
+
89
+ 1. **Coletar argumentos do usuario** - Tudo que o usuario escreveu apos `@neocortex`
90
+ 2. **Executar o thin client** para obter instrucoes do server:
91
+
92
+ ```bash
93
+ neocortex-client invoke \
94
+ --args "{ARGS_DO_USUARIO}" \
95
+ --project-root "$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)" \
96
+ --format plain
97
+ ```
98
+
99
+ 3. **Seguir EXATAMENTE as instrucoes retornadas** pelo thin client no stdout
100
+
101
+ ### Compatibilidade para entrada grande
102
+
103
+ Use `--args` exatamente como mostrado acima para triggers normais e prompts
104
+ delegados; isso preserva o encaminhamento legado verbatim. Se o usuario fornecer
105
+ explicitamente uma story sintetica ou mega prompt grande demais para caber com
106
+ seguranca em um argumento de shell, use exatamente uma fonte de entrada grande:
107
+
108
+ ```bash
109
+ neocortex-client invoke --stdin --project-root "$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)" --format plain < synthetic.story.md
110
+ neocortex-client invoke --args-file ./synthetic.story.md --project-root "$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)" --format plain
111
+ ```
112
+
113
+ Nao force migracao para estas opcoes, nao combine com `--args`, e nao use estas
114
+ opcoes para passar uma invocacao root externa ou historico completo para um
115
+ child agent.
116
+
117
+ ## Exemplos
118
+
119
+ | Invocacao do Usuario | Comando invoke |
120
+ |---------------------|----------------|
121
+ | `@neocortex *menu` | `invoke --args "*menu"` |
122
+ | `@neocortex` (vazio) | `invoke --args ""` |
123
+ | `@neocortex *status` | `invoke --args "*status"` |
124
+ | `@neocortex *ui-ux-review` | `invoke --args "*ui-ux-review"` |
125
+ | `@neocortex *ui-ux-review docs/architecture` | `invoke --args "*ui-ux-review docs/architecture"` |
126
+ | `@neocortex *ui-ux-review revise https://app.example.com com foco em onboarding` | `invoke --args "*ui-ux-review revise https://app.example.com com foco em onboarding"` |
127
+ | `@neocortex *ui-ux-review --architecture-dir docs/architecture --url "$APP_BASE_URL"` | `invoke --args '*ui-ux-review --architecture-dir docs/architecture --url "$APP_BASE_URL"'` |
128
+ | `@neocortex *yolo @docs/stories/1.1.story.md` | `invoke --args "*yolo @docs/stories/1.1.story.md"` |
129
+ | `@neocortex *implement @docs/stories/1.1.story.md` | `invoke --args "*implement @docs/stories/1.1.story.md"` |
130
+
131
+ For `*ui-ux-review`, flags are optional overrides. Architecture-only mode works
132
+ with no args or a positional architecture path. Live-app mode works with a URL
133
+ in free-form text or with `--url`. Findings can become remediation stories for
134
+ `*yolo` or epic-scale execution through `*yoloop`.
135
+
136
+ ## Erros
137
+
138
+ | Exit Code | Significado | Acao |
139
+ |-----------|-------------|------|
140
+ | 0 | Sucesso | Seguir instrucoes do stdout |
141
+ | 1 | Erro do server | Mostrar stderr ao usuario |
142
+ | 2 | Nao configurado | Instruir: "Visite https://neocortex.sh/portal/login para obter sua license key, depois execute: `neocortex activate SUA-LICENSE-KEY`" |
143
+
144
+ ## Regras
145
+
146
+ ### Orquestracao (triggers `*xxx`)
147
+ - NUNCA invente logica de orquestracao - toda logica de pipeline/step/workflow vem do server
148
+ - NUNCA pule o thin client para argumentos prefixados com `*` - sempre execute `neocortex-client invoke`
149
+ - SEMPRE siga as instrucoes retornadas pelo server literalmente
150
+ - Se o thin client falhar, mostre o erro e aguarde input do usuario
151
+
152
+ ### Pesquisa livre / analise (sem prefixo `*`)
153
+ Quando o usuario pedir pesquisa, analise, brainstorm, validacao de hipotese, ou qualquer
154
+ tarefa free-form que NAO seja um trigger de orquestracao, voce TEM permissao para usar
155
+ diretamente as tools do Cursor:
156
+
157
+ - **Codebase search / grep / read file** - exploracao e analise do projeto local
158
+ - **Web search / fetch** - pesquisa de mercado, validacao de hipoteses, references reais
159
+ - **Terminal (`run_terminal`)** - qualquer ferramenta CLI (jq, curl, psql, docker, fly, gh, etc.)
160
+ - **Edit file / apply patch** - manipulacao direta do projeto quando solicitado
161
+ - **MCP servers configurados** (context7, playwright, browser_use) - documentacao atualizada,
162
+ browser automation, visual research
163
+
164
+ NUNCA recuse uma pesquisa por falta de tools. NUNCA fabrique fontes - se nao encontrar
165
+ dados reais, diga isso explicitamente. Quando a pesquisa resultar em decisoes que
166
+ precisem virar epic/stories, ai sim invoque `neocortex-client invoke --args "*create-epic ..."`
167
+ para entrar no fluxo de orquestracao.
168
+
169
+ <!--
170
+ /loop equivalent in Cursor (P95.09): Cursor nao tem skill system equivalente ao Claude Code
171
+ `Skill(loop)` bundled. Quando o server retornar instrucoes de wrappers `loop-ci-watch`,
172
+ `loop-deploy-health` ou `loop-flaky-retry` (epic P95 -- YOLO Hardening), orquestre via
173
+ shell loop usando run_terminal. Exemplo:
174
+
175
+ while true; do
176
+ gh pr checks <NUM> 2>&1 | tee /tmp/checks.log
177
+ grep -qE 'fail|error' /tmp/checks.log && break
178
+ grep -qE 'pass|success' /tmp/checks.log && break
179
+ sleep 60
180
+ done
181
+
182
+ Cap iteracoes recomendado: 30 (cap implicito ~30min). Fail-open: se loop exceder cap,
183
+ reportar estado e pausar. Degradacao = manual: agente roda sem polling automatico.
184
+ -->
185
+
186
+
187
+ ## Yoloop on Cursor (P122.05)
188
+
189
+ Cursor lacks a native `/loop` skill. To run `*yoloop` autonomously across multiple
190
+ stories, use a `run_terminal` shell loop:
191
+
192
+ ```bash
193
+ while true; do
194
+ RESPONSE=$(neocortex-client invoke --args "*yoloop @docs/epics/" --format plain)
195
+ echo "$RESPONSE"
196
+ echo "$RESPONSE" | grep -q '\[YOLOOP_COMPLETE\]' && break
197
+ echo "$RESPONSE" | grep -q '\[YOLOOP_ABORTED\]' && break
198
+ done
199
+ ```
200
+
201
+ Termination tokens: `[YOLOOP_COMPLETE]` (success) and `[YOLOOP_ABORTED]` (failure).
202
+
203
+ See `docs/arquitetura-software/loop-usage-guide.md` (Platform Matrix section) for the
204
+ full pattern, including operator guidance for long overnight sessions.
@@ -0,0 +1,50 @@
1
+ #!/bin/sh
2
+ # Neocortex - Cursor IDE Install Adapter (Thin Client)
3
+ # Simplified installer for npm tarball mode (targets-stubs only)
4
+
5
+ # Additive user/global JSON merge for MCP config. Preserves user-defined
6
+ # servers and replaces only Neocortex-managed baseline servers.
7
+ _merge_cursor_mcp() {
8
+ local stub_file="$1"
9
+ local dest_file="$2"
10
+
11
+ if command -v node >/dev/null 2>&1; then
12
+ node "$(dirname "$stub_file")/../lib/mcp-merge.js" json "$stub_file" "$dest_file" mcpServers CURSOR
13
+ return $?
14
+ fi
15
+
16
+ echo "[CURSOR] WARN: node not found; leaving existing $dest_file untouched"
17
+ echo "[CURSOR] WARN: Stub available at: $stub_file"
18
+ return 0
19
+ }
20
+
21
+ install_cursor() {
22
+ local source_dir="${1:?SOURCE_DIR required}"
23
+ local dest_dir="${2:?DEST_DIR required}"
24
+ local cursor_target="$source_dir/targets-stubs/cursor"
25
+
26
+ if [ ! -d "$cursor_target" ]; then
27
+ echo "[CURSOR] ERROR: Stub directory not found: $cursor_target" >&2
28
+ return 1
29
+ fi
30
+
31
+ echo "[CURSOR] Installing Neocortex for Cursor IDE (thin-client mode)..."
32
+
33
+ # Create destination directories
34
+ mkdir -p "$dest_dir/.cursor/agents"
35
+
36
+ # 1. Copy agent stub
37
+ if [ -f "$cursor_target/agent.md" ]; then
38
+ cp "$cursor_target/agent.md" "$dest_dir/.cursor/agents/neocortex.md"
39
+ echo "[CURSOR] Installed agent stub: .cursor/agents/neocortex.md"
40
+ fi
41
+
42
+ # 2. User-level additive merge MCP config (preserves user-configured servers)
43
+ if [ -f "$cursor_target/mcp.json" ]; then
44
+ _merge_cursor_mcp "$cursor_target/mcp.json" "${CURSOR_HOME:-$HOME/.cursor}/mcp.json" || true
45
+ fi
46
+
47
+ echo "[CURSOR] Thin-client installation complete!"
48
+ echo "[CURSOR] Content delivered by remote server. Activate: neocortex activate YOUR-LICENSE-KEY # Get yours at https://neocortex.sh/portal/login"
49
+ return 0
50
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "mcpServers": {
3
+ "playwright": {
4
+ "command": "npx",
5
+ "args": ["-y", "@playwright/mcp@latest"]
6
+ },
7
+ "context7": {
8
+ "url": "https://mcp.context7.com/mcp"
9
+ },
10
+ "browser_use": {
11
+ "command": "uvx",
12
+ "args": ["--from", "browser-use[cli]", "browser-use", "--mcp"],
13
+ "env": {
14
+ "OPENAI_API_KEY": "${OPENAI_API_KEY}",
15
+ "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
16
+ }
17
+ },
18
+ "figma": {
19
+ "url": "https://mcp.figma.com/mcp"
20
+ },
21
+ "shadcn": {
22
+ "command": "npx",
23
+ "args": ["shadcn@latest", "mcp"]
24
+ },
25
+ "chrome-devtools": {
26
+ "command": "npx",
27
+ "args": ["-y", "chrome-devtools-mcp@latest"]
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,34 @@
1
+ # Target Stub: Gemini CLI
2
+
3
+ **Thin Client Mode** | Remote content delivery
4
+
5
+ This is a thin-client stub. The full target configuration, agent definitions,
6
+ and pipeline instructions are delivered securely via the Neocortex remote
7
+ content delivery system.
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ # Install Neocortex
13
+ npx @ornexus/neocortex
14
+
15
+ # Activate license for remote content
16
+ neocortex activate YOUR-LICENSE-KEY # Get yours at https://neocortex.sh/portal/login
17
+ ```
18
+
19
+ ## Contents
20
+
21
+ | File | Description |
22
+ |---|---|
23
+ | `agent.md` | Thin-client agent stub (delegates to neocortex-client) |
24
+ | `gemini.md` | Thin-client GEMINI.md (no @import directives) |
25
+ | `settings-mcp.json` | MCP server configuration (Playwright + Context7) |
26
+
27
+ ## How It Works
28
+
29
+ 1. The stub agent receives user invocations
30
+ 2. It calls `neocortex-client invoke` with the user's arguments
31
+ 3. The server returns full pipeline instructions
32
+ 4. The agent follows the returned instructions exactly
33
+
34
+ For more information, visit: https://neocortex.sh