@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/cli/setup.md
CHANGED
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Install the CLI
|
|
3
|
-
description:
|
|
4
|
-
Install and invoke the APItoGo CLI to scaffold, configure, preview, and publish developer portals.
|
|
5
|
-
sidebar_icon: terminal
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
Use the **`apitogo`** CLI (`@lukoweb/apitogo`) to scaffold a local portal, shape
|
|
9
|
-
`apitogo.config.json`, preview with `npx apitogo run`, and publish with `npx apitogo deploy`.
|
|
10
|
-
Platform commands (`deploy`, `status`, `teardown`) use the same engine as MCP `publish_dev_portal`.
|
|
11
|
-
|
|
12
|
-
Examples in these docs use **`npx apitogo`** so they run the project-local CLI. A global install is
|
|
13
|
-
optional and not required.
|
|
14
|
-
|
|
15
|
-
## Prerequisites
|
|
16
|
-
|
|
17
|
-
- **Node.js 20+**
|
|
18
|
-
- Platform API credentials from [apitogo.com](https://apitogo.com) when you run `npx apitogo deploy`
|
|
19
|
-
(API key id + secret)
|
|
20
|
-
|
|
21
|
-
## Install
|
|
22
|
-
|
|
23
|
-
The CLI is the npm package **`@lukoweb/apitogo`**. It exposes the **`apitogo`** binary. Scaffold
|
|
24
|
-
commands add it to your project and `npm install` puts it on `node_modules/.bin`. Invoke it with
|
|
25
|
-
`npx apitogo`.
|
|
26
|
-
|
|
27
|
-
### New project (recommended)
|
|
28
|
-
|
|
29
|
-
`npx @lukoweb/apitogo@latest init` creates a config version 2 project in the current folder. It
|
|
30
|
-
shows what it will create and asks first (pass `--yes` to skip the question), writes
|
|
31
|
-
`apitogo.config.json`, uses an existing `docs/` folder in place, and, in a new folder, creates
|
|
32
|
-
`package.json` and installs `@lukoweb/apitogo`, `react` and `react-dom`:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
mkdir my-portal && cd my-portal
|
|
36
|
-
npx @lukoweb/apitogo@latest init --name "Books API"
|
|
37
|
-
npx apitogo run
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
In an existing project the tool never edits your `package.json`. It prints the install command to
|
|
41
|
-
run instead.
|
|
42
|
-
|
|
43
|
-
The older scaffold (a `dev-portal` folder with secrets artifacts and automatic OpenAPI wiring) is
|
|
44
|
-
still available with `--no-v2`:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npx @lukoweb/apitogo@latest init --no-v2
|
|
48
|
-
cd dev-portal
|
|
49
|
-
npx apitogo run
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Named folder or site name:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
npx @lukoweb/apitogo@latest init ./my-portal --name "Books API"
|
|
56
|
-
cd ./my-portal
|
|
57
|
-
npx apitogo run
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
#### Scaffold options
|
|
61
|
-
|
|
62
|
-
| Flag | Effect |
|
|
63
|
-
| ------------------------- | ------------------------------------------------------------------------ |
|
|
64
|
-
| `[dir]` | Target folder (default: the current folder; `dev-portal` with `--no-v2`) |
|
|
65
|
-
| `--name <string>` | Site / package name (also used when `dir` is `.`) |
|
|
66
|
-
| `--no-install` | Skip `npm install` after scaffold |
|
|
67
|
-
| `--no-v2` | Use the older `dev-portal` scaffold instead of config version 2 |
|
|
68
|
-
| `--yes` | Do not ask for confirmation (config version 2) |
|
|
69
|
-
| `--overwrite` | Replace an existing non-empty target directory |
|
|
70
|
-
| `--json` | Print a JSON result payload on stdout |
|
|
71
|
-
| `--openapi-search <mode>` | Auto-discover OpenAPI: `nearby` (default), `site`, or `none` |
|
|
72
|
-
|
|
73
|
-
`npx @lukoweb/apitogo init` is local only — it does not call the platform. After `config`, run
|
|
74
|
-
`npx apitogo run` to preview, then `npx apitogo deploy` when ready to go live.
|
|
75
|
-
|
|
76
|
-
### How to run `apitogo`
|
|
77
|
-
|
|
78
|
-
| Situation | Command |
|
|
79
|
-
| --------------------------------------------------------- | --------------------------------------------------- |
|
|
80
|
-
| After `init` or `npm install` in the project | `npx apitogo <command>` (e.g. `npx apitogo config`) |
|
|
81
|
-
| One-off, no project yet | `npx @lukoweb/apitogo <command>` |
|
|
82
|
-
| After [optional global install](#optional-global-install) | `apitogo <command>` anywhere |
|
|
83
|
-
|
|
84
|
-
`npm run dev` / `npm run build` use the project-local CLI via `package.json` scripts — no global
|
|
85
|
-
install required.
|
|
86
|
-
|
|
87
|
-
### Optional global install
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
npm install -g @lukoweb/apitogo
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Then run `apitogo` from any directory:
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
apitogo --help
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Upgrade later with `npm install -g @lukoweb/apitogo@latest`. Uninstall with
|
|
100
|
-
`npm uninstall -g @lukoweb/apitogo`. Prefer `npx apitogo` in projects so each site uses the version
|
|
101
|
-
in its `package.json`.
|
|
102
|
-
|
|
103
|
-
## Platform credentials
|
|
104
|
-
|
|
105
|
-
Export these before `npx apitogo deploy`, `npx apitogo status`, or `npx apitogo teardown`:
|
|
106
|
-
|
|
107
|
-
| Variable | Required | Purpose |
|
|
108
|
-
| -------------------- | -------- | ----------------- |
|
|
109
|
-
| `APITOGO_API_KEY_ID` | Yes | Platform API auth |
|
|
110
|
-
| `APITOGO_API_SECRET` | Yes | Platform API auth |
|
|
111
|
-
|
|
112
|
-
Optional:
|
|
113
|
-
|
|
114
|
-
| Variable | Purpose |
|
|
115
|
-
| ------------------ | ---------------------------------------------------------- |
|
|
116
|
-
| `APITOGO_API_URL` | Override platform API base URL |
|
|
117
|
-
| `APITOGO_CLI_PATH` | Local `@lukoweb/apitogo` / doc-tool checkout for MCP spawn |
|
|
118
|
-
|
|
119
|
-
Never commit secrets. Site auth secrets (OIDC, Stripe) belong in the portal **`.env`** as
|
|
120
|
-
`APITOGO_CONFIG_AUTHENTICATION__*` — see [Go live](./go-live.md).
|
|
121
|
-
|
|
122
|
-
## Verify
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
npx apitogo --help
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
You should see `init`, `config`, `run`, `build`, `deploy`, `status`, and `teardown`.
|
|
129
|
-
|
|
130
|
-
With credentials set:
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
npx apitogo status
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
## Next
|
|
137
|
-
|
|
138
|
-
- [CLI overview](./overview.md)
|
|
139
|
-
- [Shape](./shape.md) — scaffold and local preview
|
|
140
|
-
- [Go live](./go-live.md) — `npx apitogo deploy`
|
|
141
|
-
- [Commands](./commands.md) — full catalog
|
|
1
|
+
---
|
|
2
|
+
title: Install the CLI
|
|
3
|
+
description:
|
|
4
|
+
Install and invoke the APItoGo CLI to scaffold, configure, preview, and publish developer portals.
|
|
5
|
+
sidebar_icon: terminal
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Use the **`apitogo`** CLI (`@lukoweb/apitogo`) to scaffold a local portal, shape
|
|
9
|
+
`apitogo.config.json`, preview with `npx apitogo run`, and publish with `npx apitogo deploy`.
|
|
10
|
+
Platform commands (`deploy`, `status`, `teardown`) use the same engine as MCP `publish_dev_portal`.
|
|
11
|
+
|
|
12
|
+
Examples in these docs use **`npx apitogo`** so they run the project-local CLI. A global install is
|
|
13
|
+
optional and not required.
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
- **Node.js 20+**
|
|
18
|
+
- Platform API credentials from [apitogo.com](https://apitogo.com) when you run `npx apitogo deploy`
|
|
19
|
+
(API key id + secret)
|
|
20
|
+
|
|
21
|
+
## Install
|
|
22
|
+
|
|
23
|
+
The CLI is the npm package **`@lukoweb/apitogo`**. It exposes the **`apitogo`** binary. Scaffold
|
|
24
|
+
commands add it to your project and `npm install` puts it on `node_modules/.bin`. Invoke it with
|
|
25
|
+
`npx apitogo`.
|
|
26
|
+
|
|
27
|
+
### New project (recommended)
|
|
28
|
+
|
|
29
|
+
`npx @lukoweb/apitogo@latest init` creates a config version 2 project in the current folder. It
|
|
30
|
+
shows what it will create and asks first (pass `--yes` to skip the question), writes
|
|
31
|
+
`apitogo.config.json`, uses an existing `docs/` folder in place, and, in a new folder, creates
|
|
32
|
+
`package.json` and installs `@lukoweb/apitogo`, `react` and `react-dom`:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
mkdir my-portal && cd my-portal
|
|
36
|
+
npx @lukoweb/apitogo@latest init --name "Books API"
|
|
37
|
+
npx apitogo run
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
In an existing project the tool never edits your `package.json`. It prints the install command to
|
|
41
|
+
run instead.
|
|
42
|
+
|
|
43
|
+
The older scaffold (a `dev-portal` folder with secrets artifacts and automatic OpenAPI wiring) is
|
|
44
|
+
still available with `--no-v2`:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx @lukoweb/apitogo@latest init --no-v2
|
|
48
|
+
cd dev-portal
|
|
49
|
+
npx apitogo run
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Named folder or site name:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx @lukoweb/apitogo@latest init ./my-portal --name "Books API"
|
|
56
|
+
cd ./my-portal
|
|
57
|
+
npx apitogo run
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### Scaffold options
|
|
61
|
+
|
|
62
|
+
| Flag | Effect |
|
|
63
|
+
| ------------------------- | ------------------------------------------------------------------------ |
|
|
64
|
+
| `[dir]` | Target folder (default: the current folder; `dev-portal` with `--no-v2`) |
|
|
65
|
+
| `--name <string>` | Site / package name (also used when `dir` is `.`) |
|
|
66
|
+
| `--no-install` | Skip `npm install` after scaffold |
|
|
67
|
+
| `--no-v2` | Use the older `dev-portal` scaffold instead of config version 2 |
|
|
68
|
+
| `--yes` | Do not ask for confirmation (config version 2) |
|
|
69
|
+
| `--overwrite` | Replace an existing non-empty target directory |
|
|
70
|
+
| `--json` | Print a JSON result payload on stdout |
|
|
71
|
+
| `--openapi-search <mode>` | Auto-discover OpenAPI: `nearby` (default), `site`, or `none` |
|
|
72
|
+
|
|
73
|
+
`npx @lukoweb/apitogo init` is local only — it does not call the platform. After `config`, run
|
|
74
|
+
`npx apitogo run` to preview, then `npx apitogo deploy` when ready to go live.
|
|
75
|
+
|
|
76
|
+
### How to run `apitogo`
|
|
77
|
+
|
|
78
|
+
| Situation | Command |
|
|
79
|
+
| --------------------------------------------------------- | --------------------------------------------------- |
|
|
80
|
+
| After `init` or `npm install` in the project | `npx apitogo <command>` (e.g. `npx apitogo config`) |
|
|
81
|
+
| One-off, no project yet | `npx @lukoweb/apitogo <command>` |
|
|
82
|
+
| After [optional global install](#optional-global-install) | `apitogo <command>` anywhere |
|
|
83
|
+
|
|
84
|
+
`npm run dev` / `npm run build` use the project-local CLI via `package.json` scripts — no global
|
|
85
|
+
install required.
|
|
86
|
+
|
|
87
|
+
### Optional global install
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npm install -g @lukoweb/apitogo
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Then run `apitogo` from any directory:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
apitogo --help
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Upgrade later with `npm install -g @lukoweb/apitogo@latest`. Uninstall with
|
|
100
|
+
`npm uninstall -g @lukoweb/apitogo`. Prefer `npx apitogo` in projects so each site uses the version
|
|
101
|
+
in its `package.json`.
|
|
102
|
+
|
|
103
|
+
## Platform credentials
|
|
104
|
+
|
|
105
|
+
Export these before `npx apitogo deploy`, `npx apitogo status`, or `npx apitogo teardown`:
|
|
106
|
+
|
|
107
|
+
| Variable | Required | Purpose |
|
|
108
|
+
| -------------------- | -------- | ----------------- |
|
|
109
|
+
| `APITOGO_API_KEY_ID` | Yes | Platform API auth |
|
|
110
|
+
| `APITOGO_API_SECRET` | Yes | Platform API auth |
|
|
111
|
+
|
|
112
|
+
Optional:
|
|
113
|
+
|
|
114
|
+
| Variable | Purpose |
|
|
115
|
+
| ------------------ | ---------------------------------------------------------- |
|
|
116
|
+
| `APITOGO_API_URL` | Override platform API base URL |
|
|
117
|
+
| `APITOGO_CLI_PATH` | Local `@lukoweb/apitogo` / doc-tool checkout for MCP spawn |
|
|
118
|
+
|
|
119
|
+
Never commit secrets. Site auth secrets (OIDC, Stripe) belong in the portal **`.env`** as
|
|
120
|
+
`APITOGO_CONFIG_AUTHENTICATION__*` — see [Go live](./go-live.md).
|
|
121
|
+
|
|
122
|
+
## Verify
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npx apitogo --help
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
You should see `init`, `config`, `run`, `build`, `deploy`, `status`, and `teardown`.
|
|
129
|
+
|
|
130
|
+
With credentials set:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
npx apitogo status
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Next
|
|
137
|
+
|
|
138
|
+
- [CLI overview](./overview.md)
|
|
139
|
+
- [Shape](./shape.md) — scaffold and local preview
|
|
140
|
+
- [Go live](./go-live.md) — `npx apitogo deploy`
|
|
141
|
+
- [Commands](./commands.md) — full catalog
|
package/docs/cli/shape.md
CHANGED
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Shape with CLI
|
|
3
|
-
description:
|
|
4
|
-
Scaffold and customize a developer portal locally with npx apitogo init, config, and run.
|
|
5
|
-
sidebar_icon: pencil-ruler
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**Shape** means: create or update a local portal site (OpenAPI, plans, docs pages, auth) without
|
|
9
|
-
publishing. You preview with `npx apitogo run`.
|
|
10
|
-
|
|
11
|
-
Requires the **`apitogo`** CLI (`@lukoweb/apitogo`). If you have not installed it yet, see
|
|
12
|
-
[Install the CLI](./setup.md).
|
|
13
|
-
|
|
14
|
-
## Happy path
|
|
15
|
-
|
|
16
|
-
`npx @lukoweb/apitogo@latest init` scaffolds into `./dev-portal` by default (pass a folder name or
|
|
17
|
-
`--name` to override), installs dependencies, and wires nearby OpenAPI / docs. Then run config via
|
|
18
|
-
`npx`:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npx @lukoweb/apitogo@latest init
|
|
22
|
-
cd dev-portal
|
|
23
|
-
npx apitogo config # backend, OpenAPI, pages, plans (apply each immediately)
|
|
24
|
-
npx apitogo run # http://localhost:3000
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Named folder:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npx @lukoweb/apitogo@latest init ./my-portal --name "Books API"
|
|
31
|
-
cd ./my-portal
|
|
32
|
-
npx apitogo config
|
|
33
|
-
npx apitogo run
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
`npx @lukoweb/apitogo init` does **not** call the platform. Run `npx apitogo deploy` when you are
|
|
37
|
-
ready to go live.
|
|
38
|
-
|
|
39
|
-
## Interactive config (`npx apitogo config`)
|
|
40
|
-
|
|
41
|
-
On a TTY, bare `npx apitogo config` opens the wizard. Each choice is written immediately; the loop
|
|
42
|
-
continues until you type `done`:
|
|
43
|
-
|
|
44
|
-
| Choice | What it does |
|
|
45
|
-
| --------- | ----------------------------------------------------------------------- |
|
|
46
|
-
| `backend` | Set `backend.sourceDirectory`, `runtime`, and platform `runtimeVersion` |
|
|
47
|
-
| `openapi` | Link an OpenAPI file by **relative path** in `apitogo.config.json` |
|
|
48
|
-
| `page` | Create `pages/<slug>.tsx` and wire it in navigation |
|
|
49
|
-
| `plan` | Add a gateway plan (title, price, rate limit, monthly quota) |
|
|
50
|
-
|
|
51
|
-
Authentication is **on by default** — the wizard does not ask for an auth API URL.
|
|
52
|
-
`npx apitogo deploy` fills `VITE_APITOGO_AUTHENTICATION_API_BASE_URL` after the portal backend
|
|
53
|
-
exists.
|
|
54
|
-
|
|
55
|
-
Fonts and colors are **not** prompted — edit `apitogo.config.json` or see
|
|
56
|
-
[Colors & theme](../customization/colors-theme.mdx).
|
|
57
|
-
|
|
58
|
-
**Paid plans:** if any plan has `priceAmount > 0`, you need **Starter** or **Professional** platform
|
|
59
|
-
hosting on deploy. **Free** cannot publish paid gateway plans or custom domains.
|
|
60
|
-
|
|
61
|
-
Full reference: [Make config (CLI)](../configuration/make-config.mdx) ·
|
|
62
|
-
[Gateway plans](../configuration/plans.md)
|
|
63
|
-
|
|
64
|
-
## Configure with flags
|
|
65
|
-
|
|
66
|
-
Writes or updates **`apitogo.config.json`**. Can create `package.json`, `tsconfig.json`, and portal
|
|
67
|
-
stubs when missing. Scans `pages/` for navigation and wires OpenAPI when a spec is found.
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
npx apitogo config
|
|
71
|
-
npx apitogo config --title "Books API"
|
|
72
|
-
npx apitogo config --theme '{"light":{"primary":"#111111"}}'
|
|
73
|
-
npx apitogo config --no-interactive
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Common flags:
|
|
77
|
-
|
|
78
|
-
| Flag | Purpose |
|
|
79
|
-
| --------------------------------------- | ---------------------------------------------------------- |
|
|
80
|
-
| `--interactive` / `-i` | Force wizard (default on TTY). `--no-interactive` skips it |
|
|
81
|
-
| `--title` | Set `site.title` |
|
|
82
|
-
| `--theme`, `--site`, `--authentication` | Deep-merge JSON into config |
|
|
83
|
-
| `--pages-dir` | Folder to scan (default: `pages`) |
|
|
84
|
-
| `--force` | Rebuild Documentation nav from disk |
|
|
85
|
-
|
|
86
|
-
## Shape by editing files
|
|
87
|
-
|
|
88
|
-
After `npx apitogo config`, edit the manifest and site files directly:
|
|
89
|
-
|
|
90
|
-
- **Plans, branding, backend, projectId** — `apitogo.config.json`
|
|
91
|
-
- **Docs pages** — `pages/**/*.mdx` or `.tsx`
|
|
92
|
-
- **Home page** — `landing/LandingPage.tsx`
|
|
93
|
-
- **Footer** — `modules.landing.content.footer` in `apitogo.config.json`
|
|
94
|
-
|
|
95
|
-
Never put OIDC or Stripe secrets in `apitogo.config.json`. Use `.env` with
|
|
96
|
-
`APITOGO_CONFIG_AUTHENTICATION__*` before publish.
|
|
97
|
-
|
|
98
|
-
## Preview locally
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
npx apitogo run
|
|
102
|
-
npx apitogo run --port 4000 --open
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Production build check:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
npx apitogo build
|
|
109
|
-
npx apitogo build --preview
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Shape-phase edits hot-reload when the dev server is running.
|
|
113
|
-
|
|
114
|
-
## Existing docs + OpenAPI folder
|
|
115
|
-
|
|
116
|
-
If you already have `pages/` and an OpenAPI spec:
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
npx @lukoweb/apitogo@latest init
|
|
120
|
-
cd dev-portal
|
|
121
|
-
npx apitogo config
|
|
122
|
-
npx apitogo run
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## Next
|
|
126
|
-
|
|
127
|
-
When the site looks right, [go live](./go-live.md) with `npx apitogo deploy`.
|
|
1
|
+
---
|
|
2
|
+
title: Shape with CLI
|
|
3
|
+
description:
|
|
4
|
+
Scaffold and customize a developer portal locally with npx apitogo init, config, and run.
|
|
5
|
+
sidebar_icon: pencil-ruler
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
**Shape** means: create or update a local portal site (OpenAPI, plans, docs pages, auth) without
|
|
9
|
+
publishing. You preview with `npx apitogo run`.
|
|
10
|
+
|
|
11
|
+
Requires the **`apitogo`** CLI (`@lukoweb/apitogo`). If you have not installed it yet, see
|
|
12
|
+
[Install the CLI](./setup.md).
|
|
13
|
+
|
|
14
|
+
## Happy path
|
|
15
|
+
|
|
16
|
+
`npx @lukoweb/apitogo@latest init` scaffolds into `./dev-portal` by default (pass a folder name or
|
|
17
|
+
`--name` to override), installs dependencies, and wires nearby OpenAPI / docs. Then run config via
|
|
18
|
+
`npx`:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx @lukoweb/apitogo@latest init
|
|
22
|
+
cd dev-portal
|
|
23
|
+
npx apitogo config # backend, OpenAPI, pages, plans (apply each immediately)
|
|
24
|
+
npx apitogo run # http://localhost:3000
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Named folder:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx @lukoweb/apitogo@latest init ./my-portal --name "Books API"
|
|
31
|
+
cd ./my-portal
|
|
32
|
+
npx apitogo config
|
|
33
|
+
npx apitogo run
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`npx @lukoweb/apitogo init` does **not** call the platform. Run `npx apitogo deploy` when you are
|
|
37
|
+
ready to go live.
|
|
38
|
+
|
|
39
|
+
## Interactive config (`npx apitogo config`)
|
|
40
|
+
|
|
41
|
+
On a TTY, bare `npx apitogo config` opens the wizard. Each choice is written immediately; the loop
|
|
42
|
+
continues until you type `done`:
|
|
43
|
+
|
|
44
|
+
| Choice | What it does |
|
|
45
|
+
| --------- | ----------------------------------------------------------------------- |
|
|
46
|
+
| `backend` | Set `backend.sourceDirectory`, `runtime`, and platform `runtimeVersion` |
|
|
47
|
+
| `openapi` | Link an OpenAPI file by **relative path** in `apitogo.config.json` |
|
|
48
|
+
| `page` | Create `pages/<slug>.tsx` and wire it in navigation |
|
|
49
|
+
| `plan` | Add a gateway plan (title, price, rate limit, monthly quota) |
|
|
50
|
+
|
|
51
|
+
Authentication is **on by default** — the wizard does not ask for an auth API URL.
|
|
52
|
+
`npx apitogo deploy` fills `VITE_APITOGO_AUTHENTICATION_API_BASE_URL` after the portal backend
|
|
53
|
+
exists.
|
|
54
|
+
|
|
55
|
+
Fonts and colors are **not** prompted — edit `apitogo.config.json` or see
|
|
56
|
+
[Colors & theme](../customization/colors-theme.mdx).
|
|
57
|
+
|
|
58
|
+
**Paid plans:** if any plan has `priceAmount > 0`, you need **Starter** or **Professional** platform
|
|
59
|
+
hosting on deploy. **Free** cannot publish paid gateway plans or custom domains.
|
|
60
|
+
|
|
61
|
+
Full reference: [Make config (CLI)](../configuration/make-config.mdx) ·
|
|
62
|
+
[Gateway plans](../configuration/plans.md)
|
|
63
|
+
|
|
64
|
+
## Configure with flags
|
|
65
|
+
|
|
66
|
+
Writes or updates **`apitogo.config.json`**. Can create `package.json`, `tsconfig.json`, and portal
|
|
67
|
+
stubs when missing. Scans `pages/` for navigation and wires OpenAPI when a spec is found.
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx apitogo config
|
|
71
|
+
npx apitogo config --title "Books API"
|
|
72
|
+
npx apitogo config --theme '{"light":{"primary":"#111111"}}'
|
|
73
|
+
npx apitogo config --no-interactive
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Common flags:
|
|
77
|
+
|
|
78
|
+
| Flag | Purpose |
|
|
79
|
+
| --------------------------------------- | ---------------------------------------------------------- |
|
|
80
|
+
| `--interactive` / `-i` | Force wizard (default on TTY). `--no-interactive` skips it |
|
|
81
|
+
| `--title` | Set `site.title` |
|
|
82
|
+
| `--theme`, `--site`, `--authentication` | Deep-merge JSON into config |
|
|
83
|
+
| `--pages-dir` | Folder to scan (default: `pages`) |
|
|
84
|
+
| `--force` | Rebuild Documentation nav from disk |
|
|
85
|
+
|
|
86
|
+
## Shape by editing files
|
|
87
|
+
|
|
88
|
+
After `npx apitogo config`, edit the manifest and site files directly:
|
|
89
|
+
|
|
90
|
+
- **Plans, branding, backend, projectId** — `apitogo.config.json`
|
|
91
|
+
- **Docs pages** — `pages/**/*.mdx` or `.tsx`
|
|
92
|
+
- **Home page** — `landing/LandingPage.tsx`
|
|
93
|
+
- **Footer** — `modules.landing.content.footer` in `apitogo.config.json`
|
|
94
|
+
|
|
95
|
+
Never put OIDC or Stripe secrets in `apitogo.config.json`. Use `.env` with
|
|
96
|
+
`APITOGO_CONFIG_AUTHENTICATION__*` before publish.
|
|
97
|
+
|
|
98
|
+
## Preview locally
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npx apitogo run
|
|
102
|
+
npx apitogo run --port 4000 --open
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Production build check:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npx apitogo build
|
|
109
|
+
npx apitogo build --preview
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Shape-phase edits hot-reload when the dev server is running.
|
|
113
|
+
|
|
114
|
+
## Existing docs + OpenAPI folder
|
|
115
|
+
|
|
116
|
+
If you already have `pages/` and an OpenAPI spec:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
npx @lukoweb/apitogo@latest init
|
|
120
|
+
cd dev-portal
|
|
121
|
+
npx apitogo config
|
|
122
|
+
npx apitogo run
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Next
|
|
126
|
+
|
|
127
|
+
When the site looks right, [go live](./go-live.md) with `npx apitogo deploy`.
|