@jstn-sdk/rcs 0.1.7 → 0.1.8

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 (170) hide show
  1. package/README.md +64 -1
  2. package/dist/agents/definitions.d.ts +6 -0
  3. package/dist/agents/definitions.d.ts.map +1 -1
  4. package/dist/agents/definitions.js +14 -0
  5. package/dist/agents/definitions.js.map +1 -1
  6. package/dist/config/generator.d.ts.map +1 -1
  7. package/dist/config/generator.js +6 -2
  8. package/dist/config/generator.js.map +1 -1
  9. package/dist/config/models.d.ts +37 -0
  10. package/dist/config/models.d.ts.map +1 -1
  11. package/dist/config/models.js +121 -3
  12. package/dist/config/models.js.map +1 -1
  13. package/dist/config/roblox-reference-mcp.d.ts +16 -0
  14. package/dist/config/roblox-reference-mcp.d.ts.map +1 -0
  15. package/dist/config/roblox-reference-mcp.js +37 -0
  16. package/dist/config/roblox-reference-mcp.js.map +1 -0
  17. package/dist/index.d.ts +3 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/platform-targets/reader.d.ts +3 -0
  22. package/dist/platform-targets/reader.d.ts.map +1 -0
  23. package/dist/platform-targets/reader.js +31 -0
  24. package/dist/platform-targets/reader.js.map +1 -0
  25. package/dist/platform-targets/schema.d.ts +22 -0
  26. package/dist/platform-targets/schema.d.ts.map +1 -0
  27. package/dist/platform-targets/schema.js +88 -0
  28. package/dist/platform-targets/schema.js.map +1 -0
  29. package/dist/scripts/publish-github-package.d.ts +3 -0
  30. package/dist/scripts/publish-github-package.d.ts.map +1 -0
  31. package/dist/scripts/publish-github-package.js +74 -0
  32. package/dist/scripts/publish-github-package.js.map +1 -0
  33. package/docs/agents.html +1 -0
  34. package/docs/index.html +13 -0
  35. package/docs/plugin-bundle-ssot.md +2 -0
  36. package/docs/readme/README.de.md +27 -0
  37. package/docs/readme/README.el.md +27 -0
  38. package/docs/readme/README.es.md +27 -0
  39. package/docs/readme/README.fr.md +27 -0
  40. package/docs/readme/README.it.md +27 -0
  41. package/docs/readme/README.ja.md +27 -0
  42. package/docs/readme/README.ko.md +27 -0
  43. package/docs/readme/README.md +2 -1
  44. package/docs/readme/README.pl.md +27 -0
  45. package/docs/readme/README.pt.md +27 -0
  46. package/docs/readme/README.ru.md +27 -0
  47. package/docs/readme/README.tr.md +27 -0
  48. package/docs/readme/README.uk.md +27 -0
  49. package/docs/readme/README.vi.md +27 -0
  50. package/docs/readme/README.zh-TW.md +27 -0
  51. package/docs/readme/README.zh.md +27 -0
  52. package/docs/reference/agentic-platform-compatibility.md +147 -0
  53. package/docs/reference/llm-provider-abstraction.md +88 -0
  54. package/docs/reference/multi-agent-compatibility-architecture.md +120 -0
  55. package/docs/reference/rcs-config-schema-routing.md +3 -0
  56. package/docs/reference/roblox-mcp-reference-layer.md +75 -0
  57. package/docs/reference/roblox-pre-action-protocol.md +15 -3
  58. package/docs/release-notes-v0.1.8.md +24 -0
  59. package/docs/wiki/Contributing.md +45 -0
  60. package/docs/wiki/Good-First-Issues.md +44 -0
  61. package/docs/wiki/Home.md +35 -0
  62. package/docs/wiki/Release-Playbook.md +57 -0
  63. package/docs/wiki/Roadmap.md +90 -0
  64. package/package.json +1 -1
  65. package/plugins/roblox-ai-os-creator-skills/.codex-plugin/plugin.json +1 -1
  66. package/plugins/roblox-ai-os-creator-skills/docs/reference/roblox-pre-action-protocol.md +15 -3
  67. package/plugins/roblox-ai-os-creator-skills/skills/ai-slop-cleaner/SKILL.md +0 -3
  68. package/plugins/roblox-ai-os-creator-skills/skills/analyze/SKILL.md +6 -9
  69. package/plugins/roblox-ai-os-creator-skills/skills/ask-claude/SKILL.md +0 -3
  70. package/plugins/roblox-ai-os-creator-skills/skills/ask-gemini/SKILL.md +0 -3
  71. package/plugins/roblox-ai-os-creator-skills/skills/autoforge/SKILL.md +0 -3
  72. package/plugins/roblox-ai-os-creator-skills/skills/autopilot/SKILL.md +0 -3
  73. package/plugins/roblox-ai-os-creator-skills/skills/autoresearch/SKILL.md +0 -3
  74. package/plugins/roblox-ai-os-creator-skills/skills/blueprint/SKILL.md +0 -3
  75. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-loop/SKILL.md +0 -3
  76. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-psych/SKILL.md +0 -3
  77. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-retention/SKILL.md +0 -3
  78. package/plugins/roblox-ai-os-creator-skills/skills/blueprint-social/SKILL.md +0 -3
  79. package/plugins/roblox-ai-os-creator-skills/skills/brief/SKILL.md +0 -3
  80. package/plugins/roblox-ai-os-creator-skills/skills/brief-audience/SKILL.md +0 -3
  81. package/plugins/roblox-ai-os-creator-skills/skills/brief-motivation/SKILL.md +0 -3
  82. package/plugins/roblox-ai-os-creator-skills/skills/cancel/SKILL.md +0 -3
  83. package/plugins/roblox-ai-os-creator-skills/skills/code-review/SKILL.md +6 -9
  84. package/plugins/roblox-ai-os-creator-skills/skills/configure-notifications/SKILL.md +0 -3
  85. package/plugins/roblox-ai-os-creator-skills/skills/crew/SKILL.md +0 -3
  86. package/plugins/roblox-ai-os-creator-skills/skills/deep-interview/SKILL.md +0 -3
  87. package/plugins/roblox-ai-os-creator-skills/skills/doctor/SKILL.md +0 -3
  88. package/plugins/roblox-ai-os-creator-skills/skills/forge/SKILL.md +0 -3
  89. package/plugins/roblox-ai-os-creator-skills/skills/forge-community/SKILL.md +0 -3
  90. package/plugins/roblox-ai-os-creator-skills/skills/forge-daily-loop/SKILL.md +0 -3
  91. package/plugins/roblox-ai-os-creator-skills/skills/forge-event-loop/SKILL.md +0 -3
  92. package/plugins/roblox-ai-os-creator-skills/skills/forge-fomo/SKILL.md +0 -3
  93. package/plugins/roblox-ai-os-creator-skills/skills/forge-mastery/SKILL.md +0 -3
  94. package/plugins/roblox-ai-os-creator-skills/skills/forge-progression/SKILL.md +0 -3
  95. package/plugins/roblox-ai-os-creator-skills/skills/forge-reward-loop/SKILL.md +0 -3
  96. package/plugins/roblox-ai-os-creator-skills/skills/forge-status/SKILL.md +0 -3
  97. package/plugins/roblox-ai-os-creator-skills/skills/help/SKILL.md +0 -3
  98. package/plugins/roblox-ai-os-creator-skills/skills/hud/SKILL.md +0 -3
  99. package/plugins/roblox-ai-os-creator-skills/skills/note/SKILL.md +0 -3
  100. package/plugins/roblox-ai-os-creator-skills/skills/pipeline/SKILL.md +0 -3
  101. package/plugins/roblox-ai-os-creator-skills/skills/plan/SKILL.md +0 -3
  102. package/plugins/roblox-ai-os-creator-skills/skills/rcs-setup/SKILL.md +0 -3
  103. package/plugins/roblox-ai-os-creator-skills/skills/security-review/SKILL.md +0 -3
  104. package/plugins/roblox-ai-os-creator-skills/skills/skill/SKILL.md +38 -40
  105. package/plugins/roblox-ai-os-creator-skills/skills/team/SKILL.md +0 -3
  106. package/plugins/roblox-ai-os-creator-skills/skills/trace/SKILL.md +0 -3
  107. package/plugins/roblox-ai-os-creator-skills/skills/ultraqa/SKILL.md +7 -10
  108. package/plugins/roblox-ai-os-creator-skills/skills/ultrawork/SKILL.md +0 -3
  109. package/plugins/roblox-ai-os-creator-skills/skills/visual-forge/SKILL.md +1 -4
  110. package/plugins/roblox-ai-os-creator-skills/skills/visual-verdict/SKILL.md +0 -3
  111. package/plugins/roblox-ai-os-creator-skills/skills/wiki/SKILL.md +0 -3
  112. package/plugins/roblox-ai-os-creator-skills/skills/worker/SKILL.md +1 -4
  113. package/skills/ai-slop-cleaner/SKILL.md +0 -3
  114. package/skills/analyze/SKILL.md +6 -9
  115. package/skills/ask-claude/SKILL.md +0 -3
  116. package/skills/ask-gemini/SKILL.md +0 -3
  117. package/skills/autoforge/SKILL.md +0 -3
  118. package/skills/autopilot/SKILL.md +0 -3
  119. package/skills/autoresearch/SKILL.md +0 -3
  120. package/skills/blueprint/SKILL.md +0 -3
  121. package/skills/blueprint-loop/SKILL.md +0 -3
  122. package/skills/blueprint-psych/SKILL.md +0 -3
  123. package/skills/blueprint-retention/SKILL.md +0 -3
  124. package/skills/blueprint-social/SKILL.md +0 -3
  125. package/skills/brief/SKILL.md +0 -3
  126. package/skills/brief-audience/SKILL.md +0 -3
  127. package/skills/brief-motivation/SKILL.md +0 -3
  128. package/skills/build-fix/SKILL.md +2 -4
  129. package/skills/cancel/SKILL.md +0 -3
  130. package/skills/code-review/SKILL.md +6 -9
  131. package/skills/configure-notifications/SKILL.md +0 -3
  132. package/skills/crew/SKILL.md +0 -3
  133. package/skills/deep-interview/SKILL.md +0 -3
  134. package/skills/deepsearch/SKILL.md +0 -3
  135. package/skills/doctor/SKILL.md +0 -3
  136. package/skills/ecomode/SKILL.md +0 -3
  137. package/skills/forge/SKILL.md +0 -3
  138. package/skills/forge-community/SKILL.md +0 -3
  139. package/skills/forge-daily-loop/SKILL.md +0 -3
  140. package/skills/forge-event-loop/SKILL.md +0 -3
  141. package/skills/forge-fomo/SKILL.md +0 -3
  142. package/skills/forge-init/SKILL.md +0 -3
  143. package/skills/forge-mastery/SKILL.md +0 -3
  144. package/skills/forge-progression/SKILL.md +0 -3
  145. package/skills/forge-reward-loop/SKILL.md +0 -3
  146. package/skills/forge-status/SKILL.md +0 -3
  147. package/skills/git-master/SKILL.md +0 -3
  148. package/skills/help/SKILL.md +0 -3
  149. package/skills/hud/SKILL.md +0 -3
  150. package/skills/note/SKILL.md +0 -3
  151. package/skills/pipeline/SKILL.md +0 -3
  152. package/skills/plan/SKILL.md +0 -3
  153. package/skills/rcs-setup/SKILL.md +0 -3
  154. package/skills/review/SKILL.md +0 -3
  155. package/skills/security-review/SKILL.md +0 -3
  156. package/skills/skill/SKILL.md +38 -40
  157. package/skills/swarm/SKILL.md +1 -4
  158. package/skills/tdd/SKILL.md +0 -3
  159. package/skills/team/SKILL.md +0 -3
  160. package/skills/trace/SKILL.md +0 -3
  161. package/skills/ultraqa/SKILL.md +7 -10
  162. package/skills/ultrawork/SKILL.md +0 -3
  163. package/skills/visual-forge/SKILL.md +1 -4
  164. package/skills/visual-verdict/SKILL.md +0 -3
  165. package/skills/web-clone/SKILL.md +0 -3
  166. package/skills/wiki/SKILL.md +0 -3
  167. package/skills/worker/SKILL.md +1 -4
  168. package/src/scripts/publish-github-package.ts +94 -0
  169. package/templates/roblox/llm-provider-routing.json +42 -0
  170. package/templates/roblox/reference-sources.md +33 -0
@@ -0,0 +1,147 @@
1
+ # Agentic Platform Compatibility
2
+
3
+ RCS should be portable across agentic AI platforms, but **portability does not mean pretending every platform has the same runtime model as Codex**.
4
+
5
+ The correct goal is:
6
+
7
+ - one canonical authoring surface
8
+ - one compatibility contract
9
+ - multiple platform-specific delivery lanes
10
+
11
+ That contract is now materialized in:
12
+
13
+ - [`src/platform-targets/manifest.json`](../../src/platform-targets/manifest.json)
14
+ - [`src/platform-targets/schema.ts`](../../src/platform-targets/schema.ts)
15
+ - [`src/platform-targets/reader.ts`](../../src/platform-targets/reader.ts)
16
+
17
+ ## What stays canonical
18
+
19
+ These are the source-of-truth surfaces inside this repo:
20
+
21
+ - `skills/` — canonical workflow skills
22
+ - `prompts/` — canonical prompt guidance for setup-owned native-agent generation
23
+ - `src/agents/definitions.ts` — canonical native-agent role registry
24
+ - `src/catalog/manifest.json` — canonical installability and alias/merged policy
25
+ - `templates/AGENTS.md` — canonical orchestration brain template
26
+ - `src/config/rcs-first-party-mcp.ts` and related config generators — canonical first-party MCP metadata
27
+
28
+ Everything else should be an **emitted delivery surface** or an **adapter surface**.
29
+
30
+ ## Delivery lanes
31
+
32
+ ### 1. Codex native setup lane
33
+
34
+ This is the deepest-supported lane today.
35
+
36
+ It includes:
37
+
38
+ - generated native agents under `.codex/agents/`
39
+ - installed prompts under `.codex/prompts/`
40
+ - installed skills under the selected setup scope
41
+ - setup-owned runtime hooks
42
+ - `.rcs/` runtime state
43
+
44
+ This lane is driven by `rcs setup`.
45
+
46
+ ### 2. Codex plugin + marketplace lane
47
+
48
+ This is the installable bundle lane today.
49
+
50
+ It includes:
51
+
52
+ - plugin bundle under `plugins/roblox-ai-os-creator-skills/`
53
+ - marketplace metadata in `.agents/plugins/marketplace.json`
54
+ - plugin-scoped skill discovery
55
+ - plugin-scoped MCP/app companion metadata
56
+
57
+ Important boundary:
58
+
59
+ - the plugin bundle is **not** the full runtime setup
60
+ - setup-owned prompts, native-agent TOMLs, and runtime hooks remain outside the plugin manifest
61
+
62
+ ### 3. Adapter lane for external platforms
63
+
64
+ This is how non-Codex platforms should be integrated.
65
+
66
+ Examples:
67
+
68
+ - OpenClaw
69
+ - Hermes
70
+ - future Claude-oriented or marketplace-oriented bridges
71
+
72
+ The rule is:
73
+
74
+ - do not fork canonical skill/prompt/runtime truth into platform-specific ad hoc copies
75
+ - add a platform adapter or delivery contract that maps canonical RCS surfaces into the target platform’s format
76
+
77
+ ## What “compatible with any agentic AI platform” should mean
78
+
79
+ It should mean:
80
+
81
+ - RCS authors once from canonical source surfaces
82
+ - RCS can emit or adapt those surfaces for a target platform
83
+ - each target gets the format it actually supports
84
+
85
+ It should **not** mean:
86
+
87
+ - every platform receives the exact same file layout
88
+ - every platform gets Codex-only runtime semantics
89
+ - plugin, marketplace, hooks, prompts, and native agents all collapse into one fake universal package
90
+
91
+ ## Platform model
92
+
93
+ Use this mental model:
94
+
95
+ - **Canonical source layer**: skills, prompts, registry, catalog, templates
96
+ - **Delivery layer**: Codex native setup, Codex plugin bundle, marketplace package
97
+ - **Adapter layer**: target-specific bridge for platforms with different runtime rules
98
+
99
+ ## Claude-style example
100
+
101
+ For a Claude-like platform, the right question is not:
102
+
103
+ - “Can we copy the Codex plugin/runtime shape into `.claude/`?”
104
+
105
+ The right question is:
106
+
107
+ - “Which canonical RCS surfaces should be delivered natively, and which must stay adapter-owned because the target platform does not share Codex runtime semantics?”
108
+
109
+ That usually means:
110
+
111
+ - skills may be portable
112
+ - selected guidance may be portable
113
+ - marketplace/package metadata may be portable
114
+ - setup-owned native agents and runtime hooks are **not** automatically portable one-to-one
115
+
116
+ ## Marketplace example
117
+
118
+ For a marketplace-oriented platform, the package should be treated as a delivery artifact:
119
+
120
+ - emitted from canonical repo sources
121
+ - versioned from canonical package/release metadata
122
+ - validated against a platform-specific boundary contract
123
+
124
+ Not as a second source of truth.
125
+
126
+ ## Current repo posture
127
+
128
+ Today RCS is strongest in:
129
+
130
+ - Codex native setup
131
+ - Codex plugin/marketplace packaging
132
+ - adapter-style compatibility lanes such as OpenClaw/Hermes
133
+
134
+ It is **not yet** a finished universal emitter for every external agent platform.
135
+
136
+ That is intentional. The repo should grow by adding **clean adapters/delivery contracts**, not by duplicating the product into platform-specific silos.
137
+
138
+ ## Concrete target lanes
139
+
140
+ The current platform target manifest defines these concrete lanes:
141
+
142
+ - `codex-native`
143
+ - `codex-plugin`
144
+ - `claude-like`
145
+ - `marketplace-bundle`
146
+ - `adapter-openclaw`
147
+ - `adapter-hermes`
@@ -0,0 +1,88 @@
1
+ # LLM Provider Abstraction
2
+
3
+ Status: canonical model- and API-agnostic provider layer for RCS runtime configuration.
4
+
5
+ ## Purpose
6
+
7
+ RCS should treat LLM providers as interchangeable components, not permanent dependencies.
8
+
9
+ That means:
10
+ - model routing is separate from provider routing
11
+ - provider configuration is explicit
12
+ - fallback providers can be declared without rewriting core logic
13
+ - OpenAI-compatible gateways, Anthropic-style gateways, or other future providers can be swapped in without redesigning the product surface
14
+
15
+ ## Core Principle
16
+
17
+ RCS routes work by:
18
+ 1. workflow or role intent
19
+ 2. model lane
20
+ 3. provider selection
21
+
22
+ The application should not have to change its core logic just because the backing provider changes.
23
+
24
+ ## Config Shape
25
+
26
+ `.rcs-config.json` may now include:
27
+
28
+ ```json
29
+ {
30
+ "providers": {
31
+ "openrouter": {
32
+ "base_url": "https://openrouter.ai/api/v1",
33
+ "api_format": "openai-compatible",
34
+ "env_key": "OPENROUTER_API_KEY",
35
+ "capabilities": ["chat", "reasoning"],
36
+ "label": "OpenRouter"
37
+ }
38
+ },
39
+ "routing": {
40
+ "default_provider": "openrouter",
41
+ "mode_providers": {
42
+ "forge": "openrouter"
43
+ },
44
+ "fallback_providers": ["openrouter"],
45
+ "mode_fallback_providers": {
46
+ "forge": ["openrouter"]
47
+ },
48
+ "hot_swap": true,
49
+ "failover": true
50
+ }
51
+ }
52
+ ```
53
+
54
+ ## What This Enables
55
+
56
+ - **Provider-agnostic routing** — use one model/provider abstraction without hard-wiring a single vendor into every workflow
57
+ - **OpenAI-compatible gateways** — route through unified proxy formats where useful
58
+ - **Mode-specific provider policies** — for example one provider for `forge`, another for `team`
59
+ - **Fallback chains** — define ordered failover providers for runtime resilience
60
+ - **Hot-swap intent** — document whether provider hot-swapping is considered part of the runtime policy
61
+
62
+ ## Important Clarification
63
+
64
+ This layer is about **LLM/model provider routing**.
65
+
66
+ It is **not** the same as:
67
+ - `robloxstudio-mcp` live Studio transport
68
+ - OpenClaw notifications/gateway delivery
69
+
70
+ ### OpenClaw
71
+
72
+ OpenClaw is adjacent infrastructure:
73
+ - useful for notifications/gateway automation
74
+ - not the canonical LLM provider abstraction
75
+ - should not be treated as the model-provider routing layer
76
+
77
+ ## Current Runtime Hooks
78
+
79
+ Implemented runtime helpers live in:
80
+ - `src/config/models.ts`
81
+
82
+ They now support:
83
+ - provider profile reads
84
+ - default provider resolution
85
+ - mode-specific provider resolution
86
+ - fallback provider lists
87
+ - hot-swap/failover flags
88
+ - normalized active provider connection summaries
@@ -0,0 +1,120 @@
1
+ # Multi-Agent Compatibility Architecture
2
+
3
+ RCS already ships a real multi-agent compatibility system, but in this repo it is split across **native agent definitions**, **catalog policy**, **native Codex TOML generation**, and **adapter targets**.
4
+
5
+ This document names that architecture explicitly so contributors do not project an external `src/agents.ts` example onto the wrong files.
6
+
7
+ ## Canonical files
8
+
9
+ - Native agent registry: [`src/agents/definitions.ts`](../../src/agents/definitions.ts)
10
+ - Native-agent install policy: [`src/agents/policy.ts`](../../src/agents/policy.ts)
11
+ - Native-agent config adapter/generator: [`src/agents/native-config.ts`](../../src/agents/native-config.ts)
12
+ - Public catalog manifest: [`src/catalog/manifest.json`](../../src/catalog/manifest.json)
13
+ - External adapter target contracts: [`src/adapt/contracts.ts`](../../src/adapt/contracts.ts)
14
+ - External adapter target registry: [`src/adapt/registry.ts`](../../src/adapt/registry.ts)
15
+ - CLI native-agent management: [`src/cli/agents.ts`](../../src/cli/agents.ts)
16
+ - Native-agent verification: [`src/scripts/verify-native-agents.ts`](../../src/scripts/verify-native-agents.ts)
17
+
18
+ ## Core patterns
19
+
20
+ ### Registry pattern
21
+
22
+ RCS uses **two registries**:
23
+
24
+ - `AGENT_DEFINITIONS` in `src/agents/definitions.ts`
25
+ - target descriptors in `src/adapt/registry.ts`
26
+
27
+ Those registries keep agent and adapter metadata centralized instead of scattering role-specific logic through setup, runtime, and verification code.
28
+
29
+ ### Adapter pattern
30
+
31
+ RCS does not expose prompt markdown or external target state directly.
32
+
33
+ Instead:
34
+
35
+ - `src/agents/native-config.ts` adapts prompt markdown plus `AgentDefinition` metadata into native Codex TOML files
36
+ - `src/adapt/*` adapts target-specific runtime evidence such as OpenClaw or Hermes into a shared envelope/probe/status contract
37
+
38
+ The rest of the system can therefore consume a stable RCS-owned shape rather than raw target-specific details.
39
+
40
+ ### Strategy pattern
41
+
42
+ The compatibility layer applies strategy-like decisions through registry-backed metadata instead of giant conditionals:
43
+
44
+ - `modelClass`, `posture`, and `routingRole` select native-agent instruction overlays and model resolution behavior
45
+ - adapter target descriptors select target-specific capability reports while preserving a shared foundation contract
46
+ - catalog `status` values such as `active`, `internal`, `alias`, and `merged` determine installability and canonical-target behavior
47
+
48
+ ### Plugin-style architecture
49
+
50
+ RCS supports extension without rewriting the core native-agent installer:
51
+
52
+ - add or adjust a native role in `AGENT_DEFINITIONS`
53
+ - classify it in `src/catalog/manifest.json`
54
+ - provide the matching prompt asset in `prompts/`
55
+ - let `verify-native-agents` enforce the contract
56
+
57
+ For external targets, add a target contract and registry descriptor under `src/adapt/*` without changing unrelated adapter lanes.
58
+
59
+ ## Supporting techniques
60
+
61
+ ### Configuration-driven design
62
+
63
+ The compatibility layer is mostly declarative:
64
+
65
+ - agent metadata is data-first in `AGENT_DEFINITIONS`
66
+ - installability and canonical aliases are data-first in `src/catalog/manifest.json`
67
+ - adapter capabilities are data-first in `TARGET_DESCRIPTORS`
68
+
69
+ That keeps policy visible and reviewable.
70
+
71
+ ### Facade pattern
72
+
73
+ RCS exposes small facade helpers over the registries instead of forcing consumers to walk raw objects:
74
+
75
+ - `getAgent`
76
+ - `listAgents`
77
+ - `getAgentNames`
78
+ - `getAgentsByCategory`
79
+ - `getAgentsByPosture`
80
+ - `getAgentsByRoutingRole`
81
+ - `getInstallableNativeAgentNames`
82
+ - `listAdaptTargets`
83
+ - `getAdaptTargetDescriptor`
84
+
85
+ ### Canonical-boundary pattern
86
+
87
+ RCS keeps ownership boundaries explicit:
88
+
89
+ - prompt markdown is setup-owned source content under `prompts/`
90
+ - generated native Codex agent TOML is emitted under `~/.codex/agents/` or `./.codex/agents/`
91
+ - plugin manifests must **not** claim setup-owned `agents`, `prompts`, or `hooks`
92
+ - adapter writes stay under `.rcs/adapters/<target>/...`
93
+
94
+ This avoids duplication and prevents plugin/runtime surfaces from silently fighting over the same artifacts.
95
+
96
+ ## What this architecture is not
97
+
98
+ This repo does **not** currently use the external example's exact shape:
99
+
100
+ - no monolithic `src/agents.ts`
101
+ - no `.agents/skills` universal-directory + symlink installer as the core native-agent mechanism
102
+ - no per-agent `detectInstalled()` registry for dozens of third-party coding tools as the main compatibility layer
103
+
104
+ RCS instead centers on:
105
+
106
+ - native Codex agent-role generation
107
+ - catalog-governed canonical/alias boundaries
108
+ - adapter-target compatibility lanes such as OpenClaw and Hermes
109
+
110
+ ## Verification contract
111
+
112
+ The architecture is guarded by tests and verification surfaces:
113
+
114
+ - [`src/agents/__tests__/definitions.test.ts`](../../src/agents/__tests__/definitions.test.ts)
115
+ - [`src/agents/__tests__/native-config.test.ts`](../../src/agents/__tests__/native-config.test.ts)
116
+ - [`src/adapt/__tests__/foundation.test.ts`](../../src/adapt/__tests__/foundation.test.ts)
117
+ - [`src/scripts/__tests__/verify-native-agents.test.ts`](../../src/scripts/__tests__/verify-native-agents.test.ts)
118
+ - [`src/verification/__tests__/multi-agent-compatibility-architecture.test.ts`](../../src/verification/__tests__/multi-agent-compatibility-architecture.test.ts)
119
+
120
+ If you change the compatibility architecture, update the doc and the contract tests together.
@@ -29,6 +29,8 @@ Current code recognizes these top-level `.rcs-config.json` keys:
29
29
  | --- | --- | --- |
30
30
  | `env` | Object of non-empty string values | Fallback environment values for model routing and helper launch paths. Model-related supported keys are listed below. |
31
31
  | `models` | Object of non-empty string values | Mode defaults and low-complexity model aliases. Supported model-routing keys are listed below. |
32
+ | `providers` | Object | Provider profiles for model/API-agnostic routing (`base_url`, `api_format`, `env_key`, `capabilities`, `label`). |
33
+ | `routing` | Object | Default provider, mode-specific provider mapping, fallback provider chains, and hot-swap/failover flags. |
32
34
  | `notifications` | Object | Notification transports, profiles, templates, cooldowns, replies, and OpenClaw/custom aliases. See the notification summary below and the OpenClaw guide for full examples. |
33
35
  | `stopHookCallbacks` | Legacy object | Backward-compatible legacy session-end notification config for `telegram` and `discord`; prefer `notifications`. |
34
36
  | `promptRouting` | `{ "triage": { "enabled": boolean } }` | Enables/disables advisory triage prompt routing. Missing key defaults to enabled; malformed shape fails closed to disabled. |
@@ -251,6 +253,7 @@ If behavior does not match your config, first confirm whether you are in user or
251
253
  ## Related docs and source surfaces
252
254
 
253
255
  - Notification and OpenClaw config: [`docs/openclaw-integration.md`](../openclaw-integration.md)
256
+ - Provider abstraction: [`docs/reference/llm-provider-abstraction.md`](./llm-provider-abstraction.md)
254
257
  - Project wiki config: [`docs/reference/project-wiki.md`](./project-wiki.md)
255
258
  - Model routing source: `src/config/models.ts`
256
259
  - Notification config source: `src/notifications/config.ts`, `src/notifications/types.ts`, `src/notifications/hook-config-types.ts`
@@ -0,0 +1,75 @@
1
+ # Roblox MCP Reference Layer
2
+
3
+ Status: canonical external reference-source policy for Roblox-facing RCS work.
4
+
5
+ ## Purpose
6
+
7
+ RCS has two different MCP/reference layers:
8
+
9
+ 1. **First-party RCS MCP servers**
10
+ - local stdio servers for state, memory, code-intel, trace, and wiki
11
+ 2. **External Roblox reference sources**
12
+ - official Creator Docs
13
+ - serverless `gitmcp.io` mirrors
14
+ - Roblox-specific skill repositories
15
+ - implementation corpora
16
+
17
+ This file defines how those external sources should be used.
18
+
19
+ ## Canonical Source Order
20
+
21
+ ### Tier 1: Official platform truth
22
+
23
+ Use these first when the question is about correctness, APIs, platform behavior, or Creator Hub rules:
24
+
25
+ - `https://github.com/Roblox/creator-docs`
26
+ - `https://gitmcp.io/Roblox/creator-docs`
27
+
28
+ These define the canonical platform truth.
29
+
30
+ ### Tier 2: High-signal Roblox implementation references
31
+
32
+ Use these to improve implementation awareness after the official baseline is grounded:
33
+
34
+ - `https://github.com/sentinelcore/roblox-skills`
35
+ - `https://gitmcp.io/sentinelcore/roblox-skills`
36
+ - `https://github.com/greedychipmunk/agent-skills/tree/main/roblox-game-developer`
37
+ - `https://github.com/omer-metin/skills-for-antigravity/tree/main/skills/roblox-development`
38
+ - `https://github.com/dig1t/skills`
39
+ - `https://github.com/Corecii/Devprod`
40
+ - `https://gitmcp.io/Corecii/Devprod`
41
+
42
+ ### Tier 3: Raw script corpora and broad pattern mining
43
+
44
+ Use these only as inspiration or anti-pattern review, never as canonical truth:
45
+
46
+ - `https://github.com/retpirato/Roblox-Scripts`
47
+ - `https://gitmcp.io/retpirato/Roblox-Scripts`
48
+ - `https://gitmcp.io/frosteen/Roblox_LUA_Weapon_Scripts`
49
+ - `https://gitmcp.io/uhub/awesome-lua`
50
+ - `https://gitmcp.io/LewisJEllis/awesome-lua`
51
+ - `https://gitmcp.io/forhappy/awesome-lua`
52
+ - `http://lua-users.org/wiki/SampleCode`
53
+
54
+ ## Usage Rules
55
+
56
+ - Official Roblox docs decide correctness.
57
+ - Skill repositories improve implementation strategy, workflow framing, and checklist quality.
58
+ - Raw script corpora are weak signals only; treat them as inspiration or anti-pattern mining.
59
+ - Never present a third-party script repository as if it overrides official Roblox platform guidance.
60
+ - Prefer the serverless `gitmcp.io` mirror when fast MCP-style browsing helps, but do not confuse the mirror with official product ownership.
61
+
62
+ ## RCS Fit
63
+
64
+ This repo should treat the layer like this:
65
+
66
+ - **RCS first-party MCP** = local runtime/state/control plane
67
+ - **Creator Docs / `gitmcp.io`** = external Roblox platform truth
68
+ - **Roblox skill repos** = implementation guidance and workflow references
69
+ - **Raw script corpora** = non-canonical pattern support only
70
+
71
+ ## Template
72
+
73
+ Reference inventory shipped with the repo:
74
+
75
+ - `templates/roblox/reference-sources.md`
@@ -45,10 +45,18 @@ Priority 1: canonical platform truth
45
45
  - `https://gitmcp.io/Roblox/creator-docs`
46
46
 
47
47
  Priority 2: high-signal implementation references
48
+ - `https://github.com/sentinelcore/roblox-skills`
48
49
  - `https://gitmcp.io/retpirato/Roblox-Scripts`
49
50
  - `https://gitmcp.io/sentinelcore/roblox-skills`
50
- - `https://gitmcp.io/frosteen/Roblox_LUA_Weapon_Scripts`
51
+ - `https://github.com/greedychipmunk/agent-skills/tree/main/roblox-game-developer`
52
+ - `https://github.com/omer-metin/skills-for-antigravity/tree/main/skills/roblox-development`
53
+ - `https://github.com/dig1t/skills`
54
+ - `https://github.com/Corecii/Devprod`
51
55
  - `https://gitmcp.io/Corecii/Devprod`
56
+
57
+ Priority 3: raw script and corpus support
58
+ - `https://github.com/retpirato/Roblox-Scripts`
59
+ - `https://gitmcp.io/frosteen/Roblox_LUA_Weapon_Scripts`
52
60
  - `https://gitmcp.io/uhub/awesome-lua`
53
61
  - `https://gitmcp.io/LewisJEllis/awesome-lua`
54
62
  - `https://gitmcp.io/forhappy/awesome-lua`
@@ -61,11 +69,15 @@ Priority 3: dataset and corpus support
61
69
  - `https://datasets-server.huggingface.co/splits?dataset=TorpedoSoftware%2FRoblox-Luau-Reasoning-v1.0`
62
70
  - `https://huggingface.co/datasets/bartholomort/lua-obfuscator-corpus`
63
71
 
64
- Rules:
72
+ Reference policy:
65
73
  - official Roblox docs define correctness
66
- - repos improve implementation awareness only
74
+ - Roblox skill repos improve implementation awareness only
67
75
  - datasets are weak pattern support only
68
76
 
77
+ Canonical reference-layer policy is documented in:
78
+ - `docs/reference/roblox-mcp-reference-layer.md`
79
+ - `templates/roblox/reference-sources.md`
80
+
69
81
  ## Phase 2: Understanding Synthesis
70
82
 
71
83
  Before implementation, answer:
@@ -0,0 +1,24 @@
1
+ # Roblox Creator Skills v0.1.8
2
+
3
+ ## Summary
4
+
5
+ `v0.1.8` is the MCP/reference-layer activation release after the `0.1.7` docs and localization hardening line. It makes the GitMCP Roblox reference sources part of the default managed Codex setup, documents the activation split more clearly, and adds the tests needed to keep that default layer stable.
6
+
7
+ ## What changed
8
+
9
+ - Default managed Codex config now includes:
10
+ - `creator_docs`
11
+ - `roblox_skills`
12
+ - `devprod_docs`
13
+ - `roblox_scripts_corpus`
14
+ - Added canonical docs for the Roblox MCP reference layer
15
+ - Added a shipped reference-source template inventory
16
+ - Clarified in README and localized READMEs that:
17
+ - `rcs mcp-serve` is for first-party local RCS MCP servers
18
+ - GitMCP Roblox references should stay enabled by default
19
+ - `robloxstudio-mcp` remains a manual live Studio bridge
20
+
21
+ ## Verification
22
+
23
+ - `npm run build`
24
+ - `node --test dist/config/__tests__/roblox-reference-mcp.test.js dist/config/__tests__/generator-idempotent.test.js dist/verification/__tests__/roblox-mcp-reference-layer.test.js dist/verification/__tests__/robloxstudio-mcp-compatibility.test.js`
@@ -0,0 +1,45 @@
1
+ # Contributing Wiki
2
+
3
+ This page complements the repository root [CONTRIBUTING.md](../../CONTRIBUTING.md).
4
+
5
+ ## Fastest way to start
6
+
7
+ 1. Read the root [README](../../README.md).
8
+ 2. Run the local setup flow.
9
+ 3. Look for issues labeled `good first issue` or `help wanted`.
10
+ 4. Pick a small, self-contained task before touching larger workflow/runtime surfaces.
11
+
12
+ ## What maintainers should optimize for
13
+
14
+ - a newcomer should be able to install, build, and smoke-test the repo in a few minutes
15
+ - issue descriptions should include clear reproduction or acceptance criteria
16
+ - docs, localization, wiki, and QA contributions count as real contributions
17
+ - roadmap items should be broken into slices that can be finished without deep repo archaeology
18
+
19
+ ## Accepted contribution types
20
+
21
+ - code and tests
22
+ - docs and onboarding fixes
23
+ - localization updates
24
+ - issue triage and reproduction refinement
25
+ - release notes and changelog cleanup
26
+ - contributor-experience improvements
27
+
28
+ ## Mentorship posture
29
+
30
+ - explain repo-local vocabulary when it is not obvious
31
+ - redirect contributors to the right doc instead of assuming they already know the surface
32
+ - prefer scoped guidance over vague “needs more work” reviews
33
+ - keep review feedback factual and actionable
34
+
35
+ ## Labels that matter
36
+
37
+ - `good first issue`
38
+ - `help wanted`
39
+ - `docs`
40
+ - `localization`
41
+ - `wiki`
42
+ - `contributor experience`
43
+ - `release`
44
+
45
+ See [Good first issues and labels](./Good-First-Issues.md).
@@ -0,0 +1,44 @@
1
+ # Good First Issues and Labels
2
+
3
+ This page defines the maintainer standard for contributor-friendly task shaping.
4
+
5
+ ## Required labels
6
+
7
+ - `good first issue` — small, safe, self-contained task with explicit acceptance criteria
8
+ - `help wanted` — useful task that is open to outside contribution, but may require more repo context
9
+ - `docs` — documentation surface
10
+ - `localization` — translation or locale-sync work
11
+ - `wiki` — contributor wiki or runtime wiki documentation surface
12
+ - `contributor experience` — onboarding, templates, setup, or workflow ergonomics
13
+
14
+ ## What qualifies as a good first issue
15
+
16
+ - one surface or subsystem
17
+ - no hidden cross-repo dependency
18
+ - clear reproduction or acceptance criteria
19
+ - easy local verification path
20
+ - no risky release, auth, or multi-runtime migration work
21
+
22
+ ## Good first issue examples in this repo
23
+
24
+ - clarify a Roblox-first prompt or skill example
25
+ - improve docs or setup wording
26
+ - sync README locale drift after a root README change
27
+ - add a missing focused test for a small contract
28
+ - fix a small CLI/help text mismatch
29
+ - tighten release notes or contributor guidance
30
+
31
+ ## What should not be labeled good first issue
32
+
33
+ - large runtime refactors
34
+ - release workflow surgery without a focused scope
35
+ - tmux/team-state concurrency work with unclear blast radius
36
+ - broad prompt taxonomy rewrites
37
+ - changes that require maintainer-only credentials or environment access
38
+
39
+ ## Maintainer checklist before applying the label
40
+
41
+ - task is broken down enough to fit in one PR
42
+ - expected files are named
43
+ - verification path is stated
44
+ - hidden blockers are removed or called out
@@ -0,0 +1,35 @@
1
+ # Contributor Wiki
2
+
3
+ This is the contributor-facing wiki source for `JustineDevs/roblox-ai-os`.
4
+
5
+ It is **not** the same thing as the local runtime wiki under `.rcs/wiki/`.
6
+ Use this wiki for community guidance, roadmap context, issue triage, and release operations.
7
+
8
+ ## Start here
9
+
10
+ - [Contributing guide](./Contributing.md)
11
+ - [Good first issues and labels](./Good-First-Issues.md)
12
+ - [Roadmap](./Roadmap.md)
13
+ - [Release playbook](./Release-Playbook.md)
14
+
15
+ ## What this wiki is for
16
+
17
+ - lowering the barrier to first contribution
18
+ - giving contributors a stable place to understand priorities
19
+ - showing maintainers how to label and scope newcomer-friendly work
20
+ - documenting release and update flows without forcing people to reverse-engineer workflow files
21
+
22
+ ## Maintainer expectations
23
+
24
+ - keep issues small, explicit, and easy to test
25
+ - use `good first issue` and `help wanted` labels deliberately
26
+ - respond quickly when a contributor asks for clarification
27
+ - thank contributors in release notes, README acknowledgements, or follow-up docs when their work materially lands
28
+ - accept non-code contributions such as docs, localization, QA, roadmap refinement, and issue triage
29
+ - use an All Contributors-style mindset so contribution credit is not limited to code
30
+
31
+ ## Source of truth
32
+
33
+ - Canonical public entry point: [../../README.md](../../README.md)
34
+ - Contributor workflow contract: [../../CONTRIBUTING.md](../../CONTRIBUTING.md)
35
+ - Roadmap source for contributor planning: [./Roadmap.md](./Roadmap.md)