@pepshlr/pepdoc 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/adapters/express.d.ts +24 -0
  2. package/dist/adapters/express.d.ts.map +1 -0
  3. package/dist/adapters/express.js +125 -0
  4. package/dist/adapters/express.js.map +1 -0
  5. package/dist/adapters/index.d.ts +2 -0
  6. package/dist/adapters/index.d.ts.map +1 -0
  7. package/dist/adapters/index.js +6 -0
  8. package/dist/adapters/index.js.map +1 -0
  9. package/dist/bin/pepsdoc.d.ts +11 -0
  10. package/dist/bin/pepsdoc.d.ts.map +1 -0
  11. package/dist/bin/pepsdoc.js +211 -0
  12. package/dist/bin/pepsdoc.js.map +1 -0
  13. package/dist/core/config.d.ts +7 -0
  14. package/dist/core/config.d.ts.map +1 -0
  15. package/dist/core/config.js +29 -0
  16. package/dist/core/config.js.map +1 -0
  17. package/dist/core/index.d.ts +4 -0
  18. package/dist/core/index.d.ts.map +1 -0
  19. package/dist/core/index.js +9 -0
  20. package/dist/core/index.js.map +1 -0
  21. package/dist/core/schema.d.ts +86 -0
  22. package/dist/core/schema.d.ts.map +1 -0
  23. package/dist/core/schema.js +7 -0
  24. package/dist/core/schema.js.map +1 -0
  25. package/dist/core/storage.d.ts +28 -0
  26. package/dist/core/storage.d.ts.map +1 -0
  27. package/dist/core/storage.js +136 -0
  28. package/dist/core/storage.js.map +1 -0
  29. package/dist/export/index.d.ts +2 -0
  30. package/dist/export/index.d.ts.map +1 -0
  31. package/dist/export/index.js +7 -0
  32. package/dist/export/index.js.map +1 -0
  33. package/dist/export/llm.d.ts +10 -0
  34. package/dist/export/llm.d.ts.map +1 -0
  35. package/dist/export/llm.js +79 -0
  36. package/dist/export/llm.js.map +1 -0
  37. package/dist/index.d.ts +22 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +35 -0
  40. package/dist/index.js.map +1 -0
  41. package/package.json +44 -0
  42. package/templates/ai-skill.md +203 -0
  43. package/ui/build/assets/index-BmHYXQxb.js +15 -0
  44. package/ui/build/assets/index-DxKrKvFe.css +2 -0
  45. package/ui/build/favicon.svg +1 -0
  46. package/ui/build/icons.svg +24 -0
  47. package/ui/build/index.html +14 -0
@@ -0,0 +1,24 @@
1
+ /**
2
+ * PepsDoc - Express Adapter
3
+ * Serve a documentação como middleware Express
4
+ */
5
+ import type { PepsDocConfig } from '../core/schema';
6
+ interface ExpressApp {
7
+ get(path: string, ...handlers: Function[]): void;
8
+ use(path: string, ...handlers: Function[]): void;
9
+ }
10
+ /**
11
+ * Inicializa o PepsDoc num app Express
12
+ *
13
+ * ```ts
14
+ * import express from 'express';
15
+ * import { pepsdoc } from 'pepsdoc';
16
+ *
17
+ * const app = express();
18
+ * pepsdoc(app, { title: 'Minha API' });
19
+ * app.listen(3000);
20
+ * ```
21
+ */
22
+ export declare function expressAdapter(app: ExpressApp, userConfig?: Partial<PepsDocConfig>): void;
23
+ export {};
24
+ //# sourceMappingURL=express.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/adapters/express.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,UAAU,UAAU;IAClB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACjD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAClD;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAqEzF"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * PepsDoc - Express Adapter
4
+ * Serve a documentação como middleware Express
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.expressAdapter = expressAdapter;
41
+ const path = __importStar(require("path"));
42
+ const fs = __importStar(require("fs"));
43
+ const storage_1 = require("../core/storage");
44
+ const config_1 = require("../core/config");
45
+ /**
46
+ * Inicializa o PepsDoc num app Express
47
+ *
48
+ * ```ts
49
+ * import express from 'express';
50
+ * import { pepsdoc } from 'pepsdoc';
51
+ *
52
+ * const app = express();
53
+ * pepsdoc(app, { title: 'Minha API' });
54
+ * app.listen(3000);
55
+ * ```
56
+ */
57
+ function expressAdapter(app, userConfig) {
58
+ const config = { ...config_1.DEFAULT_CONFIG, ...userConfig };
59
+ const basePath = config.basePath || '/docs';
60
+ const projectRoot = process.cwd();
61
+ const storage = new storage_1.Storage(projectRoot);
62
+ // Inicializa a pasta pepsdoc/ se não existir
63
+ if (!storage.isInitialized()) {
64
+ storage.init(config);
65
+ }
66
+ // API: retorna os dados compilados
67
+ app.get(`${basePath}/api/data`, (_req, res) => {
68
+ try {
69
+ const data = storage.compile();
70
+ res.json(data);
71
+ }
72
+ catch {
73
+ res.status(500).json({ error: 'Failed to compile documentation' });
74
+ }
75
+ });
76
+ // Serve a UI estática
77
+ // __dirname will be dist/adapters/ when compiled, so go up 2 levels to package root
78
+ const uiBuildDir = path.join(__dirname, '..', '..', 'ui', 'build');
79
+ if (fs.existsSync(uiBuildDir)) {
80
+ // Em produção: serve a build estática
81
+ app.get(`${basePath}`, (_req, res) => {
82
+ res.sendFile(path.join(uiBuildDir, 'index.html'));
83
+ });
84
+ app.get(`${basePath}/*`, (req, res) => {
85
+ const filePath = path.join(uiBuildDir, req.path.replace(basePath, ''));
86
+ if (fs.existsSync(filePath)) {
87
+ res.sendFile(filePath);
88
+ }
89
+ else {
90
+ // SPA fallback
91
+ res.sendFile(path.join(uiBuildDir, 'index.html'));
92
+ }
93
+ });
94
+ }
95
+ else {
96
+ // Em dev: mostra mensagem placeholder
97
+ app.get(`${basePath}`, (_req, res) => {
98
+ res.type('html').send(`
99
+ <!DOCTYPE html>
100
+ <html>
101
+ <head>
102
+ <title>${config.title} - PepsDoc</title>
103
+ <style>
104
+ body { font-family: system-ui, sans-serif; display: flex; align-items: center; justify-content: center; min-height: 100vh; margin: 0; background: #0a0a0a; color: #fff; }
105
+ .container { text-align: center; max-width: 500px; }
106
+ h1 { font-size: 2rem; margin-bottom: 0.5rem; }
107
+ p { color: #888; line-height: 1.6; }
108
+ code { background: #1a1a2e; padding: 2px 8px; border-radius: 4px; color: #818cf8; }
109
+ a { color: #818cf8; }
110
+ </style>
111
+ </head>
112
+ <body>
113
+ <div class="container">
114
+ <h1>PepsDoc</h1>
115
+ <p><strong>${config.title}</strong></p>
116
+ <p>Documentation UI is loading data from <code>${basePath}/api/data</code></p>
117
+ <p>UI build not found. Run <code>npx pepsdoc build</code> to generate.</p>
118
+ </div>
119
+ </body>
120
+ </html>
121
+ `);
122
+ });
123
+ }
124
+ }
125
+ //# sourceMappingURL=express.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/adapters/express.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCH,wCAqEC;AAxGD,2CAA6B;AAC7B,uCAAyB;AACzB,6CAA0C;AAE1C,2CAAgD;AAmBhD;;;;;;;;;;;GAWG;AACH,SAAgB,cAAc,CAAC,GAAe,EAAE,UAAmC;IACjF,MAAM,MAAM,GAAkB,EAAE,GAAG,uBAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,WAAW,CAAC,CAAC;IAEzC,6CAA6C;IAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,mCAAmC;IACnC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,WAAW,EAAE,CAAC,IAAoB,EAAE,GAAoB,EAAE,EAAE;QAC7E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,oFAAoF;IACpF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,sCAAsC;QACtC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,IAAoB,EAAE,GAAoB,EAAE,EAAE;YACpE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,EAAE,CAAC,GAAmB,EAAE,GAAoB,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACvE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,IAAoB,EAAE,GAAoB,EAAE,EAAE;YACpE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;;;mBAIT,MAAM,CAAC,KAAK;;;;;;;;;;;;;yBAaN,MAAM,CAAC,KAAK;6DACwB,QAAQ;;;;;OAK9D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { expressAdapter } from './express';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expressAdapter = void 0;
4
+ var express_1 = require("./express");
5
+ Object.defineProperty(exports, "expressAdapter", { enumerable: true, get: function () { return express_1.expressAdapter; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;;AAAA,qCAA2C;AAAlC,yGAAA,cAAc,OAAA"}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * PepsDoc CLI
4
+ * Usage:
5
+ * npx pepsdoc init - Initialize pepsdoc/ folder
6
+ * npx pepsdoc build - Compile documentation data
7
+ * npx pepsdoc export - Export to markdown/LLM format
8
+ * npx pepsdoc validate - Validate JSON files
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=pepsdoc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pepsdoc.d.ts","sourceRoot":"","sources":["../../src/bin/pepsdoc.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * PepsDoc CLI
5
+ * Usage:
6
+ * npx pepsdoc init - Initialize pepsdoc/ folder
7
+ * npx pepsdoc build - Compile documentation data
8
+ * npx pepsdoc export - Export to markdown/LLM format
9
+ * npx pepsdoc validate - Validate JSON files
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ const path = __importStar(require("path"));
46
+ const fs = __importStar(require("fs"));
47
+ const storage_1 = require("../core/storage");
48
+ const config_1 = require("../core/config");
49
+ const llm_1 = require("../export/llm");
50
+ const args = process.argv.slice(2);
51
+ const command = args[0];
52
+ const projectRoot = process.cwd();
53
+ function printBanner() {
54
+ console.log('');
55
+ console.log(' ╔═══════════════════════════════════════════════════════╗');
56
+ console.log(' ║ ║');
57
+ console.log(' ║ PepsDoc - API documentation, beautifully automated ║');
58
+ console.log(' ║ ║');
59
+ console.log(' ╚═══════════════════════════════════════════════════════╝');
60
+ console.log('');
61
+ }
62
+ function printOnboarding() {
63
+ console.log(' ┌───────────────────────────────────────────────────────┐');
64
+ console.log(' │ │');
65
+ console.log(' │ Copy the text below and paste it in your AI chat: │');
66
+ console.log(' │ │');
67
+ console.log(' │ Read the PepsDoc AI skill at: │');
68
+ console.log(` │ ${path.join('node_modules', 'pepsdoc', 'templates', 'ai-skill.md')} │`);
69
+ console.log(' │ │');
70
+ console.log(' │ Then ask your AI to document your backend using │');
71
+ console.log(' │ the PepsDoc framework. │');
72
+ console.log(' │ │');
73
+ console.log(' └───────────────────────────────────────────────────────┘');
74
+ console.log('');
75
+ }
76
+ function cmdInit() {
77
+ const storage = new storage_1.Storage(projectRoot);
78
+ if (storage.isInitialized()) {
79
+ console.log(' PepsDoc is already initialized in this project.');
80
+ console.log(` Config: ${path.join('pepsdoc', 'pepsdoc.config.json')}`);
81
+ return;
82
+ }
83
+ storage.init(config_1.DEFAULT_CONFIG);
84
+ printBanner();
85
+ console.log(' Initialized successfully!');
86
+ console.log('');
87
+ console.log(` Created: pepsdoc/`);
88
+ console.log(` Created: pepsdoc/pepsdoc.config.json`);
89
+ console.log(` Created: pepsdoc/data/v1/`);
90
+ console.log('');
91
+ printOnboarding();
92
+ }
93
+ function cmdBuild() {
94
+ const storage = new storage_1.Storage(projectRoot);
95
+ if (!storage.isInitialized()) {
96
+ console.error(' Error: PepsDoc not initialized. Run "npx pepsdoc init" first.');
97
+ process.exit(1);
98
+ }
99
+ const data = storage.compile();
100
+ const outDir = path.join(projectRoot, 'pepsdoc', '.build');
101
+ fs.mkdirSync(outDir, { recursive: true });
102
+ // Gera o data.json compilado
103
+ fs.writeFileSync(path.join(outDir, 'data.json'), JSON.stringify(data, null, 2), 'utf-8');
104
+ console.log('');
105
+ console.log(` Build complete!`);
106
+ console.log(` Output: pepsdoc/.build/data.json`);
107
+ console.log(` Versions: ${data.versions.map((v) => v.name).join(', ') || 'none'}`);
108
+ console.log(` Groups: ${data.versions.reduce((acc, v) => acc + v.groups.length, 0)}`);
109
+ console.log(` Endpoints: ${data.versions.reduce((acc, v) => acc + v.groups.reduce((a, g) => a + g.endpoints.length, 0), 0)}`);
110
+ console.log('');
111
+ }
112
+ function cmdExport() {
113
+ const storage = new storage_1.Storage(projectRoot);
114
+ if (!storage.isInitialized()) {
115
+ console.error(' Error: PepsDoc not initialized. Run "npx pepsdoc init" first.');
116
+ process.exit(1);
117
+ }
118
+ const format = args[1] || 'llm';
119
+ const data = storage.compile();
120
+ if (format === 'llm' || format === 'markdown') {
121
+ const md = (0, llm_1.dataToLLM)(data);
122
+ const outPath = path.join(projectRoot, 'pepsdoc-api-reference.md');
123
+ fs.writeFileSync(outPath, md, 'utf-8');
124
+ console.log('');
125
+ console.log(` Exported to: pepsdoc-api-reference.md`);
126
+ console.log(' You can copy this file and paste it into your AI chat to build the frontend.');
127
+ console.log('');
128
+ }
129
+ else {
130
+ console.error(` Unknown export format: ${format}`);
131
+ console.error(' Available: llm, markdown');
132
+ process.exit(1);
133
+ }
134
+ }
135
+ function cmdValidate() {
136
+ const storage = new storage_1.Storage(projectRoot);
137
+ if (!storage.isInitialized()) {
138
+ console.error(' Error: PepsDoc not initialized. Run "npx pepsdoc init" first.');
139
+ process.exit(1);
140
+ }
141
+ const versions = storage.listVersions();
142
+ let errors = 0;
143
+ let total = 0;
144
+ for (const version of versions) {
145
+ const groups = storage.readGroups(version);
146
+ for (const group of groups) {
147
+ total++;
148
+ if (!group.group) {
149
+ console.error(` [ERROR] ${version}: Missing "group" field`);
150
+ errors++;
151
+ }
152
+ if (!group.endpoints || !Array.isArray(group.endpoints)) {
153
+ console.error(` [ERROR] ${version}/${group.group}: Missing or invalid "endpoints" array`);
154
+ errors++;
155
+ }
156
+ for (const ep of group.endpoints) {
157
+ if (!ep.method || !ep.path) {
158
+ console.error(` [ERROR] ${version}/${group.group}: Endpoint missing method or path`);
159
+ errors++;
160
+ }
161
+ }
162
+ }
163
+ }
164
+ console.log('');
165
+ if (errors === 0) {
166
+ console.log(` Validation passed! ${total} groups checked, 0 errors.`);
167
+ }
168
+ else {
169
+ console.log(` Validation failed: ${errors} error(s) found in ${total} groups.`);
170
+ }
171
+ console.log('');
172
+ }
173
+ function printHelp() {
174
+ printBanner();
175
+ console.log(' Usage: npx pepsdoc <command>');
176
+ console.log('');
177
+ console.log(' Commands:');
178
+ console.log(' init Initialize pepsdoc/ folder in your project');
179
+ console.log(' build Compile documentation data into .build/');
180
+ console.log(' export Export docs to markdown/LLM format');
181
+ console.log(' validate Validate all JSON documentation files');
182
+ console.log(' help Show this message');
183
+ console.log('');
184
+ }
185
+ // --- Main ---
186
+ switch (command) {
187
+ case 'init':
188
+ cmdInit();
189
+ break;
190
+ case 'build':
191
+ cmdBuild();
192
+ break;
193
+ case 'export':
194
+ cmdExport();
195
+ break;
196
+ case 'validate':
197
+ cmdValidate();
198
+ break;
199
+ case 'help':
200
+ case '--help':
201
+ case '-h':
202
+ printHelp();
203
+ break;
204
+ default:
205
+ printHelp();
206
+ if (command) {
207
+ console.error(` Unknown command: ${command}`);
208
+ }
209
+ process.exit(command ? 1 : 0);
210
+ }
211
+ //# sourceMappingURL=pepsdoc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pepsdoc.js","sourceRoot":"","sources":["../../src/bin/pepsdoc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * PepsDoc - Config defaults
3
+ */
4
+ import type { PepsDocConfig } from './schema';
5
+ export declare const DEFAULT_CONFIG: PepsDocConfig;
6
+ export declare const METHOD_COLORS: Record<string, string>;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,cAAc,EAAE,aAY5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAQhD,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * PepsDoc - Config defaults
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.METHOD_COLORS = exports.DEFAULT_CONFIG = void 0;
7
+ exports.DEFAULT_CONFIG = {
8
+ title: 'My API',
9
+ description: 'API Documentation powered by PepsDoc',
10
+ basePath: '/docs',
11
+ versions: [
12
+ {
13
+ name: 'v1',
14
+ badge: 'stable',
15
+ badgeColor: 'green',
16
+ default: true,
17
+ },
18
+ ],
19
+ };
20
+ exports.METHOD_COLORS = {
21
+ GET: '#22c55e',
22
+ POST: '#3b82f6',
23
+ PUT: '#f59e0b',
24
+ PATCH: '#a855f7',
25
+ DELETE: '#ef4444',
26
+ HEAD: '#6b7280',
27
+ OPTIONS: '#6b7280',
28
+ };
29
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIU,QAAA,cAAc,GAAkB;IAC3C,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,sCAAsC;IACnD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,IAAI;SACd;KACF;CACF,CAAC;AAEW,QAAA,aAAa,GAA2B;IACnD,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS;CACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { Storage } from './storage';
2
+ export { DEFAULT_CONFIG, METHOD_COLORS } from './config';
3
+ export type { PepsDocConfig, VersionConfig, TabConfig, ThemeConfig, HttpMethod, EndpointGroup, Endpoint, ParamField, RequestBody, ResponseDefinition, Note, PepsDocData, VersionData, } from './schema';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EACV,aAAa,EACb,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,IAAI,EACJ,WAAW,EACX,WAAW,GACZ,MAAM,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.METHOD_COLORS = exports.DEFAULT_CONFIG = exports.Storage = void 0;
4
+ var storage_1 = require("./storage");
5
+ Object.defineProperty(exports, "Storage", { enumerable: true, get: function () { return storage_1.Storage; } });
6
+ var config_1 = require("./config");
7
+ Object.defineProperty(exports, "DEFAULT_CONFIG", { enumerable: true, get: function () { return config_1.DEFAULT_CONFIG; } });
8
+ Object.defineProperty(exports, "METHOD_COLORS", { enumerable: true, get: function () { return config_1.METHOD_COLORS; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,mCAAyD;AAAhD,wGAAA,cAAc,OAAA;AAAE,uGAAA,aAAa,OAAA"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * PepsDoc - Schema Types
3
+ * Tipos TypeScript que definem a estrutura da documentação
4
+ */
5
+ export interface PepsDocConfig {
6
+ title: string;
7
+ description?: string;
8
+ basePath?: string;
9
+ baseUrl?: string;
10
+ versions?: VersionConfig[];
11
+ tabs?: TabConfig[];
12
+ theme?: ThemeConfig;
13
+ }
14
+ export interface VersionConfig {
15
+ name: string;
16
+ badge?: 'stable' | 'beta' | 'deprecated' | 'experimental';
17
+ badgeColor?: string;
18
+ default?: boolean;
19
+ }
20
+ export interface TabConfig {
21
+ name: string;
22
+ slug: string;
23
+ }
24
+ export interface ThemeConfig {
25
+ primaryColor?: string;
26
+ logo?: string;
27
+ darkMode?: boolean;
28
+ }
29
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS';
30
+ export interface EndpointGroup {
31
+ group: string;
32
+ icon?: string;
33
+ order?: number;
34
+ endpoints: Endpoint[];
35
+ }
36
+ export interface Endpoint {
37
+ method: HttpMethod;
38
+ path: string;
39
+ summary: string;
40
+ description?: string;
41
+ tab?: string;
42
+ headers?: ParamField[];
43
+ queryParams?: ParamField[];
44
+ pathParams?: ParamField[];
45
+ body?: RequestBody;
46
+ responses?: ResponseDefinition[];
47
+ notes?: Note[];
48
+ deprecated?: boolean;
49
+ tags?: string[];
50
+ }
51
+ export interface ParamField {
52
+ name: string;
53
+ type: string;
54
+ required?: boolean;
55
+ description?: string;
56
+ default?: string;
57
+ example?: string;
58
+ }
59
+ export interface RequestBody {
60
+ contentType?: string;
61
+ fields?: ParamField[];
62
+ example?: unknown;
63
+ }
64
+ export interface ResponseDefinition {
65
+ status: number;
66
+ description?: string;
67
+ contentType?: string;
68
+ fields?: ParamField[];
69
+ example?: unknown;
70
+ }
71
+ export interface Note {
72
+ type: 'info' | 'warning' | 'tip' | 'danger';
73
+ title?: string;
74
+ content: string;
75
+ }
76
+ export interface PepsDocData {
77
+ config: PepsDocConfig;
78
+ versions: VersionData[];
79
+ }
80
+ export interface VersionData {
81
+ name: string;
82
+ badge?: string;
83
+ badgeColor?: string;
84
+ groups: EndpointGroup[];
85
+ }
86
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * PepsDoc - Schema Types
4
+ * Tipos TypeScript que definem a estrutura da documentação
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * PepsDoc - Storage
3
+ * Leitura e escrita dos arquivos JSON de documentação
4
+ */
5
+ import type { PepsDocConfig, EndpointGroup, PepsDocData } from './schema';
6
+ export declare class Storage {
7
+ private baseDir;
8
+ constructor(projectRoot: string);
9
+ /** Caminho da pasta pepsdoc/ */
10
+ get dir(): string;
11
+ /** Inicializa a estrutura de pastas */
12
+ init(config: PepsDocConfig): void;
13
+ /** Lê a config */
14
+ readConfig(): PepsDocConfig;
15
+ /** Salva a config */
16
+ writeConfig(config: PepsDocConfig): void;
17
+ /** Lê todos os grupos de uma versão */
18
+ readGroups(version: string): EndpointGroup[];
19
+ /** Salva um grupo de endpoints */
20
+ writeGroup(version: string, slug: string, group: EndpointGroup): void;
21
+ /** Lista as versões disponíveis */
22
+ listVersions(): string[];
23
+ /** Compila tudo num objeto só (pro frontend) */
24
+ compile(): PepsDocData;
25
+ /** Verifica se o pepsdoc já foi inicializado */
26
+ isInitialized(): boolean;
27
+ }
28
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/core/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EAEZ,MAAM,UAAU,CAAC;AAMlB,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,MAAM;IAI/B,gCAAgC;IAChC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,uCAAuC;IACvC,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAqBjC,kBAAkB;IAClB,UAAU,IAAI,aAAa;IAS3B,qBAAqB;IACrB,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAKxC,uCAAuC;IACvC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE;IAe5C,kCAAkC;IAClC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAQrE,mCAAmC;IACnC,YAAY,IAAI,MAAM,EAAE;IASxB,gDAAgD;IAChD,OAAO,IAAI,WAAW;IAiBtB,gDAAgD;IAChD,aAAa,IAAI,OAAO;CAGzB"}