@brainfish-ai/devdoc 0.1.41 → 0.1.42

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.
@@ -0,0 +1,332 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://devdoc.sh/docs.json",
4
+ "title": "DevDoc Configuration Schema",
5
+ "description": "Schema for docs.json - the main configuration file for DevDoc documentation",
6
+ "type": "object",
7
+ "required": ["name", "navigation"],
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string",
11
+ "description": "Schema reference URL",
12
+ "default": "https://devdoc.sh/docs.json"
13
+ },
14
+ "name": {
15
+ "type": "string",
16
+ "description": "Documentation site name",
17
+ "examples": ["My Documentation", "Acme API Docs"]
18
+ },
19
+ "docType": {
20
+ "type": "string",
21
+ "enum": ["internal", "api", "product"],
22
+ "description": "Documentation type for AI agents",
23
+ "enumDescriptions": {
24
+ "internal": "Team docs: setup guides, architecture, contributing",
25
+ "api": "External developer docs: API reference, authentication, SDKs",
26
+ "product": "End user docs: features, tutorials, FAQs"
27
+ }
28
+ },
29
+ "favicon": {
30
+ "type": "string",
31
+ "description": "Path to favicon file",
32
+ "examples": ["/favicon.svg", "/assets/favicon.ico"]
33
+ },
34
+ "notice": {
35
+ "type": "object",
36
+ "description": "Announcement banner at top of docs",
37
+ "properties": {
38
+ "content": {
39
+ "type": "string",
40
+ "description": "Banner content (supports markdown links)",
41
+ "examples": ["🚀 We just launched v2.0! [Check it out](/changelog)"]
42
+ },
43
+ "dismissible": {
44
+ "type": "boolean",
45
+ "description": "Whether users can dismiss the banner",
46
+ "default": true
47
+ }
48
+ },
49
+ "required": ["content"]
50
+ },
51
+ "navigation": {
52
+ "type": "object",
53
+ "description": "Navigation structure",
54
+ "required": ["tabs"],
55
+ "properties": {
56
+ "tabs": {
57
+ "type": "array",
58
+ "description": "Top-level navigation tabs",
59
+ "items": {
60
+ "$ref": "#/definitions/tab"
61
+ }
62
+ },
63
+ "global": {
64
+ "type": "object",
65
+ "description": "Global navigation elements",
66
+ "properties": {
67
+ "anchors": {
68
+ "type": "array",
69
+ "description": "External links in header",
70
+ "items": {
71
+ "$ref": "#/definitions/anchor"
72
+ }
73
+ }
74
+ }
75
+ }
76
+ }
77
+ },
78
+ "navbar": {
79
+ "type": "object",
80
+ "description": "Navbar configuration",
81
+ "properties": {
82
+ "primary": {
83
+ "type": "object",
84
+ "description": "Primary CTA button",
85
+ "properties": {
86
+ "label": { "type": "string" },
87
+ "href": { "type": "string" }
88
+ },
89
+ "required": ["label", "href"]
90
+ }
91
+ }
92
+ },
93
+ "openapi": {
94
+ "type": "string",
95
+ "description": "Path to OpenAPI spec file",
96
+ "examples": ["api-reference/openapi.json", "api-reference/openapi.yaml"]
97
+ },
98
+ "api": {
99
+ "type": "object",
100
+ "description": "API configuration",
101
+ "properties": {
102
+ "baseUrl": {
103
+ "type": "string",
104
+ "description": "Base URL for API requests",
105
+ "examples": ["https://api.example.com"]
106
+ },
107
+ "playground": {
108
+ "type": "object",
109
+ "properties": {
110
+ "mode": {
111
+ "type": "string",
112
+ "enum": ["show", "hide"],
113
+ "default": "show"
114
+ }
115
+ }
116
+ }
117
+ }
118
+ },
119
+ "seo": {
120
+ "type": "object",
121
+ "description": "SEO settings",
122
+ "properties": {
123
+ "indexing": {
124
+ "type": "string",
125
+ "enum": ["navigation", "all", "none"],
126
+ "default": "navigation"
127
+ },
128
+ "metatags": {
129
+ "type": "object",
130
+ "description": "Custom meta tags",
131
+ "additionalProperties": { "type": "string" }
132
+ }
133
+ }
134
+ },
135
+ "redirects": {
136
+ "type": "array",
137
+ "description": "URL redirects",
138
+ "items": {
139
+ "type": "object",
140
+ "required": ["source", "destination"],
141
+ "properties": {
142
+ "source": {
143
+ "type": "string",
144
+ "description": "Source path (supports wildcards)",
145
+ "examples": ["/old-page", "/docs/:slug*"]
146
+ },
147
+ "destination": {
148
+ "type": "string",
149
+ "description": "Destination path",
150
+ "examples": ["/new-page", "/:slug*"]
151
+ }
152
+ }
153
+ }
154
+ }
155
+ },
156
+ "definitions": {
157
+ "tab": {
158
+ "type": "object",
159
+ "required": ["tab"],
160
+ "properties": {
161
+ "tab": {
162
+ "type": "string",
163
+ "description": "Tab display name",
164
+ "examples": ["Guides", "API Reference", "Changelog"]
165
+ },
166
+ "type": {
167
+ "type": "string",
168
+ "enum": ["docs", "openapi", "graphql", "changelog"],
169
+ "default": "docs",
170
+ "description": "Tab type"
171
+ },
172
+ "path": {
173
+ "type": "string",
174
+ "description": "URL path prefix for this tab",
175
+ "examples": ["/api-reference", "/changelog"]
176
+ },
177
+ "groups": {
178
+ "type": "array",
179
+ "description": "Navigation groups within this tab",
180
+ "items": {
181
+ "$ref": "#/definitions/group"
182
+ }
183
+ },
184
+ "versions": {
185
+ "type": "array",
186
+ "description": "API versions (for openapi type)",
187
+ "items": {
188
+ "type": "object",
189
+ "required": ["version", "spec"],
190
+ "properties": {
191
+ "version": { "type": "string" },
192
+ "spec": { "type": "string" },
193
+ "default": { "type": "boolean" }
194
+ }
195
+ }
196
+ },
197
+ "spec": {
198
+ "type": "string",
199
+ "description": "OpenAPI spec path (shorthand for single version)"
200
+ },
201
+ "schema": {
202
+ "type": "string",
203
+ "description": "GraphQL schema path (for graphql type)"
204
+ },
205
+ "endpoint": {
206
+ "type": "string",
207
+ "description": "GraphQL endpoint URL (for graphql type)"
208
+ }
209
+ }
210
+ },
211
+ "group": {
212
+ "type": "object",
213
+ "required": ["group", "pages"],
214
+ "properties": {
215
+ "group": {
216
+ "type": "string",
217
+ "description": "Group display name",
218
+ "examples": ["Getting Started", "Configuration", "API Reference"]
219
+ },
220
+ "icon": {
221
+ "type": "string",
222
+ "description": "Phosphor icon name",
223
+ "examples": ["rocket-launch", "book-open", "code", "gear", "terminal", "puzzle-piece", "star", "shield", "user", "robot"]
224
+ },
225
+ "pages": {
226
+ "type": "array",
227
+ "description": "Pages in this group (file paths without .mdx extension, or nested groups)",
228
+ "items": {
229
+ "oneOf": [
230
+ {
231
+ "type": "string",
232
+ "description": "Page path (without .mdx extension)",
233
+ "examples": ["index", "quickstart", "guides/authentication"]
234
+ },
235
+ {
236
+ "$ref": "#/definitions/group"
237
+ }
238
+ ]
239
+ }
240
+ }
241
+ }
242
+ },
243
+ "anchor": {
244
+ "type": "object",
245
+ "required": ["anchor", "href"],
246
+ "properties": {
247
+ "anchor": {
248
+ "type": "string",
249
+ "description": "Link display text",
250
+ "examples": ["GitHub", "Discord", "Twitter"]
251
+ },
252
+ "href": {
253
+ "type": "string",
254
+ "description": "Link URL"
255
+ },
256
+ "icon": {
257
+ "type": "string",
258
+ "description": "Phosphor icon name",
259
+ "examples": ["github-logo", "discord-logo", "twitter-logo"]
260
+ }
261
+ }
262
+ }
263
+ },
264
+ "examples": [
265
+ {
266
+ "$schema": "https://devdoc.sh/docs.json",
267
+ "name": "Acme Documentation",
268
+ "docType": "api",
269
+ "favicon": "/favicon.svg",
270
+ "navigation": {
271
+ "tabs": [
272
+ {
273
+ "tab": "Guides",
274
+ "type": "docs",
275
+ "groups": [
276
+ {
277
+ "group": "Getting Started",
278
+ "icon": "rocket-launch",
279
+ "pages": ["index", "quickstart", "authentication"]
280
+ },
281
+ {
282
+ "group": "Features",
283
+ "icon": "star",
284
+ "pages": ["features/overview", "features/advanced"]
285
+ }
286
+ ]
287
+ },
288
+ {
289
+ "tab": "API Reference",
290
+ "type": "openapi",
291
+ "path": "/api-reference",
292
+ "versions": [
293
+ { "version": "v2", "spec": "api-reference/v2/openapi.json", "default": true },
294
+ { "version": "v1", "spec": "api-reference/v1/openapi.json" }
295
+ ],
296
+ "groups": [
297
+ {
298
+ "group": "Overview",
299
+ "icon": "book-open",
300
+ "pages": ["api-reference/introduction"]
301
+ }
302
+ ]
303
+ },
304
+ {
305
+ "tab": "Changelog",
306
+ "type": "changelog",
307
+ "path": "/changelog"
308
+ }
309
+ ],
310
+ "global": {
311
+ "anchors": [
312
+ {
313
+ "anchor": "GitHub",
314
+ "href": "https://github.com/acme/docs",
315
+ "icon": "github-logo"
316
+ }
317
+ ]
318
+ }
319
+ },
320
+ "openapi": "api-reference/openapi.json",
321
+ "api": {
322
+ "baseUrl": "https://api.acme.com",
323
+ "playground": {
324
+ "mode": "show"
325
+ }
326
+ },
327
+ "seo": {
328
+ "indexing": "navigation"
329
+ }
330
+ }
331
+ ]
332
+ }
@@ -0,0 +1,243 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://devdoc.sh/theme.json",
4
+ "title": "DevDoc Theme Schema",
5
+ "description": "Schema for theme.json - customize the look and feel of your documentation",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string",
10
+ "description": "Schema reference URL",
11
+ "default": "https://devdoc.sh/theme.json"
12
+ },
13
+ "logo": {
14
+ "type": "object",
15
+ "description": "Logo configuration",
16
+ "properties": {
17
+ "url": {
18
+ "type": "string",
19
+ "description": "Single logo URL for both light and dark modes",
20
+ "examples": ["/assets/logo.svg"]
21
+ },
22
+ "light": {
23
+ "type": "string",
24
+ "description": "Logo for light mode",
25
+ "examples": ["/assets/logo/light.svg", "/logo-light.svg"]
26
+ },
27
+ "dark": {
28
+ "type": "string",
29
+ "description": "Logo for dark mode",
30
+ "examples": ["/assets/logo/dark.svg", "/logo-dark.svg"]
31
+ },
32
+ "alt": {
33
+ "type": "string",
34
+ "description": "Alt text for accessibility",
35
+ "examples": ["Acme Documentation", "My Project"]
36
+ },
37
+ "width": {
38
+ "type": "number",
39
+ "description": "Logo width in pixels",
40
+ "default": 120,
41
+ "examples": [100, 120, 150, 180]
42
+ },
43
+ "height": {
44
+ "type": "number",
45
+ "description": "Logo height in pixels",
46
+ "default": 32,
47
+ "examples": [24, 32, 40]
48
+ }
49
+ }
50
+ },
51
+ "colors": {
52
+ "type": "object",
53
+ "description": "Brand colors (use hex codes)",
54
+ "properties": {
55
+ "primary": {
56
+ "type": "string",
57
+ "description": "Primary brand color for links, buttons, accents",
58
+ "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
59
+ "examples": ["#6366f1", "#3b82f6", "#10b981", "#f59e0b", "#ef4444"]
60
+ },
61
+ "primaryLight": {
62
+ "type": "string",
63
+ "description": "Lighter variant for hover states",
64
+ "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
65
+ "examples": ["#818cf8", "#60a5fa", "#34d399"]
66
+ },
67
+ "primaryDark": {
68
+ "type": "string",
69
+ "description": "Darker variant for dark mode accents",
70
+ "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
71
+ "examples": ["#4f46e5", "#2563eb", "#059669"]
72
+ }
73
+ }
74
+ },
75
+ "header": {
76
+ "type": "object",
77
+ "description": "Header configuration",
78
+ "properties": {
79
+ "showAskAI": {
80
+ "type": "boolean",
81
+ "description": "Show AI assistant button",
82
+ "default": true
83
+ },
84
+ "showSearch": {
85
+ "type": "boolean",
86
+ "description": "Show search bar",
87
+ "default": true
88
+ },
89
+ "showThemeToggle": {
90
+ "type": "boolean",
91
+ "description": "Show dark/light mode toggle",
92
+ "default": true
93
+ }
94
+ }
95
+ },
96
+ "navbar": {
97
+ "type": "object",
98
+ "description": "Navbar links and CTA",
99
+ "properties": {
100
+ "links": {
101
+ "type": "array",
102
+ "description": "Header navigation links",
103
+ "items": {
104
+ "type": "object",
105
+ "required": ["label", "href"],
106
+ "properties": {
107
+ "label": {
108
+ "type": "string",
109
+ "description": "Link text",
110
+ "examples": ["Blog", "Dashboard", "GitHub"]
111
+ },
112
+ "href": {
113
+ "type": "string",
114
+ "description": "Link URL"
115
+ },
116
+ "external": {
117
+ "type": "boolean",
118
+ "description": "Opens in new tab if true",
119
+ "default": false
120
+ }
121
+ }
122
+ }
123
+ },
124
+ "primary": {
125
+ "type": "object",
126
+ "description": "Primary CTA button in header",
127
+ "required": ["label", "href"],
128
+ "properties": {
129
+ "label": {
130
+ "type": "string",
131
+ "description": "Button text",
132
+ "examples": ["Get Started", "Sign Up", "Try Free"]
133
+ },
134
+ "href": {
135
+ "type": "string",
136
+ "description": "Button link URL",
137
+ "examples": ["/quickstart", "https://app.example.com/signup"]
138
+ }
139
+ }
140
+ }
141
+ }
142
+ },
143
+ "typography": {
144
+ "type": "object",
145
+ "description": "Typography settings",
146
+ "properties": {
147
+ "fontFamily": {
148
+ "type": "string",
149
+ "description": "Main font family",
150
+ "examples": ["Inter, sans-serif", "'Geist', -apple-system, sans-serif"]
151
+ },
152
+ "fontFamilyMono": {
153
+ "type": "string",
154
+ "description": "Monospace font for code",
155
+ "examples": ["'JetBrains Mono', 'Fira Code', monospace", "'SF Mono', Consolas, monospace"]
156
+ },
157
+ "baseFontSize": {
158
+ "type": "string",
159
+ "description": "Base font size",
160
+ "default": "16px",
161
+ "examples": ["14px", "15px", "16px"]
162
+ }
163
+ }
164
+ },
165
+ "defaultTheme": {
166
+ "type": "string",
167
+ "enum": ["light", "dark", "system"],
168
+ "description": "Default color theme",
169
+ "default": "system"
170
+ },
171
+ "customCss": {
172
+ "type": "string",
173
+ "description": "Path to custom CSS file",
174
+ "examples": ["custom.css", "styles/custom.css"]
175
+ }
176
+ },
177
+ "examples": [
178
+ {
179
+ "$schema": "https://devdoc.sh/theme.json",
180
+ "logo": {
181
+ "light": "/assets/logo/light.svg",
182
+ "dark": "/assets/logo/dark.svg",
183
+ "alt": "Acme Documentation",
184
+ "width": 120,
185
+ "height": 32
186
+ },
187
+ "colors": {
188
+ "primary": "#6366f1",
189
+ "primaryLight": "#818cf8",
190
+ "primaryDark": "#4f46e5"
191
+ },
192
+ "header": {
193
+ "showAskAI": true,
194
+ "showSearch": true,
195
+ "showThemeToggle": true
196
+ },
197
+ "navbar": {
198
+ "links": [
199
+ {
200
+ "label": "Blog",
201
+ "href": "https://blog.acme.com",
202
+ "external": true
203
+ }
204
+ ],
205
+ "primary": {
206
+ "label": "Get Started",
207
+ "href": "/quickstart"
208
+ }
209
+ },
210
+ "defaultTheme": "system",
211
+ "customCss": "custom.css"
212
+ },
213
+ {
214
+ "$schema": "https://devdoc.sh/theme.json",
215
+ "logo": {
216
+ "url": "/logo.svg",
217
+ "alt": "My Project",
218
+ "width": 100
219
+ },
220
+ "colors": {
221
+ "primary": "#10b981"
222
+ },
223
+ "header": {
224
+ "showAskAI": true,
225
+ "showSearch": true,
226
+ "showThemeToggle": true
227
+ }
228
+ }
229
+ ],
230
+ "colorPresets": {
231
+ "description": "Common color presets for quick reference",
232
+ "presets": {
233
+ "indigo": { "primary": "#6366f1", "primaryLight": "#818cf8", "primaryDark": "#4f46e5" },
234
+ "blue": { "primary": "#3b82f6", "primaryLight": "#60a5fa", "primaryDark": "#2563eb" },
235
+ "green": { "primary": "#10b981", "primaryLight": "#34d399", "primaryDark": "#059669" },
236
+ "amber": { "primary": "#f59e0b", "primaryLight": "#fbbf24", "primaryDark": "#d97706" },
237
+ "red": { "primary": "#ef4444", "primaryLight": "#f87171", "primaryDark": "#dc2626" },
238
+ "purple": { "primary": "#8b5cf6", "primaryLight": "#a78bfa", "primaryDark": "#7c3aed" },
239
+ "pink": { "primary": "#ec4899", "primaryLight": "#f472b6", "primaryDark": "#db2777" },
240
+ "slate": { "primary": "#64748b", "primaryLight": "#94a3b8", "primaryDark": "#475569" }
241
+ }
242
+ }
243
+ }