@lukoweb/apitogo 0.2.22 → 0.2.24
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 +94 -94
- package/cli.js +13 -13
- package/client.d.ts +8 -8
- package/dist/cli/cli.js +561 -232
- package/dist/declarations/cli/platform/client/platform-api.d.ts +18 -0
- package/dist/declarations/config/validators/InputNavigationSchema.d.ts +7 -7
- package/dist/declarations/config/validators/ZudokuConfig.d.ts +1 -1
- package/docs/cli/commands.md +75 -75
- package/docs/cli/go-live.md +123 -123
- package/docs/cli/overview.md +91 -91
- package/docs/cli/setup.md +141 -141
- package/docs/cli/shape.md +127 -127
- package/docs/components/alert.mdx +130 -130
- package/docs/components/badge.mdx +70 -70
- package/docs/components/button.mdx +132 -132
- package/docs/components/callout.mdx +112 -112
- package/docs/components/card.mdx +104 -104
- package/docs/components/checkbox.mdx +72 -72
- package/docs/components/client-only.mdx +79 -79
- package/docs/components/code-tabs.mdx +179 -179
- package/docs/components/dialog.mdx +167 -167
- package/docs/components/head.mdx +200 -200
- package/docs/components/icons.mdx +27 -27
- package/docs/components/input.mdx +96 -96
- package/docs/components/label.mdx +86 -86
- package/docs/components/link.mdx +242 -242
- package/docs/components/markdown.mdx +151 -151
- package/docs/components/mermaid.mdx +81 -81
- package/docs/components/playground.mdx +85 -85
- package/docs/components/secret.mdx +79 -79
- package/docs/components/select.mdx +176 -176
- package/docs/components/shadcn.mdx +73 -73
- package/docs/components/slider.mdx +108 -108
- package/docs/components/slot.mdx +119 -119
- package/docs/components/stepper.mdx +138 -138
- package/docs/components/switch.mdx +96 -96
- package/docs/components/syntax-highlight.mdx +602 -602
- package/docs/components/textarea.mdx +78 -78
- package/docs/components/tooltip.mdx +195 -195
- package/docs/components/typography.mdx +61 -61
- package/docs/components.mdx +60 -60
- package/docs/concepts/auth-provider-api-identities.md +105 -105
- package/docs/configuration/ai-assistants.md +65 -65
- package/docs/configuration/api-catalog.md +109 -109
- package/docs/configuration/api-reference.md +397 -397
- package/docs/configuration/authentication-auth0.md +181 -181
- package/docs/configuration/authentication-azure-ad.md +245 -245
- package/docs/configuration/authentication-clerk.md +117 -117
- package/docs/configuration/authentication-firebase.md +69 -69
- package/docs/configuration/authentication-pingfederate.md +143 -143
- package/docs/configuration/authentication-supabase.md +233 -233
- package/docs/configuration/authentication.md +159 -159
- package/docs/configuration/build-configuration.mdx +147 -147
- package/docs/configuration/docs.md +282 -282
- package/docs/configuration/footer.mdx +118 -118
- package/docs/configuration/gateway.md +221 -221
- package/docs/configuration/llms.md +90 -90
- package/docs/configuration/make-config.mdx +124 -124
- package/docs/configuration/manifest.md +128 -128
- package/docs/configuration/navigation.mdx +421 -421
- package/docs/configuration/overview.md +166 -166
- package/docs/configuration/plans.md +153 -153
- package/docs/configuration/protected-routes.md +150 -150
- package/docs/configuration/search.md +164 -164
- package/docs/configuration/sentry.mdx +44 -44
- package/docs/configuration/site.md +124 -124
- package/docs/configuration/slots.mdx +125 -125
- package/docs/configuration/vite-config.md +18 -18
- package/docs/custom-plugins.md +285 -285
- package/docs/customization/colors-theme.mdx +278 -278
- package/docs/customization/fonts.md +110 -110
- package/docs/customization/landing-page.md +188 -188
- package/docs/deploy/apache-nginx.md +41 -41
- package/docs/deploy/apitogo.md +17 -17
- package/docs/deploy/cloudflare-pages.md +74 -74
- package/docs/deploy/direct-upload.md +17 -17
- package/docs/deploy/github-pages.md +49 -49
- package/docs/deploy/vercel.md +101 -101
- package/docs/deployment.md +9 -9
- package/docs/extending/events.md +124 -124
- package/docs/guides/custom-pages.md +110 -110
- package/docs/guides/environment-variables.md +94 -94
- package/docs/guides/managing-api-keys-and-identities.md +89 -89
- package/docs/guides/mermaid.mdx +70 -70
- package/docs/guides/navigation-rules.mdx +203 -203
- package/docs/guides/processors.mdx +234 -234
- package/docs/guides/static-files.md +55 -55
- package/docs/guides/transforming-examples.md +156 -156
- package/docs/guides/using-multiple-apis.md +87 -87
- package/docs/markdown/admonitions.md +128 -128
- package/docs/markdown/code-blocks.md +196 -196
- package/docs/markdown/frontmatter.md +173 -173
- package/docs/markdown/mdx.md +68 -68
- package/docs/markdown/overview.md +275 -275
- package/docs/mcp/go-live.md +100 -100
- package/docs/mcp/overview.md +76 -76
- package/docs/mcp/setup.md +173 -173
- package/docs/mcp/shape.md +77 -77
- package/docs/mcp/tools.md +102 -102
- package/docs/plugins.md +24 -24
- package/docs/quickstart.md +72 -72
- package/docs/writing.mdx +72 -72
- package/package.json +1 -1
- package/src/app/ZuploBuildConfig.ts +36 -36
- package/src/app/apitogoBrandTheme.ts +47 -47
- package/src/app/defaultTheme.css +77 -77
- package/src/app/demo-cdn.html +37 -37
- package/src/app/demo.html +21 -21
- package/src/app/demo.tsx +77 -77
- package/src/app/entry.client.tsx +107 -107
- package/src/app/entry.server.tsx +160 -160
- package/src/app/env.ts +40 -40
- package/src/app/main.css +400 -400
- package/src/app/main.tsx +167 -167
- package/src/app/polyfills.ts +47 -47
- package/src/app/processRoutes.tsx +51 -51
- package/src/app/sentry.ts +24 -24
- package/src/app/standalone.html +23 -23
- package/src/app/standalone.tsx +60 -60
- package/src/app/utils/createRedirectRoutes.ts +11 -11
- package/src/config/apitogo-config-core.ts +7 -3
- package/src/config/apitogo-config-loader.browser.ts +17 -17
- package/src/config/apitogo-config-loader.node.ts +88 -88
- package/src/config/apitogo-config-loader.ts +6 -6
- package/src/config/build-apitogo-config.ts +61 -61
- package/src/config/config.ts +74 -74
- package/src/config/create-plugin.ts +71 -71
- package/src/config/default-landing-content.ts +149 -149
- package/src/config/file-exists.ts +6 -6
- package/src/config/gateway-limits.ts +128 -128
- package/src/config/landing-manifest.ts +11 -11
- package/src/config/landing-openapi-showcase.ts +124 -124
- package/src/config/loader.ts +375 -375
- package/src/config/local-manifest.ts +545 -545
- package/src/config/resolve-modules.ts +354 -354
- package/src/config/v2/__fixtures__/scenario-a-docs-only.json +6 -6
- package/src/config/v2/__fixtures__/scenario-b-managed-origin.json +14 -14
- package/src/config/v2/__fixtures__/scenario-c-proxy-oidc.json +15 -15
- package/src/config/v2/__fixtures__/scenario-h-full-stack.json +28 -28
- package/src/config/v2/docs-navigation.ts +72 -72
- package/src/config/v2/errors.ts +42 -42
- package/src/config/v2/gateway-reference.ts +220 -220
- package/src/config/v2/gateway-request.ts +123 -123
- package/src/config/v2/home-redirect.ts +98 -98
- package/src/config/v2/index.ts +126 -126
- package/src/config/v2/init.ts +273 -273
- package/src/config/v2/layout.ts +237 -237
- package/src/config/v2/ledger.ts +235 -235
- package/src/config/v2/link-directory.ts +34 -0
- package/src/config/v2/load.ts +70 -70
- package/src/config/v2/manifest.ts +452 -452
- package/src/config/v2/parse.ts +214 -214
- package/src/config/v2/paths.ts +54 -54
- package/src/config/v2/portal-profile.ts +88 -88
- package/src/config/v2/resolve.ts +188 -188
- package/src/config/v2/rules.ts +714 -714
- package/src/config/v2/schema.ts +245 -245
- package/src/config/v2/services.ts +663 -663
- package/src/config/v2/workspace.ts +3 -2
- package/src/config/v2/wrapper.ts +24 -2
- package/src/config/validators/BuildSchema.ts +95 -95
- package/src/config/validators/HeaderNavigationSchema.ts +44 -44
- package/src/config/validators/InputNavigationSchema.test-d.ts +178 -178
- package/src/config/validators/InputNavigationSchema.ts +206 -206
- package/src/config/validators/ModulesSchema.ts +502 -502
- package/src/config/validators/NavigationSchema.ts +352 -352
- package/src/config/validators/ProtectedRoutesSchema.ts +35 -35
- package/src/config/validators/ZudokuConfig.ts +792 -792
- package/src/config/validators/auth.ts +3 -3
- package/src/config/validators/reason-codes.ts +7 -7
- package/src/env.d.ts +11 -11
- package/src/index.ts +83 -83
- package/src/lib/MissingIcon.tsx +22 -22
- package/src/lib/assets/language-icons/bun.tsx +50 -50
- package/src/lib/assets/language-icons/c.tsx +31 -31
- package/src/lib/assets/language-icons/commonlisp.tsx +22 -22
- package/src/lib/assets/language-icons/cpp.tsx +35 -35
- package/src/lib/assets/language-icons/csharp.tsx +35 -35
- package/src/lib/assets/language-icons/css.tsx +36 -36
- package/src/lib/assets/language-icons/dart.tsx +39 -39
- package/src/lib/assets/language-icons/elixir.tsx +19 -19
- package/src/lib/assets/language-icons/go.tsx +19 -19
- package/src/lib/assets/language-icons/graphql.tsx +19 -19
- package/src/lib/assets/language-icons/html.tsx +24 -24
- package/src/lib/assets/language-icons/java.tsx +35 -35
- package/src/lib/assets/language-icons/javascript.tsx +11 -11
- package/src/lib/assets/language-icons/json.tsx +19 -19
- package/src/lib/assets/language-icons/kotlin.tsx +30 -30
- package/src/lib/assets/language-icons/markdown.tsx +19 -19
- package/src/lib/assets/language-icons/mdx.tsx +23 -23
- package/src/lib/assets/language-icons/npm.tsx +15 -15
- package/src/lib/assets/language-icons/objectivec.tsx +23 -23
- package/src/lib/assets/language-icons/ocaml.tsx +34 -34
- package/src/lib/assets/language-icons/php.tsx +19 -19
- package/src/lib/assets/language-icons/pnpm.tsx +32 -32
- package/src/lib/assets/language-icons/powershell.tsx +27 -27
- package/src/lib/assets/language-icons/python.tsx +23 -23
- package/src/lib/assets/language-icons/react.tsx +21 -21
- package/src/lib/assets/language-icons/ruby.tsx +19 -19
- package/src/lib/assets/language-icons/rust.tsx +19 -19
- package/src/lib/assets/language-icons/scala.tsx +19 -19
- package/src/lib/assets/language-icons/shell.tsx +19 -19
- package/src/lib/assets/language-icons/swift.tsx +19 -19
- package/src/lib/assets/language-icons/toml.tsx +23 -23
- package/src/lib/assets/language-icons/typescript.tsx +23 -23
- package/src/lib/assets/language-icons/xml.tsx +19 -19
- package/src/lib/assets/language-icons/yaml.tsx +23 -23
- package/src/lib/assets/language-icons/yarn.tsx +17 -17
- package/src/lib/assets/language-icons/zig.tsx +32 -32
- package/src/lib/auth/issuer.ts +34 -34
- package/src/lib/authentication/AuthenticationPlugin.tsx +33 -33
- package/src/lib/authentication/auth-header-nav.ts +46 -46
- package/src/lib/authentication/authentication.ts +51 -51
- package/src/lib/authentication/components/CallbackHandler.tsx +45 -45
- package/src/lib/authentication/components/OAuthErrorPage.tsx +197 -197
- package/src/lib/authentication/components/ProductionUnlockPage.tsx +26 -26
- package/src/lib/authentication/components/SignIn.tsx +46 -46
- package/src/lib/authentication/components/SignOut.tsx +15 -15
- package/src/lib/authentication/components/SignUp.tsx +48 -48
- package/src/lib/authentication/constants.ts +1 -1
- package/src/lib/authentication/errors.ts +34 -34
- package/src/lib/authentication/header-nav-filter.ts +35 -35
- package/src/lib/authentication/hook.ts +141 -141
- package/src/lib/authentication/providers/auth0.tsx +91 -91
- package/src/lib/authentication/providers/azureb2c.tsx +223 -223
- package/src/lib/authentication/providers/clerk.tsx +224 -224
- package/src/lib/authentication/providers/dev-portal-auth-pages.tsx +602 -602
- package/src/lib/authentication/providers/dev-portal-constants.ts +38 -38
- package/src/lib/authentication/providers/dev-portal-demo.ts +151 -151
- package/src/lib/authentication/providers/dev-portal-utils.ts +279 -279
- package/src/lib/authentication/providers/dev-portal.tsx +448 -448
- package/src/lib/authentication/providers/firebase.tsx +486 -486
- package/src/lib/authentication/providers/openid.tsx +516 -516
- package/src/lib/authentication/providers/supabase.tsx +412 -412
- package/src/lib/authentication/providers/util.ts +26 -26
- package/src/lib/authentication/state.ts +180 -180
- package/src/lib/authentication/ui/AuthCard.tsx +7 -7
- package/src/lib/authentication/ui/EmailLinkCallbackUi.tsx +129 -129
- package/src/lib/authentication/ui/EmailLinkSentUi.tsx +105 -105
- package/src/lib/authentication/ui/EmailLinkSignInUi.tsx +100 -100
- package/src/lib/authentication/ui/EmailVerificationUi.tsx +128 -128
- package/src/lib/authentication/ui/ZudokuAuthUi.tsx +620 -620
- package/src/lib/authentication/ui/icons/Apple.tsx +10 -10
- package/src/lib/authentication/ui/icons/Facebook.tsx +15 -15
- package/src/lib/authentication/ui/icons/Github.tsx +16 -16
- package/src/lib/authentication/ui/icons/Google.tsx +16 -16
- package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -12
- package/src/lib/authentication/ui/icons/X.tsx +10 -10
- package/src/lib/authentication/utils/relativeRedirectUrl.ts +16 -16
- package/src/lib/components/AiAssistantMenuItems.tsx +102 -102
- package/src/lib/components/AnchorLink.tsx +24 -24
- package/src/lib/components/Autocomplete.tsx +123 -123
- package/src/lib/components/Banner.tsx +52 -52
- package/src/lib/components/Bootstrap.tsx +77 -77
- package/src/lib/components/BuildCheck.tsx +87 -87
- package/src/lib/components/CategoryHeading.tsx +19 -19
- package/src/lib/components/ClientOnly.tsx +19 -19
- package/src/lib/components/DeveloperHint.tsx +39 -39
- package/src/lib/components/ErrorPage.tsx +26 -26
- package/src/lib/components/Footer.tsx +146 -146
- package/src/lib/components/Framed.tsx +51 -51
- package/src/lib/components/Header.tsx +261 -261
- package/src/lib/components/HeaderAuthActions.tsx +32 -32
- package/src/lib/components/HeaderNavigation.tsx +176 -176
- package/src/lib/components/Heading.tsx +84 -84
- package/src/lib/components/InlineCode.tsx +15 -15
- package/src/lib/components/LandingLayout.tsx +27 -27
- package/src/lib/components/LanguageIcon.tsx +199 -199
- package/src/lib/components/Layout.tsx +59 -59
- package/src/lib/components/Main.tsx +52 -52
- package/src/lib/components/Markdown.tsx +55 -55
- package/src/lib/components/Mermaid.tsx +74 -74
- package/src/lib/components/Meta.tsx +46 -46
- package/src/lib/components/MobileTopNavigation.tsx +283 -283
- package/src/lib/components/MultiSelect.tsx +86 -86
- package/src/lib/components/NotFoundPage.tsx +37 -37
- package/src/lib/components/PageProgress.tsx +28 -28
- package/src/lib/components/PagefindSearchMeta.tsx +14 -14
- package/src/lib/components/Pagination.tsx +44 -44
- package/src/lib/components/PathRenderer.tsx +61 -61
- package/src/lib/components/PluginHeads.tsx +17 -17
- package/src/lib/components/Search.tsx +70 -70
- package/src/lib/components/SiteTitle.tsx +58 -58
- package/src/lib/components/Slot.tsx +65 -65
- package/src/lib/components/Spinner.tsx +5 -5
- package/src/lib/components/StatusPage.tsx +96 -96
- package/src/lib/components/ThemeSwitch.tsx +99 -99
- package/src/lib/components/TopNavigation.tsx +90 -90
- package/src/lib/components/Typography.tsx +12 -12
- package/src/lib/components/Zudoku.tsx +105 -105
- package/src/lib/components/cache.ts +27 -27
- package/src/lib/components/context/RenderContext.ts +11 -11
- package/src/lib/components/context/RouterEventsEmitter.tsx +19 -19
- package/src/lib/components/context/SlotProvider.tsx +149 -149
- package/src/lib/components/context/ViewportAnchorContext.tsx +137 -137
- package/src/lib/components/context/ZudokuContext.ts +140 -140
- package/src/lib/components/context/ZudokuProvider.tsx +20 -20
- package/src/lib/components/context/ZudokuReactContext.tsx +17 -17
- package/src/lib/components/index.ts +36 -36
- package/src/lib/components/navigation/Navigation.tsx +51 -51
- package/src/lib/components/navigation/NavigationBadge.tsx +48 -48
- package/src/lib/components/navigation/NavigationCategory.tsx +157 -157
- package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -28
- package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -35
- package/src/lib/components/navigation/NavigationItem.tsx +181 -181
- package/src/lib/components/navigation/NavigationWrapper.tsx +49 -49
- package/src/lib/components/navigation/PoweredByZudoku.tsx +39 -39
- package/src/lib/components/navigation/Toc.tsx +137 -137
- package/src/lib/components/navigation/ZudokuLogo.tsx +25 -25
- package/src/lib/components/navigation/ZuploLogo.tsx +14 -14
- package/src/lib/components/navigation/utils.ts +234 -234
- package/src/lib/core/RouteGuard.tsx +260 -260
- package/src/lib/core/ZudokuContext.ts +272 -272
- package/src/lib/core/plugins.ts +139 -139
- package/src/lib/core/react-query.ts +1 -1
- package/src/lib/core/router.ts +1 -1
- package/src/lib/core/transform-config.ts +67 -67
- package/src/lib/demo/DemoAnnouncement.tsx +17 -17
- package/src/lib/errors/ErrorAlert.tsx +28 -28
- package/src/lib/errors/ErrorMessage.tsx +50 -50
- package/src/lib/errors/RouterError.tsx +18 -18
- package/src/lib/errors/ServerError.tsx +5 -5
- package/src/lib/errors/TopLevelError.tsx +6 -6
- package/src/lib/hooks/index.ts +13 -13
- package/src/lib/hooks/useEvent.ts +41 -41
- package/src/lib/hooks/useHighlighter.ts +15 -15
- package/src/lib/hooks/useHotkey.ts +70 -70
- package/src/lib/icons.ts +2 -2
- package/src/lib/navigation/applyRules.ts +127 -127
- package/src/lib/navigation/pathMatcher.ts +81 -81
- package/src/lib/oas/graphql/circular.ts +69 -69
- package/src/lib/oas/graphql/constants.ts +2 -2
- package/src/lib/oas/graphql/index.ts +791 -791
- package/src/lib/oas/parser/dereference/index.ts +84 -84
- package/src/lib/oas/parser/dereference/resolveRef.ts +32 -32
- package/src/lib/oas/parser/index.ts +129 -129
- package/src/lib/oas/parser/schemas/v3.0.json +1489 -1489
- package/src/lib/oas/parser/schemas/v3.1.json +1298 -1298
- package/src/lib/oas/parser/upgrade/index.ts +174 -174
- package/src/lib/plugins/api-catalog/Catalog.tsx +80 -80
- package/src/lib/plugins/api-catalog/index.tsx +119 -119
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +128 -128
- package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -49
- package/src/lib/plugins/api-keys/ProtectedRoute.tsx +33 -33
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +72 -72
- package/src/lib/plugins/api-keys/index.tsx +274 -274
- package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -342
- package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +67 -67
- package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +127 -127
- package/src/lib/plugins/custom-pages/index.tsx +32 -32
- package/src/lib/plugins/markdown/MdxPage.tsx +260 -260
- package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -11
- package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -19
- package/src/lib/plugins/markdown/index.tsx +82 -82
- package/src/lib/plugins/openapi/ApiHeader.tsx +96 -96
- package/src/lib/plugins/openapi/CollapsibleCode.tsx +88 -88
- package/src/lib/plugins/openapi/ColorizedParam.tsx +115 -115
- package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +94 -94
- package/src/lib/plugins/openapi/Endpoint.tsx +85 -85
- package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -52
- package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -273
- package/src/lib/plugins/openapi/OasProvider.tsx +74 -74
- package/src/lib/plugins/openapi/OperationList.tsx +275 -275
- package/src/lib/plugins/openapi/OperationListItem.tsx +183 -183
- package/src/lib/plugins/openapi/ParamInfos.tsx +96 -96
- package/src/lib/plugins/openapi/ParameterList.tsx +53 -53
- package/src/lib/plugins/openapi/ParameterListItem.tsx +161 -161
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +67 -67
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +63 -63
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +120 -120
- package/src/lib/plugins/openapi/SchemaInfo.tsx +344 -344
- package/src/lib/plugins/openapi/SchemaList.tsx +113 -113
- package/src/lib/plugins/openapi/Sidecar.tsx +314 -314
- package/src/lib/plugins/openapi/SidecarBox.tsx +57 -57
- package/src/lib/plugins/openapi/SidecarExamples.tsx +177 -177
- package/src/lib/plugins/openapi/SimpleSelect.tsx +46 -46
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +73 -73
- package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -16
- package/src/lib/plugins/openapi/client/createServer.ts +35 -35
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +44 -44
- package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -24
- package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -58
- package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -22
- package/src/lib/plugins/openapi/components/ResponseContent.tsx +117 -117
- package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -29
- package/src/lib/plugins/openapi/context.tsx +16 -16
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +104 -104
- package/src/lib/plugins/openapi/graphql/gql.ts +95 -95
- package/src/lib/plugins/openapi/graphql/graphql.ts +835 -835
- package/src/lib/plugins/openapi/graphql/index.ts +2 -2
- package/src/lib/plugins/openapi/index.tsx +221 -221
- package/src/lib/plugins/openapi/interfaces.ts +100 -100
- package/src/lib/plugins/openapi/playground/BodyPanel.tsx +274 -274
- package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +51 -51
- package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +60 -60
- package/src/lib/plugins/openapi/playground/Headers.tsx +194 -194
- package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +75 -75
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +38 -38
- package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +45 -45
- package/src/lib/plugins/openapi/playground/PathParams.tsx +53 -53
- package/src/lib/plugins/openapi/playground/Playground.tsx +602 -602
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +62 -62
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +151 -151
- package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +70 -70
- package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -87
- package/src/lib/plugins/openapi/playground/createUrl.ts +25 -25
- package/src/lib/plugins/openapi/playground/fileUtils.ts +36 -36
- package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -26
- package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -91
- package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -31
- package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +29 -29
- package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +340 -340
- package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -50
- package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -117
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +355 -355
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +106 -106
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -36
- package/src/lib/plugins/openapi/playground/serializeQueryParams.ts +125 -125
- package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +23 -23
- package/src/lib/plugins/openapi/processors/injectApitogoGatewayServer.ts +36 -36
- package/src/lib/plugins/openapi/processors/removeExtensions.ts +29 -29
- package/src/lib/plugins/openapi/processors/removeParameters.ts +103 -103
- package/src/lib/plugins/openapi/processors/removePaths.ts +57 -57
- package/src/lib/plugins/openapi/processors/traverse.ts +1 -1
- package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +39 -39
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +189 -189
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +299 -299
- package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -132
- package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -123
- package/src/lib/plugins/openapi/schema/utils.ts +49 -49
- package/src/lib/plugins/openapi/state.ts +36 -36
- package/src/lib/plugins/openapi/util/buildTagCategories.ts +54 -54
- package/src/lib/plugins/openapi/util/createHttpSnippet.ts +135 -135
- package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +39 -39
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +191 -191
- package/src/lib/plugins/openapi/util/getRoutes.tsx +265 -265
- package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -11
- package/src/lib/plugins/openapi/util/methodToColor.ts +27 -27
- package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -32
- package/src/lib/plugins/openapi/util/useWarmupSchema.ts +23 -23
- package/src/lib/plugins/search-inkeep/index.tsx +108 -108
- package/src/lib/plugins/search-inkeep/inkeep.ts +24 -24
- package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +162 -162
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +202 -202
- package/src/lib/plugins/search-pagefind/ResultList.tsx +122 -122
- package/src/lib/plugins/search-pagefind/get-results.tsx +74 -74
- package/src/lib/plugins/search-pagefind/index.tsx +21 -21
- package/src/lib/plugins/search-pagefind/types.ts +118 -118
- package/src/lib/shiki-constants.ts +24 -24
- package/src/lib/shiki.ts +179 -179
- package/src/lib/testing/index.tsx +147 -147
- package/src/lib/ui/Accordion.tsx +55 -55
- package/src/lib/ui/ActionButton.tsx +21 -21
- package/src/lib/ui/Alert.tsx +84 -84
- package/src/lib/ui/AlertDialog.tsx +195 -195
- package/src/lib/ui/AspectRatio.tsx +5 -5
- package/src/lib/ui/Badge.tsx +48 -48
- package/src/lib/ui/Breadcrumb.tsx +115 -115
- package/src/lib/ui/Button.tsx +65 -65
- package/src/lib/ui/ButtonGroup.tsx +80 -80
- package/src/lib/ui/Callout.tsx +113 -113
- package/src/lib/ui/Card.tsx +95 -95
- package/src/lib/ui/Carousel.tsx +259 -259
- package/src/lib/ui/Checkbox.tsx +28 -28
- package/src/lib/ui/CodeBlock.tsx +92 -92
- package/src/lib/ui/CodeTabPanel.tsx +13 -13
- package/src/lib/ui/CodeTabs.tsx +161 -161
- package/src/lib/ui/Collapsible.tsx +31 -31
- package/src/lib/ui/Command.tsx +191 -191
- package/src/lib/ui/Dialog.tsx +138 -138
- package/src/lib/ui/DismissibleAlert.tsx +74 -74
- package/src/lib/ui/Drawer.tsx +121 -121
- package/src/lib/ui/DropdownMenu.tsx +254 -254
- package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -99
- package/src/lib/ui/Form.tsx +176 -176
- package/src/lib/ui/Frame.tsx +81 -81
- package/src/lib/ui/HoverCard.tsx +26 -26
- package/src/lib/ui/Input.tsx +23 -23
- package/src/lib/ui/InputGroup.tsx +168 -168
- package/src/lib/ui/Item.tsx +213 -213
- package/src/lib/ui/Kbd.tsx +28 -28
- package/src/lib/ui/Label.tsx +23 -23
- package/src/lib/ui/NativeSelect.tsx +48 -48
- package/src/lib/ui/NavigationMenu.tsx +169 -169
- package/src/lib/ui/Pagination.tsx +115 -115
- package/src/lib/ui/Popover.tsx +28 -28
- package/src/lib/ui/Progress.tsx +25 -25
- package/src/lib/ui/RadioGroup.tsx +41 -41
- package/src/lib/ui/ReactComponentDoc.tsx +68 -68
- package/src/lib/ui/ScrollArea.tsx +45 -45
- package/src/lib/ui/Secret.tsx +133 -133
- package/src/lib/ui/Select.tsx +184 -184
- package/src/lib/ui/Separator.tsx +25 -25
- package/src/lib/ui/Skeleton.tsx +15 -15
- package/src/lib/ui/Slider.tsx +25 -25
- package/src/lib/ui/Stepper.tsx +8 -8
- package/src/lib/ui/Switch.tsx +26 -26
- package/src/lib/ui/SyntaxHighlight.tsx +54 -54
- package/src/lib/ui/Tabs.tsx +52 -52
- package/src/lib/ui/Textarea.tsx +22 -22
- package/src/lib/ui/Toggle.tsx +42 -42
- package/src/lib/ui/ToggleGroup.tsx +58 -58
- package/src/lib/ui/Tooltip.tsx +65 -65
- package/src/lib/ui/Value.tsx +42 -42
- package/src/lib/ui/util.tsx +8 -8
- package/src/lib/util/MdxComponents.tsx +150 -150
- package/src/lib/util/cn.ts +6 -6
- package/src/lib/util/createVariantComponent.tsx +61 -61
- package/src/lib/util/ensureArray.ts +3 -3
- package/src/lib/util/flattenAllOf.ts +72 -72
- package/src/lib/util/flattenAllOfProcessor.ts +74 -74
- package/src/lib/util/hastToJsx.tsx +67 -67
- package/src/lib/util/humanFileSize.ts +15 -15
- package/src/lib/util/invariant.ts +52 -52
- package/src/lib/util/joinUrl.ts +60 -60
- package/src/lib/util/logInit.ts +9 -9
- package/src/lib/util/objectEntries.ts +5 -5
- package/src/lib/util/os.ts +18 -18
- package/src/lib/util/pastellize.ts +25 -25
- package/src/lib/util/problemJson.ts +63 -63
- package/src/lib/util/readFrontmatter.ts +14 -14
- package/src/lib/util/renderIf.ts +4 -4
- package/src/lib/util/scrollIntoViewIfNeeded.ts +18 -18
- package/src/lib/util/slugify.ts +21 -21
- package/src/lib/util/syncZustandState.ts +22 -22
- package/src/lib/util/traverse.ts +70 -70
- package/src/lib/util/types.ts +7 -7
- package/src/lib/util/url.ts +18 -18
- package/src/lib/util/useCopyToClipboard.ts +17 -17
- package/src/lib/util/useExposedProps.tsx +27 -27
- package/src/lib/util/useIsomorphicLayoutEffect.ts +6 -6
- package/src/lib/util/useLatest.ts +18 -18
- package/src/lib/util/useOnScreen.ts +34 -34
- package/src/lib/util/useScrollToAnchor.ts +75 -75
- package/src/lib/util/useScrollToTop.ts +18 -18
- package/src/types.d.ts +66 -66
- package/src/vite/api/SchemaManager.ts +371 -371
- package/src/vite/api/schema-codegen.ts +163 -163
- package/src/vite/build.ts +237 -237
- package/src/vite/config.ts +273 -273
- package/src/vite/css/collect.ts +42 -42
- package/src/vite/css/plugin.ts +105 -105
- package/src/vite/debug.ts +18 -18
- package/src/vite/dev-portal-env.ts +29 -29
- package/src/vite/dev-server.ts +294 -294
- package/src/vite/html.ts +52 -52
- package/src/vite/index.ts +2 -2
- package/src/vite/llms.ts +99 -99
- package/src/vite/mdx/rehype-extract-toc-with-jsx-export.ts +19 -19
- package/src/vite/mdx/rehype-extract-toc-with-jsx.ts +70 -70
- package/src/vite/mdx/remark-code-tabs.ts +47 -47
- package/src/vite/mdx/remark-inject-filepath.ts +13 -13
- package/src/vite/mdx/remark-last-modified.ts +103 -103
- package/src/vite/mdx/remark-link-rewrite.ts +23 -23
- package/src/vite/mdx/remark-normalize-image-url.ts +15 -15
- package/src/vite/mdx/remark-static-generation.ts +149 -149
- package/src/vite/mdx/utils.ts +32 -32
- package/src/vite/output.ts +261 -261
- package/src/vite/package-root.ts +12 -12
- package/src/vite/pagefind-dev-index.ts +100 -100
- package/src/vite/pagefind-dev-stub.ts +17 -17
- package/src/vite/plugin-api-keys.ts +55 -55
- package/src/vite/plugin-api.ts +328 -328
- package/src/vite/plugin-auth.ts +41 -41
- package/src/vite/plugin-component.ts +45 -45
- package/src/vite/plugin-config-reload.ts +47 -47
- package/src/vite/plugin-config.ts +131 -131
- package/src/vite/plugin-custom-pages.ts +36 -36
- package/src/vite/plugin-doc-metadata.ts +45 -45
- package/src/vite/plugin-docs.ts +205 -205
- package/src/vite/plugin-local-manifest.ts +100 -100
- package/src/vite/plugin-markdown-export.ts +214 -214
- package/src/vite/plugin-mdx.ts +149 -149
- package/src/vite/plugin-metadata.ts +30 -30
- package/src/vite/plugin-modules.ts +188 -188
- package/src/vite/plugin-navigation.ts +106 -106
- package/src/vite/plugin-offroot-resolve.ts +67 -67
- package/src/vite/plugin-search.ts +59 -59
- package/src/vite/plugin-shiki-register.ts +97 -97
- package/src/vite/plugin-theme.ts +458 -458
- package/src/vite/plugin.ts +48 -48
- package/src/vite/prerender/prerender.ts +242 -242
- package/src/vite/prerender/utils.ts +76 -76
- package/src/vite/prerender/worker.ts +118 -118
- package/src/vite/reporter.ts +34 -34
- package/src/vite/shadcn-registry.ts +48 -48
- package/src/vite/sitemap.ts +78 -78
- package/src/vite/ssr-templates/cloudflare.ts +19 -19
- package/src/vite/ssr-templates/node.ts +25 -25
- package/src/vite/ssr-templates/vercel.ts +22 -22
- package/src/vite/watch-ignore.ts +70 -70
- package/src/vite/zuplo.ts +30 -30
- package/src/vite-env.d.ts +6 -6
- package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -168
- package/src/zuplo/enrich-with-zuplo.ts +256 -256
- package/src/zuplo/policy-types.ts +46 -46
- package/src/zuplo/with-zuplo-processors.ts +36 -36
- package/src/zuplo/with-zuplo.ts +14 -14
- package/dist/declarations/cli/platform/client/deploy-server.d.ts +0 -16
package/docs/mcp/setup.md
CHANGED
|
@@ -1,173 +1,173 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Configure MCP in your agent
|
|
3
|
-
description:
|
|
4
|
-
Install and wire the APItoGo MCP server in Cursor, Claude Desktop, Claude Code, Codex, and other
|
|
5
|
-
MCP hosts.
|
|
6
|
-
sidebar_icon: plug
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
Connect **`@lukoweb/apitogo-mcp`** to your AI agent so it can shape and publish API products. The
|
|
10
|
-
server is the same everywhere; only the host config file changes.
|
|
11
|
-
|
|
12
|
-
## Prerequisites
|
|
13
|
-
|
|
14
|
-
- **Node.js 20+** on the machine that runs the agent (scaffold, build, preview)
|
|
15
|
-
- Platform API credentials from [apitogo.com](https://apitogo.com) (API key id + secret)
|
|
16
|
-
|
|
17
|
-
## Shared server definition
|
|
18
|
-
|
|
19
|
-
Every host launches the same stdio process:
|
|
20
|
-
|
|
21
|
-
| Field | Value |
|
|
22
|
-
| ------- | ------------------------------------------ |
|
|
23
|
-
| Command | `npx` |
|
|
24
|
-
| Args | `-y`, `@lukoweb/apitogo-mcp` |
|
|
25
|
-
| Env | `APITOGO_API_KEY_ID`, `APITOGO_API_SECRET` |
|
|
26
|
-
|
|
27
|
-
Optional env: `APITOGO_API_URL`, `APITOGO_DOC_TOOL_PATH` (local doc-tool for scaffold).
|
|
28
|
-
|
|
29
|
-
Never commit secrets. Prefer host env blocks or `${VAR}` expansion where the client supports it.
|
|
30
|
-
|
|
31
|
-
## Cursor
|
|
32
|
-
|
|
33
|
-
Add to `~/.cursor/mcp.json` (user) or `.cursor/mcp.json` (project):
|
|
34
|
-
|
|
35
|
-
```json
|
|
36
|
-
{
|
|
37
|
-
"mcpServers": {
|
|
38
|
-
"apitogo": {
|
|
39
|
-
"command": "npx",
|
|
40
|
-
"args": ["-y", "@lukoweb/apitogo-mcp"],
|
|
41
|
-
"env": {
|
|
42
|
-
"APITOGO_API_KEY_ID": "apk_...",
|
|
43
|
-
"APITOGO_API_SECRET": "..."
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Restart Cursor (or reload MCP). Confirm the **apitogo** server is connected in MCP settings.
|
|
51
|
-
|
|
52
|
-
### Optional: `apitogo-product` skill
|
|
53
|
-
|
|
54
|
-
So agents prefer `apply_product_intent` for create / go-live:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
# From the apitogo-local-mcp repo (or after npm pack of the package that ships skills/)
|
|
58
|
-
mkdir -p ~/.cursor/skills
|
|
59
|
-
cp -R skills/apitogo-product ~/.cursor/skills/apitogo-product
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
Or project-scoped under `.cursor/skills/apitogo-product`.
|
|
63
|
-
|
|
64
|
-
## Claude Desktop
|
|
65
|
-
|
|
66
|
-
Edit the Claude Desktop MCP config (same `mcpServers` shape as Cursor):
|
|
67
|
-
|
|
68
|
-
| OS | Path |
|
|
69
|
-
| ------- | ----------------------------------------------------------------- |
|
|
70
|
-
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
71
|
-
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
72
|
-
|
|
73
|
-
```json
|
|
74
|
-
{
|
|
75
|
-
"mcpServers": {
|
|
76
|
-
"apitogo": {
|
|
77
|
-
"command": "npx",
|
|
78
|
-
"args": ["-y", "@lukoweb/apitogo-mcp"],
|
|
79
|
-
"env": {
|
|
80
|
-
"APITOGO_API_KEY_ID": "apk_...",
|
|
81
|
-
"APITOGO_API_SECRET": "..."
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
Fully quit and reopen Claude Desktop after saving.
|
|
89
|
-
|
|
90
|
-
## Claude Code
|
|
91
|
-
|
|
92
|
-
**CLI (user scope — all projects):**
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
claude mcp add --scope user --env APITOGO_API_KEY_ID=apk_... --env APITOGO_API_SECRET=... \
|
|
96
|
-
apitogo -- npx -y @lukoweb/apitogo-mcp
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
**Project scope** (committed `.mcp.json` — use `${VAR}` for secrets):
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
claude mcp add --scope project --env APITOGO_API_KEY_ID=${APITOGO_API_KEY_ID} \
|
|
103
|
-
--env APITOGO_API_SECRET=${APITOGO_API_SECRET} \
|
|
104
|
-
apitogo -- npx -y @lukoweb/apitogo-mcp
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Or hand-edit `.mcp.json` in the project root:
|
|
108
|
-
|
|
109
|
-
```json
|
|
110
|
-
{
|
|
111
|
-
"mcpServers": {
|
|
112
|
-
"apitogo": {
|
|
113
|
-
"type": "stdio",
|
|
114
|
-
"command": "npx",
|
|
115
|
-
"args": ["-y", "@lukoweb/apitogo-mcp"],
|
|
116
|
-
"env": {
|
|
117
|
-
"APITOGO_API_KEY_ID": "${APITOGO_API_KEY_ID}",
|
|
118
|
-
"APITOGO_API_SECRET": "${APITOGO_API_SECRET}"
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
User/local scope without a project file lives in `~/.claude.json`. Start a new Claude Code session
|
|
126
|
-
after changing config. Approve project-scoped servers when prompted.
|
|
127
|
-
|
|
128
|
-
## OpenAI Codex
|
|
129
|
-
|
|
130
|
-
Edit `~/.codex/config.toml` (or project `.codex/config.toml` in a trusted project). The key must be
|
|
131
|
-
`mcp_servers` (not `mcpServers`):
|
|
132
|
-
|
|
133
|
-
```toml
|
|
134
|
-
[mcp_servers.apitogo]
|
|
135
|
-
command = "npx"
|
|
136
|
-
args = ["-y", "@lukoweb/apitogo-mcp"]
|
|
137
|
-
|
|
138
|
-
[mcp_servers.apitogo.env]
|
|
139
|
-
APITOGO_API_KEY_ID = "apk_..."
|
|
140
|
-
APITOGO_API_SECRET = "..."
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
You can also use `codex mcp add` if your Codex version supports it, then confirm the TOML entry.
|
|
144
|
-
Restart Codex / open a new session. See [Codex MCP docs](https://developers.openai.com/codex/mcp).
|
|
145
|
-
|
|
146
|
-
## Other MCP hosts
|
|
147
|
-
|
|
148
|
-
Any client that supports **stdio** MCP can run APItoGo:
|
|
149
|
-
|
|
150
|
-
1. Set command `npx`, args `["-y", "@lukoweb/apitogo-mcp"]`
|
|
151
|
-
2. Pass `APITOGO_API_KEY_ID` and `APITOGO_API_SECRET` in the server env
|
|
152
|
-
3. Restart the host and confirm tools load
|
|
153
|
-
|
|
154
|
-
Examples: Windsurf, VS Code Copilot Chat MCP, custom MCP clients — follow that product’s “add stdio
|
|
155
|
-
server” UI and paste the same command/args/env.
|
|
156
|
-
|
|
157
|
-
## Verify
|
|
158
|
-
|
|
159
|
-
In a new agent chat:
|
|
160
|
-
|
|
161
|
-
1. Ask the agent to list APItoGo tools, or call **`whoami`**.
|
|
162
|
-
2. You should see platform tools such as `apply_product_intent`, `create_dev_portal`,
|
|
163
|
-
`publish_dev_portal`.
|
|
164
|
-
|
|
165
|
-
If the server fails to start: confirm Node 20+, that `npx -y @lukoweb/apitogo-mcp` works in a
|
|
166
|
-
terminal, and that the API key id/secret are correct.
|
|
167
|
-
|
|
168
|
-
## Next
|
|
169
|
-
|
|
170
|
-
- [Quickstart](../quickstart.md) — first shape prompt
|
|
171
|
-
- [Shape](./shape.md) — local portal iteration
|
|
172
|
-
- [Go live](./go-live.md) — publish
|
|
173
|
-
- [Tools](./tools.md) — catalog
|
|
1
|
+
---
|
|
2
|
+
title: Configure MCP in your agent
|
|
3
|
+
description:
|
|
4
|
+
Install and wire the APItoGo MCP server in Cursor, Claude Desktop, Claude Code, Codex, and other
|
|
5
|
+
MCP hosts.
|
|
6
|
+
sidebar_icon: plug
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Connect **`@lukoweb/apitogo-mcp`** to your AI agent so it can shape and publish API products. The
|
|
10
|
+
server is the same everywhere; only the host config file changes.
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
- **Node.js 20+** on the machine that runs the agent (scaffold, build, preview)
|
|
15
|
+
- Platform API credentials from [apitogo.com](https://apitogo.com) (API key id + secret)
|
|
16
|
+
|
|
17
|
+
## Shared server definition
|
|
18
|
+
|
|
19
|
+
Every host launches the same stdio process:
|
|
20
|
+
|
|
21
|
+
| Field | Value |
|
|
22
|
+
| ------- | ------------------------------------------ |
|
|
23
|
+
| Command | `npx` |
|
|
24
|
+
| Args | `-y`, `@lukoweb/apitogo-mcp` |
|
|
25
|
+
| Env | `APITOGO_API_KEY_ID`, `APITOGO_API_SECRET` |
|
|
26
|
+
|
|
27
|
+
Optional env: `APITOGO_API_URL`, `APITOGO_DOC_TOOL_PATH` (local doc-tool for scaffold).
|
|
28
|
+
|
|
29
|
+
Never commit secrets. Prefer host env blocks or `${VAR}` expansion where the client supports it.
|
|
30
|
+
|
|
31
|
+
## Cursor
|
|
32
|
+
|
|
33
|
+
Add to `~/.cursor/mcp.json` (user) or `.cursor/mcp.json` (project):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"apitogo": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["-y", "@lukoweb/apitogo-mcp"],
|
|
41
|
+
"env": {
|
|
42
|
+
"APITOGO_API_KEY_ID": "apk_...",
|
|
43
|
+
"APITOGO_API_SECRET": "..."
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Restart Cursor (or reload MCP). Confirm the **apitogo** server is connected in MCP settings.
|
|
51
|
+
|
|
52
|
+
### Optional: `apitogo-product` skill
|
|
53
|
+
|
|
54
|
+
So agents prefer `apply_product_intent` for create / go-live:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# From the apitogo-local-mcp repo (or after npm pack of the package that ships skills/)
|
|
58
|
+
mkdir -p ~/.cursor/skills
|
|
59
|
+
cp -R skills/apitogo-product ~/.cursor/skills/apitogo-product
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Or project-scoped under `.cursor/skills/apitogo-product`.
|
|
63
|
+
|
|
64
|
+
## Claude Desktop
|
|
65
|
+
|
|
66
|
+
Edit the Claude Desktop MCP config (same `mcpServers` shape as Cursor):
|
|
67
|
+
|
|
68
|
+
| OS | Path |
|
|
69
|
+
| ------- | ----------------------------------------------------------------- |
|
|
70
|
+
| macOS | `~/Library/Application Support/Claude/claude_desktop_config.json` |
|
|
71
|
+
| Windows | `%APPDATA%\Claude\claude_desktop_config.json` |
|
|
72
|
+
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"mcpServers": {
|
|
76
|
+
"apitogo": {
|
|
77
|
+
"command": "npx",
|
|
78
|
+
"args": ["-y", "@lukoweb/apitogo-mcp"],
|
|
79
|
+
"env": {
|
|
80
|
+
"APITOGO_API_KEY_ID": "apk_...",
|
|
81
|
+
"APITOGO_API_SECRET": "..."
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Fully quit and reopen Claude Desktop after saving.
|
|
89
|
+
|
|
90
|
+
## Claude Code
|
|
91
|
+
|
|
92
|
+
**CLI (user scope — all projects):**
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
claude mcp add --scope user --env APITOGO_API_KEY_ID=apk_... --env APITOGO_API_SECRET=... \
|
|
96
|
+
apitogo -- npx -y @lukoweb/apitogo-mcp
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**Project scope** (committed `.mcp.json` — use `${VAR}` for secrets):
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
claude mcp add --scope project --env APITOGO_API_KEY_ID=${APITOGO_API_KEY_ID} \
|
|
103
|
+
--env APITOGO_API_SECRET=${APITOGO_API_SECRET} \
|
|
104
|
+
apitogo -- npx -y @lukoweb/apitogo-mcp
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Or hand-edit `.mcp.json` in the project root:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"mcpServers": {
|
|
112
|
+
"apitogo": {
|
|
113
|
+
"type": "stdio",
|
|
114
|
+
"command": "npx",
|
|
115
|
+
"args": ["-y", "@lukoweb/apitogo-mcp"],
|
|
116
|
+
"env": {
|
|
117
|
+
"APITOGO_API_KEY_ID": "${APITOGO_API_KEY_ID}",
|
|
118
|
+
"APITOGO_API_SECRET": "${APITOGO_API_SECRET}"
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
User/local scope without a project file lives in `~/.claude.json`. Start a new Claude Code session
|
|
126
|
+
after changing config. Approve project-scoped servers when prompted.
|
|
127
|
+
|
|
128
|
+
## OpenAI Codex
|
|
129
|
+
|
|
130
|
+
Edit `~/.codex/config.toml` (or project `.codex/config.toml` in a trusted project). The key must be
|
|
131
|
+
`mcp_servers` (not `mcpServers`):
|
|
132
|
+
|
|
133
|
+
```toml
|
|
134
|
+
[mcp_servers.apitogo]
|
|
135
|
+
command = "npx"
|
|
136
|
+
args = ["-y", "@lukoweb/apitogo-mcp"]
|
|
137
|
+
|
|
138
|
+
[mcp_servers.apitogo.env]
|
|
139
|
+
APITOGO_API_KEY_ID = "apk_..."
|
|
140
|
+
APITOGO_API_SECRET = "..."
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
You can also use `codex mcp add` if your Codex version supports it, then confirm the TOML entry.
|
|
144
|
+
Restart Codex / open a new session. See [Codex MCP docs](https://developers.openai.com/codex/mcp).
|
|
145
|
+
|
|
146
|
+
## Other MCP hosts
|
|
147
|
+
|
|
148
|
+
Any client that supports **stdio** MCP can run APItoGo:
|
|
149
|
+
|
|
150
|
+
1. Set command `npx`, args `["-y", "@lukoweb/apitogo-mcp"]`
|
|
151
|
+
2. Pass `APITOGO_API_KEY_ID` and `APITOGO_API_SECRET` in the server env
|
|
152
|
+
3. Restart the host and confirm tools load
|
|
153
|
+
|
|
154
|
+
Examples: Windsurf, VS Code Copilot Chat MCP, custom MCP clients — follow that product’s “add stdio
|
|
155
|
+
server” UI and paste the same command/args/env.
|
|
156
|
+
|
|
157
|
+
## Verify
|
|
158
|
+
|
|
159
|
+
In a new agent chat:
|
|
160
|
+
|
|
161
|
+
1. Ask the agent to list APItoGo tools, or call **`whoami`**.
|
|
162
|
+
2. You should see platform tools such as `apply_product_intent`, `create_dev_portal`,
|
|
163
|
+
`publish_dev_portal`.
|
|
164
|
+
|
|
165
|
+
If the server fails to start: confirm Node 20+, that `npx -y @lukoweb/apitogo-mcp` works in a
|
|
166
|
+
terminal, and that the API key id/secret are correct.
|
|
167
|
+
|
|
168
|
+
## Next
|
|
169
|
+
|
|
170
|
+
- [Quickstart](../quickstart.md) — first shape prompt
|
|
171
|
+
- [Shape](./shape.md) — local portal iteration
|
|
172
|
+
- [Go live](./go-live.md) — publish
|
|
173
|
+
- [Tools](./tools.md) — catalog
|
package/docs/mcp/shape.md
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Shape with MCP
|
|
3
|
-
description:
|
|
4
|
-
Scaffold and customize a developer portal locally with apply_product_intent (mode shape).
|
|
5
|
-
sidebar_icon: pencil-ruler
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**Shape** means: create or update a local portal site (OpenAPI, plans, auth flags, public routes)
|
|
9
|
-
without publishing. You preview with `npx apitogo run`.
|
|
10
|
-
|
|
11
|
-
## Happy path
|
|
12
|
-
|
|
13
|
-
```text
|
|
14
|
-
apply_product_intent({ mode: "shape", siteDirectory, backend?, openApi?, plans?, auth?, gatewayPolicies?, branding? })
|
|
15
|
-
→ scaffold if needed
|
|
16
|
-
→ wire OpenAPI / plans / auth / gateway.publicRoutes
|
|
17
|
-
→ you run npx apitogo run
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Example prompt:
|
|
21
|
-
|
|
22
|
-
> Create a portal in `./dev-portal` for my API in `./api` with Free (100/min) and Pro (1000/min);
|
|
23
|
-
> make `/health` public.
|
|
24
|
-
|
|
25
|
-
Never invent Free + Pro gateway plans unless you ask for them. Never put OIDC or Stripe secrets in
|
|
26
|
-
chat.
|
|
27
|
-
|
|
28
|
-
## Scaffold only
|
|
29
|
-
|
|
30
|
-
If you only want a local site:
|
|
31
|
-
|
|
32
|
-
> Create a dev portal in `./dev-portal-site`.
|
|
33
|
-
|
|
34
|
-
The agent should call **`create_dev_portal`** (or `apply_product_intent` with shape when you also
|
|
35
|
-
pass plans/backend). Then run:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
cd ./dev-portal-site
|
|
39
|
-
npx apitogo run
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
`create_dev_portal` does **not** start the preview server. Use `npx apitogo run` or
|
|
43
|
-
`preview_dev_portal_site`.
|
|
44
|
-
|
|
45
|
-
Optional: `bootstrapProject: true` on create (or `bootstrap_project`) to create the platform project
|
|
46
|
-
without selecting a hosting plan yet.
|
|
47
|
-
|
|
48
|
-
## What to collect
|
|
49
|
-
|
|
50
|
-
Ask only for what is missing:
|
|
51
|
-
|
|
52
|
-
1. **siteDirectory** — where to scaffold (e.g. `./dev-portal`)
|
|
53
|
-
2. **backend** / **openApi** — source directory and/or OpenAPI path or URL
|
|
54
|
-
3. **plans** — SKUs, prices, rate limits (your choice; not invented)
|
|
55
|
-
4. **auth.mode** — `native` | `oidc` | `nativeAndOidc`
|
|
56
|
-
5. **gatewayPolicies.publicRoutes** — e.g. `/health` (other routes stay subscription-key protected
|
|
57
|
-
by default)
|
|
58
|
-
|
|
59
|
-
## Customize after shape
|
|
60
|
-
|
|
61
|
-
Use MCP tools (see [Tools](./tools.md)):
|
|
62
|
-
|
|
63
|
-
- Pages → `add_dev_portal_page` / `update_dev_portal_page` (TSX only; `template`:
|
|
64
|
-
docs|guide|marketing)
|
|
65
|
-
- OpenAPI → `set_dev_portal_openapi`
|
|
66
|
-
- Plans / branding → `update_dev_portal_manifest`
|
|
67
|
-
- Theme → `set_dev_portal_theme`
|
|
68
|
-
|
|
69
|
-
Home page content: hand-edit `landing/LandingPage.tsx` after asking for real copy. Footer:
|
|
70
|
-
`modules.landing.content.footer` in `apitogo.config.json`.
|
|
71
|
-
|
|
72
|
-
Shape-phase edits hot-reload when the local preview is running. Pass `restartPreview: true` on
|
|
73
|
-
manifest updates only when you need mock pricing refreshed.
|
|
74
|
-
|
|
75
|
-
## Next
|
|
76
|
-
|
|
77
|
-
When the site looks right, [go live](./go-live.md).
|
|
1
|
+
---
|
|
2
|
+
title: Shape with MCP
|
|
3
|
+
description:
|
|
4
|
+
Scaffold and customize a developer portal locally with apply_product_intent (mode shape).
|
|
5
|
+
sidebar_icon: pencil-ruler
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
**Shape** means: create or update a local portal site (OpenAPI, plans, auth flags, public routes)
|
|
9
|
+
without publishing. You preview with `npx apitogo run`.
|
|
10
|
+
|
|
11
|
+
## Happy path
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
apply_product_intent({ mode: "shape", siteDirectory, backend?, openApi?, plans?, auth?, gatewayPolicies?, branding? })
|
|
15
|
+
→ scaffold if needed
|
|
16
|
+
→ wire OpenAPI / plans / auth / gateway.publicRoutes
|
|
17
|
+
→ you run npx apitogo run
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Example prompt:
|
|
21
|
+
|
|
22
|
+
> Create a portal in `./dev-portal` for my API in `./api` with Free (100/min) and Pro (1000/min);
|
|
23
|
+
> make `/health` public.
|
|
24
|
+
|
|
25
|
+
Never invent Free + Pro gateway plans unless you ask for them. Never put OIDC or Stripe secrets in
|
|
26
|
+
chat.
|
|
27
|
+
|
|
28
|
+
## Scaffold only
|
|
29
|
+
|
|
30
|
+
If you only want a local site:
|
|
31
|
+
|
|
32
|
+
> Create a dev portal in `./dev-portal-site`.
|
|
33
|
+
|
|
34
|
+
The agent should call **`create_dev_portal`** (or `apply_product_intent` with shape when you also
|
|
35
|
+
pass plans/backend). Then run:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
cd ./dev-portal-site
|
|
39
|
+
npx apitogo run
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`create_dev_portal` does **not** start the preview server. Use `npx apitogo run` or
|
|
43
|
+
`preview_dev_portal_site`.
|
|
44
|
+
|
|
45
|
+
Optional: `bootstrapProject: true` on create (or `bootstrap_project`) to create the platform project
|
|
46
|
+
without selecting a hosting plan yet.
|
|
47
|
+
|
|
48
|
+
## What to collect
|
|
49
|
+
|
|
50
|
+
Ask only for what is missing:
|
|
51
|
+
|
|
52
|
+
1. **siteDirectory** — where to scaffold (e.g. `./dev-portal`)
|
|
53
|
+
2. **backend** / **openApi** — source directory and/or OpenAPI path or URL
|
|
54
|
+
3. **plans** — SKUs, prices, rate limits (your choice; not invented)
|
|
55
|
+
4. **auth.mode** — `native` | `oidc` | `nativeAndOidc`
|
|
56
|
+
5. **gatewayPolicies.publicRoutes** — e.g. `/health` (other routes stay subscription-key protected
|
|
57
|
+
by default)
|
|
58
|
+
|
|
59
|
+
## Customize after shape
|
|
60
|
+
|
|
61
|
+
Use MCP tools (see [Tools](./tools.md)):
|
|
62
|
+
|
|
63
|
+
- Pages → `add_dev_portal_page` / `update_dev_portal_page` (TSX only; `template`:
|
|
64
|
+
docs|guide|marketing)
|
|
65
|
+
- OpenAPI → `set_dev_portal_openapi`
|
|
66
|
+
- Plans / branding → `update_dev_portal_manifest`
|
|
67
|
+
- Theme → `set_dev_portal_theme`
|
|
68
|
+
|
|
69
|
+
Home page content: hand-edit `landing/LandingPage.tsx` after asking for real copy. Footer:
|
|
70
|
+
`modules.landing.content.footer` in `apitogo.config.json`.
|
|
71
|
+
|
|
72
|
+
Shape-phase edits hot-reload when the local preview is running. Pass `restartPreview: true` on
|
|
73
|
+
manifest updates only when you need mock pricing refreshed.
|
|
74
|
+
|
|
75
|
+
## Next
|
|
76
|
+
|
|
77
|
+
When the site looks right, [go live](./go-live.md).
|