@lukoweb/apitogo 0.1.105 → 0.1.107
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 +25 -23
- package/dist/cli/cli.js +36 -18
- package/docs/cli/commands.md +33 -34
- package/docs/cli/overview.md +24 -23
- package/docs/cli/setup.md +27 -46
- package/docs/cli/shape.md +33 -29
- package/docs/configuration/authentication.md +1 -1
- package/docs/configuration/footer.mdx +7 -7
- package/docs/configuration/make-config.mdx +33 -33
- package/docs/mcp/shape.md +4 -4
- package/docs/quickstart.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<img src="./assets/3.png" width=630 alt="APIToGo Docs & Developer Portal">
|
|
5
5
|
</a>
|
|
6
6
|
|
|
7
|
-
[](./LICENSE.md)
|
|
8
|
+
[](https://github.com/zuplo/zudoku)
|
|
9
9
|
|
|
10
10
|
</div>
|
|
11
11
|
|
|
@@ -13,40 +13,41 @@
|
|
|
13
13
|
|
|
14
14
|
API documentation should always be free.
|
|
15
15
|
|
|
16
|
-
<a href="#-installation"><strong>Installation</strong></a> ·
|
|
16
|
+
<a href="#-installation"><strong>Installation</strong></a> ·
|
|
17
|
+
<a href="#-examples"><strong>Examples</strong></a> ·
|
|
18
|
+
<a href="#-contributing--community"><strong>Contributing</strong></a> ·
|
|
19
|
+
<a href="#-motivation"><strong>Motivation</strong></a>
|
|
17
20
|
|
|
18
21
|
---
|
|
19
22
|
|
|
20
23
|
## 📢 Attribution
|
|
21
24
|
|
|
22
|
-
This project is **based on [Zudoku](https://github.com/zuplo/zudoku)**, an open-source API
|
|
23
|
-
Modifications, branding, and extensions by **APIToGo**.
|
|
25
|
+
This project is **based on [Zudoku](https://github.com/zuplo/zudoku)**, an open-source API
|
|
26
|
+
documentation framework licensed under MIT. Modifications, branding, and extensions by **APIToGo**.
|
|
24
27
|
|
|
25
28
|
---
|
|
26
29
|
|
|
27
30
|
## Introduction
|
|
28
31
|
|
|
29
|
-
**APIToGo** is a customizable API documentation framework for building high-quality developer
|
|
32
|
+
**APIToGo** is a customizable API documentation framework for building high-quality developer
|
|
33
|
+
experiences around OpenAPI (and future GraphQL support).
|
|
30
34
|
|
|
31
35
|
Built on top of Zudoku, with enhancements and branding tailored for APIToGo.
|
|
32
36
|
|
|
33
37
|
Because great API documentation frameworks should be:
|
|
34
38
|
|
|
35
|
-
🌍 Free & Open Source
|
|
36
|
-
✅ OpenAPI powered
|
|
37
|
-
🔩 Extensible with Plugins
|
|
38
|
-
⚡ Fast and developer-friendly
|
|
39
|
+
🌍 Free & Open Source ✅ OpenAPI powered 🔩 Extensible with Plugins ⚡ Fast and developer-friendly
|
|
39
40
|
🔧 Easy to maintain
|
|
40
41
|
|
|
41
42
|
---
|
|
42
43
|
|
|
43
44
|
## ✨ Features
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
- 🚀 Generate documentation from single or multiple OpenAPI schemas
|
|
47
|
+
- 📄 Create MDX pages for custom documentation
|
|
48
|
+
- 🔐 Authentication via OpenID or OAuth2
|
|
49
|
+
- 🧪 Built-in API playground
|
|
50
|
+
- 🌑 Dark mode support
|
|
50
51
|
|
|
51
52
|
---
|
|
52
53
|
|
|
@@ -55,18 +56,18 @@ Because great API documentation frameworks should be:
|
|
|
55
56
|
### ⚡️ Quick start
|
|
56
57
|
|
|
57
58
|
```
|
|
58
|
-
|
|
59
|
+
npx @lukoweb/apitogo@latest init
|
|
59
60
|
```
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
_(You may later replace this with your own CLI if you build one)_
|
|
62
63
|
|
|
63
64
|
---
|
|
64
65
|
|
|
65
66
|
## 🎓 Examples
|
|
66
67
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
- API documentation portals
|
|
69
|
+
- Developer portals with authentication
|
|
70
|
+
- Internal API documentation systems
|
|
70
71
|
|
|
71
72
|
---
|
|
72
73
|
|
|
@@ -78,7 +79,8 @@ Contributions are welcome. Please follow standard GitHub workflows.
|
|
|
78
79
|
|
|
79
80
|
## 🎯 Motivation
|
|
80
81
|
|
|
81
|
-
APIToGo builds on the solid foundation of Zudoku to provide a customizable and scalable API
|
|
82
|
+
APIToGo builds on the solid foundation of Zudoku to provide a customizable and scalable API
|
|
83
|
+
documentation solution.
|
|
82
84
|
|
|
83
85
|
---
|
|
84
86
|
|
|
@@ -86,7 +88,7 @@ APIToGo builds on the solid foundation of Zudoku to provide a customizable and s
|
|
|
86
88
|
|
|
87
89
|
This project is licensed under the MIT License.
|
|
88
90
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
- Original work: Zudoku (© Zuplo)
|
|
92
|
+
- Modifications: APIToGo
|
|
91
93
|
|
|
92
94
|
See the full [LICENSE](./LICENSE.md).
|
package/dist/cli/cli.js
CHANGED
|
@@ -5801,7 +5801,7 @@ import {
|
|
|
5801
5801
|
// package.json
|
|
5802
5802
|
var package_default = {
|
|
5803
5803
|
name: "@lukoweb/apitogo",
|
|
5804
|
-
version: "0.1.
|
|
5804
|
+
version: "0.1.107",
|
|
5805
5805
|
type: "module",
|
|
5806
5806
|
sideEffects: [
|
|
5807
5807
|
"**/*.css",
|
|
@@ -14846,6 +14846,33 @@ import path48 from "node:path";
|
|
|
14846
14846
|
|
|
14847
14847
|
// src/cli/make-config/json-config.ts
|
|
14848
14848
|
import path47 from "node:path";
|
|
14849
|
+
|
|
14850
|
+
// src/cli/make-config/branding-assets.ts
|
|
14851
|
+
var LOGO_LIGHT = `<svg xmlns="http://www.w3.org/2000/svg" width="34" height="16" viewBox="0 0 34 16" fill="none" style="color: #0a0a0a">
|
|
14852
|
+
<circle cx="4" cy="8" r="2.6" stroke="currentColor" stroke-width="1.7"></circle>
|
|
14853
|
+
<line x1="6.6" y1="8" x2="13" y2="8" stroke="currentColor" stroke-width="1.7"></line>
|
|
14854
|
+
<circle cx="18" cy="8" r="4.6" stroke="currentColor" stroke-width="1.7"></circle>
|
|
14855
|
+
<line x1="22.6" y1="8" x2="28" y2="8" stroke="currentColor" stroke-width="1.7"></line>
|
|
14856
|
+
<circle cx="30.4" cy="8" r="2.6" fill="currentColor"></circle>
|
|
14857
|
+
</svg>
|
|
14858
|
+
`;
|
|
14859
|
+
var LOGO_DARK = `<svg xmlns="http://www.w3.org/2000/svg" width="34" height="16" viewBox="0 0 34 16" fill="none" style="color: #ffffff">
|
|
14860
|
+
<circle cx="4" cy="8" r="2.6" stroke="currentColor" stroke-width="1.7"></circle>
|
|
14861
|
+
<line x1="6.6" y1="8" x2="13" y2="8" stroke="currentColor" stroke-width="1.7"></line>
|
|
14862
|
+
<circle cx="18" cy="8" r="4.6" stroke="currentColor" stroke-width="1.7"></circle>
|
|
14863
|
+
<line x1="22.6" y1="8" x2="28" y2="8" stroke="currentColor" stroke-width="1.7"></line>
|
|
14864
|
+
<circle cx="30.4" cy="8" r="2.6" fill="currentColor"></circle>
|
|
14865
|
+
</svg>
|
|
14866
|
+
`;
|
|
14867
|
+
var DEFAULT_SITE_LOGO = {
|
|
14868
|
+
src: { light: "/logo-light.svg", dark: "/logo-dark.svg" }
|
|
14869
|
+
};
|
|
14870
|
+
var BRANDING_ASSETS = [
|
|
14871
|
+
{ name: "logo-light.svg", content: LOGO_LIGHT },
|
|
14872
|
+
{ name: "logo-dark.svg", content: LOGO_DARK }
|
|
14873
|
+
];
|
|
14874
|
+
|
|
14875
|
+
// src/cli/make-config/json-config.ts
|
|
14849
14876
|
var APITOGO_JSON_FILENAME = "apitogo.config.json";
|
|
14850
14877
|
var DOCUMENTATION_NAV_LABEL2 = "Documentation";
|
|
14851
14878
|
var API_REFERENCE_PATH = "/api";
|
|
@@ -14889,7 +14916,10 @@ function createDefaultApitogoJsonConfig(options) {
|
|
|
14889
14916
|
return {
|
|
14890
14917
|
site: {
|
|
14891
14918
|
title: options.title,
|
|
14892
|
-
showTitleInHeader: true
|
|
14919
|
+
showTitleInHeader: true,
|
|
14920
|
+
logo: {
|
|
14921
|
+
src: { ...DEFAULT_SITE_LOGO.src }
|
|
14922
|
+
}
|
|
14893
14923
|
},
|
|
14894
14924
|
authentication: {
|
|
14895
14925
|
enabled: true,
|
|
@@ -15679,18 +15709,6 @@ import { access as access7, mkdir as mkdir9, readFile as readFile13, writeFile a
|
|
|
15679
15709
|
import path49 from "node:path";
|
|
15680
15710
|
import { glob as glob4 } from "glob";
|
|
15681
15711
|
|
|
15682
|
-
// src/cli/make-config/branding-assets.ts
|
|
15683
|
-
var BRANDING_ASSETS = [
|
|
15684
|
-
{
|
|
15685
|
-
name: "logo-light.svg",
|
|
15686
|
-
content: '<?xml version="1.0" encoding="UTF-8"?>\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="624" height="112">\n<path d="M0 0 C8.91 0 17.82 0 27 0 C29.6532854 6.6332135 32.16700564 13.19822768 34.43359375 19.95703125 C34.90557945 21.35200584 34.90557945 21.35200584 35.38710022 22.77516174 C36.05895637 24.76101635 36.72970216 26.74724692 37.39941406 28.73382568 C43.53038105 46.91656945 49.77621685 65.05472302 56.18920898 83.13989258 C56.44874863 83.87328354 56.70828827 84.6066745 56.97569275 85.36228943 C57.45781027 86.72395436 57.94133847 88.08512096 58.42652893 89.44569397 C60 93.88838012 60 93.88838012 60 95 C52.41 95 44.82 95 37 95 C34.69 88.4 32.38 81.8 30 75 C19.11 74.67 8.22 74.34 -3 74 C-3.99 77.63 -4.98 81.26 -6 85 C-7.98 89.95 -7.98 89.95 -10 95 C-17.26 95 -24.52 95 -32 95 C-30.78144724 89.51651257 -29.67810609 84.66615392 -27.88037109 79.45239258 C-27.46588715 78.24275345 -27.0514032 77.03311432 -26.62435913 75.78681946 C-26.17420669 74.48933635 -25.72389513 73.19190844 -25.2734375 71.89453125 C-24.80184161 70.52533118 -24.33062771 69.15599949 -23.85977173 67.7865448 C-22.8725657 64.91858201 -21.88215857 62.0517533 -20.88916016 59.18579102 C-19.64085069 55.582789 -18.39833271 51.97782679 -17.15795517 48.37208748 C-11.59046573 32.1910664 -5.90333009 16.06238627 0 0 Z M13 23 C11.57023217 27.35813007 10.14622932 31.71808526 8.72753906 36.07983398 C8.24409497 37.56342333 7.75907875 39.04650134 7.27246094 40.52905273 C6.57333176 42.65996993 5.87987457 44.79266126 5.1875 46.92578125 C4.96876221 47.58838455 4.75002441 48.25098785 4.5246582 48.93367004 C3.61452414 51.75405555 3 54.01399134 3 57 C9.93 57 16.86 57 24 57 C23.27817771 51.94724396 22.53386196 48.12080493 20.93359375 43.41015625 C20.53076172 42.21455078 20.12792969 41.01894531 19.71289062 39.78710938 C19.29201172 38.55798828 18.87113281 37.32886719 18.4375 36.0625 C18.00790487 34.79380883 17.57886341 33.52493004 17.15039062 32.25585938 C16.10568206 29.16868688 15.05540218 26.08352965 14 23 C13.67 23 13.34 23 13 23 Z " fill="#000000" transform="translate(43,8)"/>\n<path d="M0 0 C54.15271967 0 54.15271967 0 64 9 C71.07899361 18.1860174 73.05451205 27.56054652 72 39 C69.99118363 48.2501784 65.36386942 54.2450426 58.3125 60.3125 C46.44776251 66.35680023 33.97471886 65.23734242 21 65 C21 74.9 21 84.8 21 95 C14.07 95 7.14 95 0 95 C0 63.65 0 32.3 0 0 Z M21 17 C21 27.23 21 37.46 21 48 C33.44032397 48.72137403 33.44032397 48.72137403 45 45 C49.77420067 39.98096852 50.35191723 36.51434551 50.28125 29.765625 C49.88814794 25.9001214 48.61907755 23.83143519 46 21 C40.44461415 16.97234526 35.43224069 16.86135103 28.75 16.9375 C24.91375 16.9684375 24.91375 16.9684375 21 17 Z " fill="#000000" transform="translate(114,8)"/>\n<path d="M0 0 C1.06033447 0.01023193 2.12066895 0.02046387 3.21313477 0.03100586 C10.77911447 0.23722861 16.7654445 1.10820939 23.0625 5.5625 C23.85269531 6.07039063 24.64289063 6.57828125 25.45703125 7.1015625 C33.72248942 12.88601249 39.23689254 20.92219219 42.0625 30.5625 C42.0625 31.8825 42.0625 33.2025 42.0625 34.5625 C38.7625 34.5625 35.4625 34.5625 32.0625 34.5625 C31.73378906 33.86125 31.40507812 33.16 31.06640625 32.4375 C26.5996742 23.52824583 20.65345645 16.18575021 11.0625 12.5625 C2.69877965 10.51803503 -6.54108619 10.68011515 -14.2265625 14.78515625 C-22.11405932 19.73132901 -28.35793488 26.10064271 -30.625 35.375 C-31.56933308 45.00719738 -30.96731768 53.6337758 -25.25 61.8125 C-18.23131532 70.32781598 -10.33285228 73.77014083 0.5625 74.9375 C10.85243707 73.83500674 18.18329286 70.7127742 25.3125 63.1875 C27.58464213 59.7792868 29.30612491 56.26343322 31.0625 52.5625 C34.6925 52.5625 38.3225 52.5625 42.0625 52.5625 C39.46109253 63.78106972 33.80757518 71.95428408 24.7265625 79.02734375 C16.60878228 83.70518485 9.46422322 85.2603725 0.125 85.125 C-0.93533447 85.11476807 -1.99566895 85.10453613 -3.08813477 85.09399414 C-10.65411447 84.88777139 -16.6404445 84.01679061 -22.9375 79.5625 C-23.72769531 79.05460937 -24.51789063 78.54671875 -25.33203125 78.0234375 C-33.5328841 72.28420052 -39.25432199 64.19037402 -41.9375 54.5625 C-41.9375 52.2525 -41.9375 49.9425 -41.9375 47.5625 C-55.1375 47.5625 -68.3375 47.5625 -81.9375 47.5625 C-82.2675 49.5425 -82.5975 51.5225 -82.9375 53.5625 C-86.47153282 60.08686829 -91.77992125 65.33209302 -98.9375 67.5625 C-107.74076134 68.54589332 -115.47110899 68.66151853 -122.9453125 63.3515625 C-126.73862213 59.94502169 -129.30671417 56.45485748 -130.9375 51.5625 C-131.08630933 48.77804845 -131.16857 46.03507615 -131.1875 43.25 C-131.208125 42.50298828 -131.22875 41.75597656 -131.25 40.98632812 C-131.29973309 33.90557876 -128.91635771 28.67238028 -123.9375 23.5625 C-117.39139207 17.95595109 -110.16453543 17.66621035 -101.9140625 18.08203125 C-94.899939 18.72931322 -91.148904 22.07015094 -86.5625 27.125 C-83.0162816 31.41414124 -81.9375 33.82397949 -81.9375 39.5625 C-68.7375 39.5625 -55.5375 39.5625 -41.9375 39.5625 C-41.9375 36.5925 -41.9375 33.6225 -41.9375 30.5625 C-41.203125 27.92578125 -41.203125 27.92578125 -40.1875 25.875 C-39.82140625 25.13378906 -39.4553125 24.39257812 -39.078125 23.62890625 C-37.52082523 20.80763373 -35.83303352 18.16885859 -33.9375 15.5625 C-33.07125 14.325 -33.07125 14.325 -32.1875 13.0625 C-23.4045609 3.30367878 -12.89706117 -0.18694354 0 0 Z M-120.9375 31.5625 C-124.311454 35.7799425 -125.07899933 40.26511873 -124.9375 45.5625 C-123.56169986 52.42921676 -120.02201028 56.48224888 -114.25 60.375 C-109.00858855 62.25399656 -103.98512521 62.70734703 -98.69140625 60.71875 C-93.59796144 57.86873173 -90.00154333 54.0570598 -87.9375 48.5625 C-86.98638594 42.64547312 -87.4231945 37.55054652 -90.9375 32.5625 C-94.77721765 28.52885722 -98.40147698 25.79272734 -103.9375 24.5625 C-110.60590416 24.5625 -116.11948833 26.88214581 -120.9375 31.5625 Z " fill="#FB595A" transform="translate(465.9375,12.4375)"/>\n<path d="M0 0 C2.49609375 1.67578125 2.49609375 1.67578125 4.6875 3.4375 C5.69490234 4.23220703 5.69490234 4.23220703 6.72265625 5.04296875 C8.60648306 6.72681394 10.13712063 8.4441551 11.6875 10.4375 C12.19410156 11.08589844 12.70070313 11.73429687 13.22265625 12.40234375 C18.38790959 20.58905448 17.89494164 31.12439732 16.6875 40.4375 C15.59064516 44.32761653 14.10267946 47.21726072 11.6875 50.4375 C11.01847656 51.41203125 11.01847656 51.41203125 10.3359375 52.40625 C6.65658703 57.25723721 2.09563796 59.81209485 -3.3125 62.4375 C-3.9310083 62.78063232 -4.5495166 63.12376465 -5.18676758 63.47729492 C-11.98943861 66.55009901 -22.78071672 65.53663621 -29.7265625 63.375 C-39.18650587 58.47181808 -46.96623191 50.70153384 -50.3125 40.4375 C-50.34467903 38.43775889 -50.34820246 36.43718131 -50.3125 34.4375 C-52.22820801 34.49079468 -52.22820801 34.49079468 -54.18261719 34.54516602 C-101.59470837 35.83714487 -101.59470837 35.83714487 -125.3125 34.4375 C-125.3125 31.7975 -125.3125 29.1575 -125.3125 26.4375 C-100.25716402 25.50765037 -75.36736856 25.47182992 -50.3125 26.4375 C-50.33900635 25.509375 -50.3655127 24.58125 -50.39282227 23.625 C-50.23047173 17.1822991 -45.7640351 11.27280344 -41.640625 6.50390625 C-39.94843931 4.95273603 -38.23072427 3.69658136 -36.3125 2.4375 C-35.66539062 1.95410156 -35.01828125 1.47070312 -34.3515625 0.97265625 C-24.96034995 -4.9751117 -9.80100732 -5.04982649 0 0 Z M-33.3125 12.4375 C-38.57245007 17.87200594 -41.25515923 23.3095972 -41.33984375 30.8828125 C-40.86170028 38.90091068 -38.46239341 44.69168516 -32.625 50.25 C-26.75617395 54.98187636 -21.28373741 56.78082287 -13.75 56.375 C-5.90447422 55.33404337 -0.46379935 52.54887418 4.4375 46.2890625 C8.39327899 40.42956487 10.32005403 34.03653989 9.35546875 27.0234375 C7.5054154 19.31289259 3.15205295 13.56355061 -3.33203125 9.0234375 C-13.68500916 3.34665672 -24.29195076 5.07568812 -33.3125 12.4375 Z " fill="#FB595A" transform="translate(595.3125,25.5625)"/>\n<path d="M0 0 C6.93 0 13.86 0 21 0 C21 31.35 21 62.7 21 95 C14.07 95 7.14 95 0 95 C0 63.65 0 32.3 0 0 Z " fill="#000000" transform="translate(198,8)"/>\n<path d="M0 0 C4.75754354 2.58177417 7.96079173 6.18315644 9.66015625 11.28125 C10.56989526 23.28682217 10.56989526 23.28682217 8.03515625 28.84375 C2.7409895 34.27723692 -1.18783259 37.39526755 -9.02734375 37.65625 C-15.0876967 37.58305733 -18.91568094 36.46019362 -23.33984375 32.28125 C-27.38897173 27.99452038 -28.67477979 24.09136841 -28.90234375 18.21875 C-28.61386216 12.02809098 -27.33639498 8.20900286 -22.80859375 3.78515625 C-16.38329066 -1.77399078 -8.17043394 -2.50978271 0 0 Z " fill="#FB595A" transform="translate(588.33984375,38.71875)"/>\n<path d="M0 0 C16.5 0 33 0 50 0 C50 2.64 50 5.28 50 8 C43.07 8 36.14 8 29 8 C29 27.14 29 46.28 29 66 C26.36 66 23.72 66 21 66 C21 46.86 21 27.72 21 8 C14.07 8 7.14 8 0 8 C0 5.36 0 2.72 0 0 Z " fill="#FB595A" transform="translate(261,22)"/>\n</svg>\n'
|
|
15687
|
-
},
|
|
15688
|
-
{
|
|
15689
|
-
name: "logo-dark.svg",
|
|
15690
|
-
content: '<?xml version="1.0" encoding="UTF-8"?>\n<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="624" height="112">\n<path d="M0 0 C8.91 0 17.82 0 27 0 C29.6532854 6.6332135 32.16700564 13.19822768 34.43359375 19.95703125 C34.90557945 21.35200584 34.90557945 21.35200584 35.38710022 22.77516174 C36.05895637 24.76101635 36.72970216 26.74724692 37.39941406 28.73382568 C43.53038105 46.91656945 49.77621685 65.05472302 56.18920898 83.13989258 C56.44874863 83.87328354 56.70828827 84.6066745 56.97569275 85.36228943 C57.45781027 86.72395436 57.94133847 88.08512096 58.42652893 89.44569397 C60 93.88838012 60 93.88838012 60 95 C52.41 95 44.82 95 37 95 C34.69 88.4 32.38 81.8 30 75 C19.11 74.67 8.22 74.34 -3 74 C-3.99 77.63 -4.98 81.26 -6 85 C-7.98 89.95 -7.98 89.95 -10 95 C-17.26 95 -24.52 95 -32 95 C-30.78144724 89.51651257 -29.67810609 84.66615392 -27.88037109 79.45239258 C-27.46588715 78.24275345 -27.0514032 77.03311432 -26.62435913 75.78681946 C-26.17420669 74.48933635 -25.72389513 73.19190844 -25.2734375 71.89453125 C-24.80184161 70.52533118 -24.33062771 69.15599949 -23.85977173 67.7865448 C-22.8725657 64.91858201 -21.88215857 62.0517533 -20.88916016 59.18579102 C-19.64085069 55.582789 -18.39833271 51.97782679 -17.15795517 48.37208748 C-11.59046573 32.1910664 -5.90333009 16.06238627 0 0 Z M13 23 C11.57023217 27.35813007 10.14622932 31.71808526 8.72753906 36.07983398 C8.24409497 37.56342333 7.75907875 39.04650134 7.27246094 40.52905273 C6.57333176 42.65996993 5.87987457 44.79266126 5.1875 46.92578125 C4.96876221 47.58838455 4.75002441 48.25098785 4.5246582 48.93367004 C3.61452414 51.75405555 3 54.01399134 3 57 C9.93 57 16.86 57 24 57 C23.27817771 51.94724396 22.53386196 48.12080493 20.93359375 43.41015625 C20.53076172 42.21455078 20.12792969 41.01894531 19.71289062 39.78710938 C19.29201172 38.55798828 18.87113281 37.32886719 18.4375 36.0625 C18.00790487 34.79380883 17.57886341 33.52493004 17.15039062 32.25585938 C16.10568206 29.16868688 15.05540218 26.08352965 14 23 C13.67 23 13.34 23 13 23 Z " fill="#ffffff" transform="translate(43,8)"/>\n<path d="M0 0 C54.15271967 0 54.15271967 0 64 9 C71.07899361 18.1860174 73.05451205 27.56054652 72 39 C69.99118363 48.2501784 65.36386942 54.2450426 58.3125 60.3125 C46.44776251 66.35680023 33.97471886 65.23734242 21 65 C21 74.9 21 84.8 21 95 C14.07 95 7.14 95 0 95 C0 63.65 0 32.3 0 0 Z M21 17 C21 27.23 21 37.46 21 48 C33.44032397 48.72137403 33.44032397 48.72137403 45 45 C49.77420067 39.98096852 50.35191723 36.51434551 50.28125 29.765625 C49.88814794 25.9001214 48.61907755 23.83143519 46 21 C40.44461415 16.97234526 35.43224069 16.86135103 28.75 16.9375 C24.91375 16.9684375 24.91375 16.9684375 21 17 Z " fill="#ffffff" transform="translate(114,8)"/>\n<path d="M0 0 C1.06033447 0.01023193 2.12066895 0.02046387 3.21313477 0.03100586 C10.77911447 0.23722861 16.7654445 1.10820939 23.0625 5.5625 C23.85269531 6.07039063 24.64289063 6.57828125 25.45703125 7.1015625 C33.72248942 12.88601249 39.23689254 20.92219219 42.0625 30.5625 C42.0625 31.8825 42.0625 33.2025 42.0625 34.5625 C38.7625 34.5625 35.4625 34.5625 32.0625 34.5625 C31.73378906 33.86125 31.40507812 33.16 31.06640625 32.4375 C26.5996742 23.52824583 20.65345645 16.18575021 11.0625 12.5625 C2.69877965 10.51803503 -6.54108619 10.68011515 -14.2265625 14.78515625 C-22.11405932 19.73132901 -28.35793488 26.10064271 -30.625 35.375 C-31.56933308 45.00719738 -30.96731768 53.6337758 -25.25 61.8125 C-18.23131532 70.32781598 -10.33285228 73.77014083 0.5625 74.9375 C10.85243707 73.83500674 18.18329286 70.7127742 25.3125 63.1875 C27.58464213 59.7792868 29.30612491 56.26343322 31.0625 52.5625 C34.6925 52.5625 38.3225 52.5625 42.0625 52.5625 C39.46109253 63.78106972 33.80757518 71.95428408 24.7265625 79.02734375 C16.60878228 83.70518485 9.46422322 85.2603725 0.125 85.125 C-0.93533447 85.11476807 -1.99566895 85.10453613 -3.08813477 85.09399414 C-10.65411447 84.88777139 -16.6404445 84.01679061 -22.9375 79.5625 C-23.72769531 79.05460937 -24.51789063 78.54671875 -25.33203125 78.0234375 C-33.5328841 72.28420052 -39.25432199 64.19037402 -41.9375 54.5625 C-41.9375 52.2525 -41.9375 49.9425 -41.9375 47.5625 C-55.1375 47.5625 -68.3375 47.5625 -81.9375 47.5625 C-82.2675 49.5425 -82.5975 51.5225 -82.9375 53.5625 C-86.47153282 60.08686829 -91.77992125 65.33209302 -98.9375 67.5625 C-107.74076134 68.54589332 -115.47110899 68.66151853 -122.9453125 63.3515625 C-126.73862213 59.94502169 -129.30671417 56.45485748 -130.9375 51.5625 C-131.08630933 48.77804845 -131.16857 46.03507615 -131.1875 43.25 C-131.208125 42.50298828 -131.22875 41.75597656 -131.25 40.98632812 C-131.29973309 33.90557876 -128.91635771 28.67238028 -123.9375 23.5625 C-117.39139207 17.95595109 -110.16453543 17.66621035 -101.9140625 18.08203125 C-94.899939 18.72931322 -91.148904 22.07015094 -86.5625 27.125 C-83.0162816 31.41414124 -81.9375 33.82397949 -81.9375 39.5625 C-68.7375 39.5625 -55.5375 39.5625 -41.9375 39.5625 C-41.9375 36.5925 -41.9375 33.6225 -41.9375 30.5625 C-41.203125 27.92578125 -41.203125 27.92578125 -40.1875 25.875 C-39.82140625 25.13378906 -39.4553125 24.39257812 -39.078125 23.62890625 C-37.52082523 20.80763373 -35.83303352 18.16885859 -33.9375 15.5625 C-33.07125 14.325 -33.07125 14.325 -32.1875 13.0625 C-23.4045609 3.30367878 -12.89706117 -0.18694354 0 0 Z M-120.9375 31.5625 C-124.311454 35.7799425 -125.07899933 40.26511873 -124.9375 45.5625 C-123.56169986 52.42921676 -120.02201028 56.48224888 -114.25 60.375 C-109.00858855 62.25399656 -103.98512521 62.70734703 -98.69140625 60.71875 C-93.59796144 57.86873173 -90.00154333 54.0570598 -87.9375 48.5625 C-86.98638594 42.64547312 -87.4231945 37.55054652 -90.9375 32.5625 C-94.77721765 28.52885722 -98.40147698 25.79272734 -103.9375 24.5625 C-110.60590416 24.5625 -116.11948833 26.88214581 -120.9375 31.5625 Z " fill="#FB595A" transform="translate(465.9375,12.4375)"/>\n<path d="M0 0 C2.49609375 1.67578125 2.49609375 1.67578125 4.6875 3.4375 C5.69490234 4.23220703 5.69490234 4.23220703 6.72265625 5.04296875 C8.60648306 6.72681394 10.13712063 8.4441551 11.6875 10.4375 C12.19410156 11.08589844 12.70070313 11.73429687 13.22265625 12.40234375 C18.38790959 20.58905448 17.89494164 31.12439732 16.6875 40.4375 C15.59064516 44.32761653 14.10267946 47.21726072 11.6875 50.4375 C11.01847656 51.41203125 11.01847656 51.41203125 10.3359375 52.40625 C6.65658703 57.25723721 2.09563796 59.81209485 -3.3125 62.4375 C-3.9310083 62.78063232 -4.5495166 63.12376465 -5.18676758 63.47729492 C-11.98943861 66.55009901 -22.78071672 65.53663621 -29.7265625 63.375 C-39.18650587 58.47181808 -46.96623191 50.70153384 -50.3125 40.4375 C-50.34467903 38.43775889 -50.34820246 36.43718131 -50.3125 34.4375 C-52.22820801 34.49079468 -52.22820801 34.49079468 -54.18261719 34.54516602 C-101.59470837 35.83714487 -101.59470837 35.83714487 -125.3125 34.4375 C-125.3125 31.7975 -125.3125 29.1575 -125.3125 26.4375 C-100.25716402 25.50765037 -75.36736856 25.47182992 -50.3125 26.4375 C-50.33900635 25.509375 -50.3655127 24.58125 -50.39282227 23.625 C-50.23047173 17.1822991 -45.7640351 11.27280344 -41.640625 6.50390625 C-39.94843931 4.95273603 -38.23072427 3.69658136 -36.3125 2.4375 C-35.66539062 1.95410156 -35.01828125 1.47070312 -34.3515625 0.97265625 C-24.96034995 -4.9751117 -9.80100732 -5.04982649 0 0 Z M-33.3125 12.4375 C-38.57245007 17.87200594 -41.25515923 23.3095972 -41.33984375 30.8828125 C-40.86170028 38.90091068 -38.46239341 44.69168516 -32.625 50.25 C-26.75617395 54.98187636 -21.28373741 56.78082287 -13.75 56.375 C-5.90447422 55.33404337 -0.46379935 52.54887418 4.4375 46.2890625 C8.39327899 40.42956487 10.32005403 34.03653989 9.35546875 27.0234375 C7.5054154 19.31289259 3.15205295 13.56355061 -3.33203125 9.0234375 C-13.68500916 3.34665672 -24.29195076 5.07568812 -33.3125 12.4375 Z " fill="#FB595A" transform="translate(595.3125,25.5625)"/>\n<path d="M0 0 C6.93 0 13.86 0 21 0 C21 31.35 21 62.7 21 95 C14.07 95 7.14 95 0 95 C0 63.65 0 32.3 0 0 Z " fill="#ffffff" transform="translate(198,8)"/>\n<path d="M0 0 C4.75754354 2.58177417 7.96079173 6.18315644 9.66015625 11.28125 C10.56989526 23.28682217 10.56989526 23.28682217 8.03515625 28.84375 C2.7409895 34.27723692 -1.18783259 37.39526755 -9.02734375 37.65625 C-15.0876967 37.58305733 -18.91568094 36.46019362 -23.33984375 32.28125 C-27.38897173 27.99452038 -28.67477979 24.09136841 -28.90234375 18.21875 C-28.61386216 12.02809098 -27.33639498 8.20900286 -22.80859375 3.78515625 C-16.38329066 -1.77399078 -8.17043394 -2.50978271 0 0 Z " fill="#FB595A" transform="translate(588.33984375,38.71875)"/>\n<path d="M0 0 C16.5 0 33 0 50 0 C50 2.64 50 5.28 50 8 C43.07 8 36.14 8 29 8 C29 27.14 29 46.28 29 66 C26.36 66 23.72 66 21 66 C21 46.86 21 27.72 21 8 C14.07 8 7.14 8 0 8 C0 5.36 0 2.72 0 0 Z " fill="#FB595A" transform="translate(261,22)"/>\n</svg>\n'
|
|
15691
|
-
}
|
|
15692
|
-
];
|
|
15693
|
-
|
|
15694
15712
|
// src/cli/make-config/favicon-png.ts
|
|
15695
15713
|
var FAVICON_PNG_BASE64 = "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";
|
|
15696
15714
|
|
|
@@ -21646,7 +21664,7 @@ function resolveInitOutputDirectory(dirArg, name) {
|
|
|
21646
21664
|
const fromName = name?.trim();
|
|
21647
21665
|
if (!fromName) {
|
|
21648
21666
|
throw new Error(
|
|
21649
|
-
"apitogo init
|
|
21667
|
+
"apitogo init scaffolds into a named folder (default `dev-portal`). Pass a folder name or `--name` when using `.`."
|
|
21650
21668
|
);
|
|
21651
21669
|
}
|
|
21652
21670
|
return {
|
|
@@ -21665,7 +21683,7 @@ async function init2(argv) {
|
|
|
21665
21683
|
const openapiSearch = argv.openapiSearch ?? "nearby";
|
|
21666
21684
|
try {
|
|
21667
21685
|
const { outputDirectory, siteName } = resolveInitOutputDirectory(
|
|
21668
|
-
argv.dir ?? "
|
|
21686
|
+
argv.dir ?? "dev-portal",
|
|
21669
21687
|
argv.name
|
|
21670
21688
|
);
|
|
21671
21689
|
const docToolPath = resolveDocToolPath();
|
|
@@ -21767,8 +21785,8 @@ var init_default = {
|
|
|
21767
21785
|
command: "init [dir]",
|
|
21768
21786
|
builder: (yargs2) => yargs2.positional("dir", {
|
|
21769
21787
|
type: "string",
|
|
21770
|
-
describe: "
|
|
21771
|
-
default: "
|
|
21788
|
+
describe: "Directory to scaffold into (default `dev-portal`)",
|
|
21789
|
+
default: "dev-portal",
|
|
21772
21790
|
normalize: true
|
|
21773
21791
|
}).option("name", {
|
|
21774
21792
|
type: "string",
|
package/docs/cli/commands.md
CHANGED
|
@@ -10,54 +10,53 @@ same commands so agents and humans get identical behavior.
|
|
|
10
10
|
|
|
11
11
|
## Lifecycle (prefer these)
|
|
12
12
|
|
|
13
|
-
| Command | Role
|
|
14
|
-
| ------------------------ |
|
|
15
|
-
| `init` | Scaffold portal (
|
|
16
|
-
| `config` / `make-config` | Write or update `apitogo.config.json` (interactive or flags)
|
|
17
|
-
| `run` / `dev` | Local preview server
|
|
18
|
-
| `build` | Production build (`--preview` to serve locally)
|
|
19
|
-
| `check` | Publish readiness (secrets, manifest, site validation)
|
|
20
|
-
| `project create` | Create a platform project (plan unselected)
|
|
21
|
-
| `deploy` / `apply` | Publish config to platform (apihub + portal)
|
|
22
|
-
| `status` | Account, project, and live readiness
|
|
23
|
-
| `teardown --yes` | Delete the linked platform project
|
|
13
|
+
| Command | Role |
|
|
14
|
+
| ------------------------ | --------------------------------------------------------------------- |
|
|
15
|
+
| `init` | Scaffold portal (default `./dev-portal`; OpenAPI discovery + secrets) |
|
|
16
|
+
| `config` / `make-config` | Write or update `apitogo.config.json` (interactive or flags) |
|
|
17
|
+
| `run` / `dev` | Local preview server |
|
|
18
|
+
| `build` | Production build (`--preview` to serve locally) |
|
|
19
|
+
| `check` | Publish readiness (secrets, manifest, site validation) |
|
|
20
|
+
| `project create` | Create a platform project (plan unselected) |
|
|
21
|
+
| `deploy` / `apply` | Publish config to platform (apihub + portal) |
|
|
22
|
+
| `status` | Account, project, and live readiness |
|
|
23
|
+
| `teardown --yes` | Delete the linked platform project |
|
|
24
24
|
|
|
25
25
|
## Scaffold and config
|
|
26
26
|
|
|
27
|
-
| Command | Role
|
|
28
|
-
| ------------ |
|
|
29
|
-
| `init [dir]` |
|
|
30
|
-
| `config` | Interactive on TTY; flags: `--openapi`, `--page-*`, `--plan`, `--backend`, `--theme`, `--patch`, `--json`
|
|
27
|
+
| Command | Role |
|
|
28
|
+
| ------------ | ----------------------------------------------------------------------------------------------------------- |
|
|
29
|
+
| `init [dir]` | Folder (default `dev-portal`); `--name`, `--install` (default), `--overwrite`, `--json`, `--openapi-search` |
|
|
30
|
+
| `config` | Interactive on TTY; flags: `--openapi`, `--page-*`, `--plan`, `--backend`, `--theme`, `--patch`, `--json` |
|
|
31
31
|
|
|
32
|
-
`npx @lukoweb/
|
|
33
|
-
|
|
34
|
-
to skip those prompts. See [Install the CLI](./setup.md#scaffold-options).
|
|
32
|
+
`npx @lukoweb/apitogo@latest init` auto-wires nearby OpenAPI and `docs/`/`doc/` markdown after
|
|
33
|
+
scaffold. See [Install the CLI](./setup.md#scaffold-options).
|
|
35
34
|
|
|
36
35
|
See [Make config (CLI)](../configuration/make-config.mdx) for all `config` flags.
|
|
37
36
|
|
|
38
37
|
## Local development
|
|
39
38
|
|
|
40
|
-
| Command | Role
|
|
41
|
-
| ----------------- |
|
|
39
|
+
| Command | Role |
|
|
40
|
+
| ----------------- | --------------------------------------------------------- |
|
|
42
41
|
| `run` | Run the local portal server (`--port`, `--open`, `--ssr`) |
|
|
43
|
-
| `dev` | Alias for `run`
|
|
44
|
-
| `build` | Production static build
|
|
45
|
-
| `build --preview` | Build then serve locally
|
|
42
|
+
| `dev` | Alias for `run` |
|
|
43
|
+
| `build` | Production static build |
|
|
44
|
+
| `build --preview` | Build then serve locally |
|
|
46
45
|
|
|
47
46
|
## Platform (requires API credentials)
|
|
48
47
|
|
|
49
|
-
| Command
|
|
50
|
-
|
|
|
51
|
-
| `project create --name`
|
|
52
|
-
| `check`
|
|
48
|
+
| Command | Role |
|
|
49
|
+
| -------------------------- | -------------------------------------------------------------- |
|
|
50
|
+
| `project create --name` | Create platform project only |
|
|
51
|
+
| `check` | Dry-run publish readiness |
|
|
53
52
|
| `deploy` | Full publish — project, plans, apihub, portal backend/frontend |
|
|
54
53
|
| `deploy --only <resource>` | Limit to `apihub`, `portal-backend`, or `portal-frontend` |
|
|
55
54
|
| `deploy --force` | Redeploy selected resources even when healthy |
|
|
56
55
|
| `deploy --platform-plan` | Select Free / Starter / Professional hosting |
|
|
57
56
|
| `deploy --resume-from` | Resume interrupted publish |
|
|
58
57
|
| `apply` | Alias for `deploy` |
|
|
59
|
-
| `status`
|
|
60
|
-
| `teardown --yes`
|
|
58
|
+
| `status` | Whoami + project + live verification |
|
|
59
|
+
| `teardown --yes` | Delete platform project (confirmation required) |
|
|
61
60
|
|
|
62
61
|
Env: `APITOGO_API_KEY_ID`, `APITOGO_API_SECRET`. Optional: `APITOGO_API_URL`.
|
|
63
62
|
|
|
@@ -74,11 +73,11 @@ There is no CLI command for arbitrary home page content.
|
|
|
74
73
|
|
|
75
74
|
These print a redirect message — use the replacement:
|
|
76
75
|
|
|
77
|
-
| Removed | Use instead
|
|
78
|
-
| --------------------------- |
|
|
79
|
-
| `preview` | `npx apitogo build --preview` or `npx apitogo run`
|
|
80
|
-
| `remove` | `npx apitogo teardown --yes`
|
|
81
|
-
| `configure-github-workflow` | `npx apitogo deploy`
|
|
76
|
+
| Removed | Use instead |
|
|
77
|
+
| --------------------------- | -------------------------------------------------- |
|
|
78
|
+
| `preview` | `npx apitogo build --preview` or `npx apitogo run` |
|
|
79
|
+
| `remove` | `npx apitogo teardown --yes` |
|
|
80
|
+
| `configure-github-workflow` | `npx apitogo deploy` |
|
|
82
81
|
|
|
83
82
|
## Related
|
|
84
83
|
|
package/docs/cli/overview.md
CHANGED
|
@@ -6,14 +6,15 @@ sidebar_icon: terminal
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
The **`apitogo`** CLI lets you manage developer portals from the terminal. You scaffold and shape
|
|
9
|
-
local files, preview with `npx apitogo run`, and publish to APItoGo hosting with
|
|
9
|
+
local files, preview with `npx apitogo run`, and publish to APItoGo hosting with
|
|
10
|
+
`npx apitogo deploy`.
|
|
10
11
|
|
|
11
12
|
**First time?** Install and wire credentials → **[Install the CLI](./setup.md)**. Then follow
|
|
12
13
|
[Shape](./shape.md) and [Go live](./go-live.md).
|
|
13
14
|
|
|
14
15
|
## What you get
|
|
15
16
|
|
|
16
|
-
- Scaffold a local portal site (`npx @lukoweb/
|
|
17
|
+
- Scaffold a local portal site (`npx @lukoweb/apitogo@latest init`)
|
|
17
18
|
- Shape backend, OpenAPI, plans, and docs pages via `npx apitogo config` and file edits
|
|
18
19
|
- Preview locally (`npx apitogo run`)
|
|
19
20
|
- Publish to APItoGo hosting (`npx apitogo deploy`) with platform plans **Free**, **Starter**, or
|
|
@@ -24,10 +25,10 @@ local files, preview with `npx apitogo run`, and publish to APItoGo hosting with
|
|
|
24
25
|
|
|
25
26
|
### Shell environment (for apply / status / teardown)
|
|
26
27
|
|
|
27
|
-
| Variable
|
|
28
|
-
|
|
|
29
|
-
| `APITOGO_API_KEY_ID`
|
|
30
|
-
| `APITOGO_API_SECRET`
|
|
28
|
+
| Variable | Required | Purpose |
|
|
29
|
+
| -------------------- | -------- | ----------------- |
|
|
30
|
+
| `APITOGO_API_KEY_ID` | Yes | Platform API auth |
|
|
31
|
+
| `APITOGO_API_SECRET` | Yes | Platform API auth |
|
|
31
32
|
|
|
32
33
|
### Local machine
|
|
33
34
|
|
|
@@ -38,21 +39,21 @@ local files, preview with `npx apitogo run`, and publish to APItoGo hosting with
|
|
|
38
39
|
|
|
39
40
|
## Changing your site
|
|
40
41
|
|
|
41
|
-
| Approach
|
|
42
|
-
|
|
|
42
|
+
| Approach | When it helps |
|
|
43
|
+
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
|
|
43
44
|
| **`npx apitogo config`** | Wire OpenAPI, custom pages, gateway plans, and site title from the terminal. See [Make config](../configuration/make-config.mdx). |
|
|
44
|
-
| **Edit files directly**
|
|
45
|
+
| **Edit files directly** | Full control — `apitogo.config.json`, `pages/**`, `landing/LandingPage.tsx`, etc. |
|
|
45
46
|
|
|
46
47
|
Common CLI shape tasks:
|
|
47
48
|
|
|
48
|
-
| Change
|
|
49
|
-
|
|
|
50
|
-
| Backend runtime
|
|
51
|
-
| OpenAPI + API Reference nav
|
|
52
|
-
| Custom docs pages
|
|
53
|
-
| Gateway / API plans
|
|
54
|
-
| Site title
|
|
55
|
-
| Theme, fonts, branding, projectId
|
|
49
|
+
| Change | How |
|
|
50
|
+
| --------------------------------- | ------------------------------------------------- |
|
|
51
|
+
| Backend runtime | `npx apitogo config` (backend) |
|
|
52
|
+
| OpenAPI + API Reference nav | `npx apitogo config` (openapi) |
|
|
53
|
+
| Custom docs pages | `npx apitogo config` (page) or add under `pages/` |
|
|
54
|
+
| Gateway / API plans | `npx apitogo config` (plan) or edit manifest |
|
|
55
|
+
| Site title | `--title` or edit `apitogo.config.json` |
|
|
56
|
+
| Theme, fonts, branding, projectId | Edit `apitogo.config.json` |
|
|
56
57
|
|
|
57
58
|
Home page content often lives in `landing/LandingPage.tsx`. Site footer can live under
|
|
58
59
|
`modules.landing.content.footer` in `apitogo.config.json`.
|
|
@@ -71,12 +72,12 @@ Details: [Manifest](../configuration/manifest.md).
|
|
|
71
72
|
Both paths use the same config-first model. `npx apitogo deploy` runs the same engine as MCP
|
|
72
73
|
`publish_dev_portal`.
|
|
73
74
|
|
|
74
|
-
| Task | CLI
|
|
75
|
-
| ----------------- |
|
|
76
|
-
| Scaffold | `
|
|
77
|
-
| Shape config | `npx apitogo config` + file edits
|
|
78
|
-
| Preview | `npx apitogo run`
|
|
79
|
-
| Publish | `npx apitogo deploy`
|
|
75
|
+
| Task | CLI | MCP (agent) |
|
|
76
|
+
| ----------------- | --------------------------------------------- | --------------------------------------------- |
|
|
77
|
+
| Scaffold | `npx @lukoweb/apitogo@latest init` | `create_dev_portal` |
|
|
78
|
+
| Shape config | `npx apitogo config` + file edits | `apply_product_intent` (shape) |
|
|
79
|
+
| Preview | `npx apitogo run` | `npm run dev` / preview tool |
|
|
80
|
+
| Publish | `npx apitogo deploy` | `publish_dev_portal` |
|
|
80
81
|
| Status / teardown | `npx apitogo status` / `npx apitogo teardown` | `verify_dev_portal_live` / `teardown_project` |
|
|
81
82
|
|
|
82
83
|
Prefer MCP when an agent should drive changes. Prefer CLI for CI, scripts, or terminal-only
|
package/docs/cli/setup.md
CHANGED
|
@@ -6,8 +6,8 @@ sidebar_icon: terminal
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
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
|
-
commands (`deploy`, `status`, `teardown`) use the same engine as MCP `publish_dev_portal`.
|
|
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
11
|
|
|
12
12
|
Examples in these docs use **`npx apitogo`** so they run the project-local CLI. A global install is
|
|
13
13
|
optional and not required.
|
|
@@ -15,8 +15,8 @@ optional and not required.
|
|
|
15
15
|
## Prerequisites
|
|
16
16
|
|
|
17
17
|
- **Node.js 20+**
|
|
18
|
-
- Platform API credentials from [apitogo.com](https://apitogo.com) when you run `npx apitogo deploy`
|
|
19
|
-
key id + secret)
|
|
18
|
+
- Platform API credentials from [apitogo.com](https://apitogo.com) when you run `npx apitogo deploy`
|
|
19
|
+
(API key id + secret)
|
|
20
20
|
|
|
21
21
|
## Install
|
|
22
22
|
|
|
@@ -26,65 +26,46 @@ commands add it to your project and `npm install` puts it on `node_modules/.bin`
|
|
|
26
26
|
|
|
27
27
|
### New project (recommended)
|
|
28
28
|
|
|
29
|
-
`npx @lukoweb/
|
|
29
|
+
`npx @lukoweb/apitogo@latest init` scaffolds into `./dev-portal` by default (pass a folder name to
|
|
30
|
+
override). It installs dependencies, writes `apitogo.config.json` and secrets artifacts, and
|
|
30
31
|
auto-wires nearby OpenAPI (`openapi.yaml` / `swagger.yaml`) plus markdown in `docs/` / `doc/` /
|
|
31
32
|
`documents/` / `documentation/` folders:
|
|
32
33
|
|
|
33
34
|
```bash
|
|
34
|
-
npx @lukoweb/
|
|
35
|
+
npx @lukoweb/apitogo@latest init
|
|
35
36
|
cd dev-portal
|
|
36
|
-
npx apitogo
|
|
37
|
-
npm run dev
|
|
37
|
+
npx apitogo run
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
`bunx @lukoweb/create-apitogo`.
|
|
42
|
-
|
|
43
|
-
Non-interactive:
|
|
40
|
+
Named folder or site name:
|
|
44
41
|
|
|
45
42
|
```bash
|
|
46
|
-
npx @lukoweb/
|
|
47
|
-
cd
|
|
48
|
-
npx apitogo
|
|
43
|
+
npx @lukoweb/apitogo@latest init ./my-portal --name "Books API"
|
|
44
|
+
cd ./my-portal
|
|
45
|
+
npx apitogo run
|
|
49
46
|
```
|
|
50
47
|
|
|
51
48
|
#### Scaffold options
|
|
52
49
|
|
|
53
|
-
| Flag
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
| `--
|
|
57
|
-
| `--
|
|
58
|
-
| `--
|
|
59
|
-
| `--
|
|
60
|
-
|
|
61
|
-
Omit flags to be prompted for TypeScript and ESLint. Example files are never prompted.
|
|
62
|
-
|
|
63
|
-
See `@lukoweb/create-apitogo --help` for package manager and install flags.
|
|
64
|
-
|
|
65
|
-
### Scaffold into an existing folder
|
|
66
|
-
|
|
67
|
-
`npx @lukoweb/apitogo init` writes `package.json` with `@lukoweb/apitogo` as a dependency. Run **`npm install`**
|
|
68
|
-
before other `npx apitogo` commands:
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
npx @lukoweb/apitogo init ./dev-portal
|
|
72
|
-
cd ./dev-portal
|
|
73
|
-
npm install
|
|
74
|
-
npx apitogo config
|
|
75
|
-
npm run dev
|
|
76
|
-
```
|
|
50
|
+
| Flag | Effect |
|
|
51
|
+
| ------------------------- | ------------------------------------------------------------ |
|
|
52
|
+
| `[dir]` | Target folder (default `dev-portal`) |
|
|
53
|
+
| `--name <string>` | Site / package name (also used when `dir` is `.`) |
|
|
54
|
+
| `--no-install` | Skip `npm install` after scaffold |
|
|
55
|
+
| `--overwrite` | Replace an existing non-empty target directory |
|
|
56
|
+
| `--json` | Print a JSON result payload on stdout |
|
|
57
|
+
| `--openapi-search <mode>` | Auto-discover OpenAPI: `nearby` (default), `site`, or `none` |
|
|
77
58
|
|
|
78
|
-
`npx @lukoweb/apitogo init` is local only — it does not call the platform. After `config`, run
|
|
79
|
-
preview, then `npx apitogo deploy` when ready to go live.
|
|
59
|
+
`npx @lukoweb/apitogo init` is local only — it does not call the platform. After `config`, run
|
|
60
|
+
`npx apitogo run` to preview, then `npx apitogo deploy` when ready to go live.
|
|
80
61
|
|
|
81
62
|
### How to run `apitogo`
|
|
82
63
|
|
|
83
|
-
| Situation
|
|
84
|
-
|
|
|
85
|
-
| After `
|
|
86
|
-
| One-off, no project yet
|
|
87
|
-
| After [optional global install](#optional-global-install)
|
|
64
|
+
| Situation | Command |
|
|
65
|
+
| --------------------------------------------------------- | --------------------------------------------------- |
|
|
66
|
+
| After `init` or `npm install` in the project | `npx apitogo <command>` (e.g. `npx apitogo config`) |
|
|
67
|
+
| One-off, no project yet | `npx @lukoweb/apitogo <command>` |
|
|
68
|
+
| After [optional global install](#optional-global-install) | `apitogo <command>` anywhere |
|
|
88
69
|
|
|
89
70
|
`npm run dev` / `npm run build` use the project-local CLI via `package.json` scripts — no global
|
|
90
71
|
install required.
|
package/docs/cli/shape.md
CHANGED
|
@@ -5,49 +5,52 @@ description:
|
|
|
5
5
|
sidebar_icon: pencil-ruler
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
**Shape** means: create or update a local portal site (OpenAPI, plans, docs pages, auth)
|
|
9
|
-
|
|
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
10
|
|
|
11
11
|
Requires the **`apitogo`** CLI (`@lukoweb/apitogo`). If you have not installed it yet, see
|
|
12
12
|
[Install the CLI](./setup.md).
|
|
13
13
|
|
|
14
14
|
## Happy path
|
|
15
15
|
|
|
16
|
-
`npx @lukoweb/
|
|
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`:
|
|
17
19
|
|
|
18
20
|
```bash
|
|
19
|
-
npx @lukoweb/
|
|
21
|
+
npx @lukoweb/apitogo@latest init
|
|
20
22
|
cd dev-portal
|
|
21
23
|
npx apitogo config # backend, OpenAPI, pages, plans (apply each immediately)
|
|
22
|
-
|
|
24
|
+
npx apitogo run # http://localhost:3000
|
|
23
25
|
```
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
Named folder:
|
|
26
28
|
|
|
27
29
|
```bash
|
|
28
|
-
npx @lukoweb/apitogo init ./
|
|
29
|
-
cd ./
|
|
30
|
-
npm install
|
|
30
|
+
npx @lukoweb/apitogo@latest init ./my-portal --name "Books API"
|
|
31
|
+
cd ./my-portal
|
|
31
32
|
npx apitogo config
|
|
32
|
-
|
|
33
|
+
npx apitogo run
|
|
33
34
|
```
|
|
34
35
|
|
|
35
|
-
`npx @lukoweb/apitogo init` does **not** call the platform. Run `npx apitogo deploy` when you are
|
|
36
|
+
`npx @lukoweb/apitogo init` does **not** call the platform. Run `npx apitogo deploy` when you are
|
|
37
|
+
ready to go live.
|
|
36
38
|
|
|
37
39
|
## Interactive config (`npx apitogo config`)
|
|
38
40
|
|
|
39
41
|
On a TTY, bare `npx apitogo config` opens the wizard. Each choice is written immediately; the loop
|
|
40
42
|
continues until you type `done`:
|
|
41
43
|
|
|
42
|
-
| Choice
|
|
43
|
-
|
|
|
44
|
+
| Choice | What it does |
|
|
45
|
+
| --------- | ----------------------------------------------------------------------- |
|
|
44
46
|
| `backend` | Set `backend.sourceDirectory`, `runtime`, and platform `runtimeVersion` |
|
|
45
|
-
| `openapi` | Link an OpenAPI file by **relative path** in `apitogo.config.json`
|
|
46
|
-
| `page`
|
|
47
|
-
| `plan`
|
|
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) |
|
|
48
50
|
|
|
49
|
-
Authentication is **on by default** — the wizard does not ask for an auth API URL.
|
|
50
|
-
fills `VITE_APITOGO_AUTHENTICATION_API_BASE_URL` after the portal backend
|
|
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.
|
|
51
54
|
|
|
52
55
|
Fonts and colors are **not** prompted — edit `apitogo.config.json` or see
|
|
53
56
|
[Colors & theme](../customization/colors-theme.mdx).
|
|
@@ -55,7 +58,8 @@ Fonts and colors are **not** prompted — edit `apitogo.config.json` or see
|
|
|
55
58
|
**Paid plans:** if any plan has `priceAmount > 0`, you need **Starter** or **Professional** platform
|
|
56
59
|
hosting on apply. **Free** cannot publish paid gateway plans or custom domains.
|
|
57
60
|
|
|
58
|
-
Full reference: [Make config (CLI)](../configuration/make-config.mdx) ·
|
|
61
|
+
Full reference: [Make config (CLI)](../configuration/make-config.mdx) ·
|
|
62
|
+
[Gateway plans](../configuration/plans.md)
|
|
59
63
|
|
|
60
64
|
## Configure with flags
|
|
61
65
|
|
|
@@ -71,13 +75,13 @@ npx apitogo config --no-interactive
|
|
|
71
75
|
|
|
72
76
|
Common flags:
|
|
73
77
|
|
|
74
|
-
| Flag
|
|
75
|
-
|
|
|
76
|
-
| `--interactive` / `-i`
|
|
77
|
-
| `--title`
|
|
78
|
-
| `--theme`, `--site`, `--authentication` | Deep-merge JSON into config
|
|
79
|
-
| `--pages-dir`
|
|
80
|
-
| `--force`
|
|
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 |
|
|
81
85
|
|
|
82
86
|
## Shape by editing files
|
|
83
87
|
|
|
@@ -112,10 +116,10 @@ Shape-phase edits hot-reload when the dev server is running.
|
|
|
112
116
|
If you already have `pages/` and an OpenAPI spec:
|
|
113
117
|
|
|
114
118
|
```bash
|
|
115
|
-
npx @lukoweb/apitogo init
|
|
116
|
-
|
|
119
|
+
npx @lukoweb/apitogo@latest init
|
|
120
|
+
cd dev-portal
|
|
117
121
|
npx apitogo config
|
|
118
|
-
|
|
122
|
+
npx apitogo run
|
|
119
123
|
```
|
|
120
124
|
|
|
121
125
|
## Next
|
|
@@ -35,7 +35,7 @@ You do not need to enter this URL in `npx apitogo config`. Or set `authenticatio
|
|
|
35
35
|
|
|
36
36
|
### Local demo mode
|
|
37
37
|
|
|
38
|
-
In development (`
|
|
38
|
+
In development (`npx apitogo run`), `demoMode` is on by default when the user panel is enabled. You do
|
|
39
39
|
not need a backend URL or OIDC to explore account pages. Sign in at `/login` with:
|
|
40
40
|
|
|
41
41
|
```text
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
sidebar_label: Footer
|
|
3
3
|
sidebar_icon: panel-bottom-dashed
|
|
4
4
|
description:
|
|
5
|
-
Configure the site footer via modules.landing.content.footer in apitogo.config.json, or
|
|
6
|
-
for advanced layouts.
|
|
5
|
+
Configure the site footer via modules.landing.content.footer in apitogo.config.json, or
|
|
6
|
+
site.footer for advanced layouts.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Footer Configuration
|
|
10
10
|
|
|
11
|
-
Portal sites (MCP /
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
Portal sites (MCP / `apitogo init` scaffolds) render a global footer from **`apitogo.config.json`**
|
|
12
|
+
→ `modules.landing.content.footer`. That footer appears on home, docs, API reference, pricing, and
|
|
13
|
+
auth pages, and replaces the default “Built with APIToGo” line.
|
|
14
14
|
|
|
15
15
|
## Recommended: landing content footer (JSON)
|
|
16
16
|
|
|
17
|
-
Ask for real link columns, social URLs, copyright, and optional brand/tagline before inventing
|
|
18
|
-
|
|
17
|
+
Ask for real link columns, social URLs, copyright, and optional brand/tagline before inventing copy.
|
|
18
|
+
Example:
|
|
19
19
|
|
|
20
20
|
```json title=config.json
|
|
21
21
|
{
|
|
@@ -7,42 +7,42 @@ description:
|
|
|
7
7
|
site settings.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
The **`npx apitogo config`** (alias: `make-config`) command writes **`apitogo.config.json`**. It can
|
|
11
|
-
project (package.json, tsconfig, landing and user-panel stubs, thin
|
|
12
|
-
files are missing, merge **site / theme / authentication** from
|
|
13
|
-
on a TTY (apply each change immediately), scan `pages/` for
|
|
14
|
-
**API Reference** link.
|
|
10
|
+
The **`npx apitogo config`** (alias: `make-config`) command writes **`apitogo.config.json`**. It can
|
|
11
|
+
scaffold a portal project (package.json, tsconfig, landing and user-panel stubs, thin
|
|
12
|
+
`apitogo.config.tsx`) when those files are missing, merge **site / theme / authentication** from
|
|
13
|
+
flags, run an **interactive wizard** on a TTY (apply each change immediately), scan `pages/` for
|
|
14
|
+
navigation, and wire OpenAPI plus an **API Reference** link.
|
|
15
15
|
|
|
16
|
-
Landing and user panel are **always enabled** on new configs. **Authentication is enabled by
|
|
17
|
-
on new scaffolds. The command does **not** change `redirects`.
|
|
16
|
+
Landing and user panel are **always enabled** on new configs. **Authentication is enabled by
|
|
17
|
+
default** on new scaffolds. The command does **not** change `redirects`.
|
|
18
18
|
|
|
19
19
|
## Prerequisites
|
|
20
20
|
|
|
21
21
|
Install the CLI first — see [Install the CLI](../cli/setup.md). In short:
|
|
22
22
|
|
|
23
|
-
- **New site:** `npx @lukoweb/
|
|
24
|
-
- **Existing folder:** `npx @lukoweb/apitogo init .` then `npm install`
|
|
23
|
+
- **New site:** `npx @lukoweb/apitogo@latest init` (scaffolds into `./dev-portal` by default)
|
|
25
24
|
|
|
26
25
|
Run config from the project root with `npx apitogo config`.
|
|
27
26
|
|
|
28
27
|
## What it does
|
|
29
28
|
|
|
30
|
-
1. **Ensures npm scripts** — Creates **`package.json`** (dev / build / preview) and
|
|
31
|
-
when missing, including `@lukoweb/apitogo`, landing, user-panel, and billing
|
|
29
|
+
1. **Ensures npm scripts** — Creates **`package.json`** (dev / build / preview) and
|
|
30
|
+
**`tsconfig.json`** when missing, including `@lukoweb/apitogo`, landing, user-panel, and billing
|
|
31
|
+
packages.
|
|
32
32
|
2. **Creates `apitogo.config.json`** when missing, using the current portal template (`site`,
|
|
33
|
-
`theme`, `authentication` **enabled**, `modules.docs`, **landing on**, **user panel on**).
|
|
34
|
-
**`apitogo.config.tsx`** wrapper only if that file does not already exist
|
|
35
|
-
alone).
|
|
36
|
-
3. **Patches site, theme, and auth** from `--site`, `--theme`, `--authentication`, `--title`, or
|
|
37
|
-
|
|
33
|
+
`theme`, `authentication` **enabled**, `modules.docs`, **landing on**, **user panel on**).
|
|
34
|
+
Creates a thin **`apitogo.config.tsx`** wrapper only if that file does not already exist
|
|
35
|
+
(existing TSX is left alone).
|
|
36
|
+
3. **Patches site, theme, and auth** from `--site`, `--theme`, `--authentication`, `--title`, or the
|
|
37
|
+
interactive wizard.
|
|
38
38
|
4. **Merges `navigation`** from `.md` / `.mdx` / `.tsx` files under your pages directory into a
|
|
39
39
|
Documentation category when those files exist. **Missing or empty `pages/` is fine** (common for
|
|
40
40
|
portal-only sites) — existing navigation is left alone. Other nav items are kept. Use
|
|
41
41
|
**`--force`** to rebuild Documentation items from disk when pages are present (API Reference is
|
|
42
42
|
still kept when OpenAPI is wired).
|
|
43
43
|
5. **Wires OpenAPI** when a spec is found (non-interactive) or when you enter a path in the wizard:
|
|
44
|
-
`apis: [{ type: "file", input, path: "api" }]` and a top-level **API Reference** link to `/api`
|
|
45
|
-
that link is missing. Interactive mode stores a **relative file path** in `apis[0].input` (for
|
|
44
|
+
`apis: [{ type: "file", input, path: "api" }]` and a top-level **API Reference** link to `/api`
|
|
45
|
+
if that link is missing. Interactive mode stores a **relative file path** in `apis[0].input` (for
|
|
46
46
|
example `./openapi.yaml` or `../api/openapi.yaml`).
|
|
47
47
|
6. **Interactive only** — can set **backend** (`sourceDirectory`, `runtime`, `runtimeVersion`),
|
|
48
48
|
scaffold **custom pages** under `pages/`, and append **gateway plans** to
|
|
@@ -50,8 +50,8 @@ Run config from the project root with `npx apitogo config`.
|
|
|
50
50
|
|
|
51
51
|
## Interactive wizard
|
|
52
52
|
|
|
53
|
-
On a TTY, bare `npx apitogo config` opens the wizard (no `-i` required). `-i` still works as an
|
|
54
|
-
Use `--no-interactive` (or pass flags like `--title`) for CI / non-TTY.
|
|
53
|
+
On a TTY, bare `npx apitogo config` opens the wizard (no `-i` required). `-i` still works as an
|
|
54
|
+
alias. Use `--no-interactive` (or pass flags like `--title`) for CI / non-TTY.
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
57
|
npx apitogo config
|
|
@@ -66,9 +66,9 @@ npx apitogo config
|
|
|
66
66
|
immediately)
|
|
67
67
|
2. **Wrap-up** — links to [docs.apitogo.com](https://docs.apitogo.com) for further configuration
|
|
68
68
|
|
|
69
|
-
The wizard does **not** ask for fonts, colors, logo alt text, or the auth API base URL.
|
|
70
|
-
stays **enabled**; `npx apitogo deploy` writes
|
|
71
|
-
the portal backend is provisioned.
|
|
69
|
+
The wizard does **not** ask for fonts, colors, logo alt text, or the auth API base URL.
|
|
70
|
+
Authentication stays **enabled**; `npx apitogo deploy` writes
|
|
71
|
+
`VITE_APITOGO_AUTHENTICATION_API_BASE_URL` to `.env` after the portal backend is provisioned.
|
|
72
72
|
|
|
73
73
|
If you add a **paid** plan (`priceAmount > 0`), the CLI warns that **Free platform hosting cannot
|
|
74
74
|
publish paid gateway plans or custom domains** — use Starter or Professional on apply.
|
|
@@ -85,16 +85,16 @@ npx apitogo config
|
|
|
85
85
|
|
|
86
86
|
### Options
|
|
87
87
|
|
|
88
|
-
| Option | Description
|
|
89
|
-
| ------------------------- |
|
|
90
|
-
| `--pages-dir <dir>` | Folder to scan for `.md` / `.mdx` / `.tsx` (default: `pages`)
|
|
91
|
-
| `--dir <path>` | Project root (default: current directory)
|
|
92
|
-
| `--interactive` / `-i` | Force the wizard (default on TTY). Use `--no-interactive` to skip.
|
|
93
|
-
| `--title <string>` | Set `site.title` (non-interactive)
|
|
94
|
-
| `--site <json>` | Deep-merge a JSON object into `site`
|
|
95
|
-
| `--theme <json>` | Deep-merge a JSON object into `theme`
|
|
96
|
-
| `--authentication <json>` | Deep-merge a JSON object into `authentication` (secrets stay in `.env`)
|
|
97
|
-
| `--force` | Replace Documentation nav items from disk
|
|
88
|
+
| Option | Description |
|
|
89
|
+
| ------------------------- | ----------------------------------------------------------------------- |
|
|
90
|
+
| `--pages-dir <dir>` | Folder to scan for `.md` / `.mdx` / `.tsx` (default: `pages`) |
|
|
91
|
+
| `--dir <path>` | Project root (default: current directory) |
|
|
92
|
+
| `--interactive` / `-i` | Force the wizard (default on TTY). Use `--no-interactive` to skip. |
|
|
93
|
+
| `--title <string>` | Set `site.title` (non-interactive) |
|
|
94
|
+
| `--site <json>` | Deep-merge a JSON object into `site` |
|
|
95
|
+
| `--theme <json>` | Deep-merge a JSON object into `theme` |
|
|
96
|
+
| `--authentication <json>` | Deep-merge a JSON object into `authentication` (secrets stay in `.env`) |
|
|
97
|
+
| `--force` | Replace Documentation nav items from disk |
|
|
98
98
|
|
|
99
99
|
Examples:
|
|
100
100
|
|
package/docs/mcp/shape.md
CHANGED
|
@@ -6,7 +6,7 @@ sidebar_icon: pencil-ruler
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
**Shape** means: create or update a local portal site (OpenAPI, plans, auth flags, public routes)
|
|
9
|
-
without publishing. You preview with `
|
|
9
|
+
without publishing. You preview with `npx apitogo run`.
|
|
10
10
|
|
|
11
11
|
## Happy path
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ without publishing. You preview with `npm run dev`.
|
|
|
14
14
|
apply_product_intent({ mode: "shape", siteDirectory, backend?, openApi?, plans?, auth?, gatewayPolicies?, branding? })
|
|
15
15
|
→ scaffold if needed
|
|
16
16
|
→ wire OpenAPI / plans / auth / gateway.publicRoutes
|
|
17
|
-
→ you run
|
|
17
|
+
→ you run npx apitogo run
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Example prompt:
|
|
@@ -36,10 +36,10 @@ pass plans/backend). Then run:
|
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
cd ./dev-portal-site
|
|
39
|
-
|
|
39
|
+
npx apitogo run
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
`create_dev_portal` does **not** start the preview server. Use `
|
|
42
|
+
`create_dev_portal` does **not** start the preview server. Use `npx apitogo run` or
|
|
43
43
|
`preview_dev_portal_site`.
|
|
44
44
|
|
|
45
45
|
Optional: `bootstrapProject: true` on create (or `bootstrap_project`) to create the platform project
|
package/docs/quickstart.md
CHANGED