@codeguide/core 0.0.28 → 0.0.29

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 (79) hide show
  1. package/__tests__/services/usage/usage-service.test.ts +442 -83
  2. package/codeguide.ts +3 -0
  3. package/dist/codeguide.d.ts +2 -1
  4. package/dist/codeguide.js +1 -0
  5. package/dist/index.d.ts +4 -3
  6. package/dist/services/base/base-service.d.ts +21 -0
  7. package/dist/services/base/base-service.js +114 -0
  8. package/dist/services/codespace/codespace-service.d.ts +55 -1
  9. package/dist/services/codespace/codespace-service.js +257 -0
  10. package/dist/services/codespace/codespace-types.d.ts +192 -12
  11. package/dist/services/codespace/index.d.ts +1 -1
  12. package/dist/services/index.d.ts +2 -0
  13. package/dist/services/index.js +4 -1
  14. package/dist/services/projects/project-types.d.ts +66 -32
  15. package/dist/services/starter-kits/index.d.ts +2 -0
  16. package/dist/services/starter-kits/index.js +20 -0
  17. package/dist/services/starter-kits/starter-kits-service.d.ts +13 -0
  18. package/dist/services/starter-kits/starter-kits-service.js +27 -0
  19. package/dist/services/starter-kits/starter-kits-types.d.ts +34 -0
  20. package/dist/services/starter-kits/starter-kits-types.js +2 -0
  21. package/dist/services/tasks/task-service.d.ts +2 -1
  22. package/dist/services/tasks/task-service.js +8 -0
  23. package/dist/services/tasks/task-types.d.ts +26 -7
  24. package/dist/services/usage/usage-service.d.ts +5 -2
  25. package/dist/services/usage/usage-service.js +58 -9
  26. package/dist/services/usage/usage-types.d.ts +150 -26
  27. package/docs/.vitepress/README.md +51 -0
  28. package/docs/.vitepress/config.ts +139 -0
  29. package/docs/.vitepress/theme/custom.css +80 -0
  30. package/docs/.vitepress/theme/index.ts +13 -0
  31. package/docs/.vitepress/tsconfig.json +19 -0
  32. package/docs/QUICKSTART.md +77 -0
  33. package/docs/README.md +134 -0
  34. package/docs/README_SETUP.md +46 -0
  35. package/docs/authentication.md +351 -0
  36. package/docs/codeguide-client.md +350 -0
  37. package/docs/codespace-models.md +1004 -0
  38. package/docs/codespace-service.md +444 -0
  39. package/docs/index.md +135 -0
  40. package/docs/package.json +14 -0
  41. package/docs/projects-service.md +688 -0
  42. package/docs/security-keys-service.md +773 -0
  43. package/docs/starter-kits-service.md +249 -0
  44. package/docs/task-service.md +955 -0
  45. package/docs/testsprite_tests/TC001_Homepage_Load_and_Hero_Section_Display.py +70 -0
  46. package/docs/testsprite_tests/TC002_Sidebar_Navigation_ExpandCollapse_Functionality.py +73 -0
  47. package/docs/testsprite_tests/TC003_Full_Text_Local_Search_with_Keyboard_Shortcut.py +90 -0
  48. package/docs/testsprite_tests/TC004_Dark_Mode_Toggle_and_Persistence.py +73 -0
  49. package/docs/testsprite_tests/TC005_Mobile_Responsiveness_and_Touch_Navigation.py +113 -0
  50. package/docs/testsprite_tests/TC006_GitHub_Integration_Edit_this_page_Links.py +73 -0
  51. package/docs/testsprite_tests/TC007_Syntax_Highlighting_and_Code_Copy_Functionality.py +73 -0
  52. package/docs/testsprite_tests/TC008_Auto_Generated_Table_of_Contents_Accuracy.py +73 -0
  53. package/docs/testsprite_tests/TC009_SEO_and_Content_Discoverability_Verification.py +73 -0
  54. package/docs/testsprite_tests/TC010_Accessibility_Compliance_WCAG_AA.py +73 -0
  55. package/docs/testsprite_tests/TC011_Local_Development_Workflow_Build_and_Hot_Reload.py +74 -0
  56. package/docs/testsprite_tests/TC012_Performance_Metrics_Compliance.py +73 -0
  57. package/docs/testsprite_tests/standard_prd.json +122 -0
  58. package/docs/testsprite_tests/testsprite-mcp-test-report.html +2508 -0
  59. package/docs/testsprite_tests/testsprite-mcp-test-report.md +273 -0
  60. package/docs/testsprite_tests/testsprite_frontend_test_plan.json +390 -0
  61. package/docs/usage-service.md +291 -1
  62. package/index.ts +11 -3
  63. package/package.json +16 -2
  64. package/plans/CODESPACE_LOGS_STREAMING_GUIDE.md +320 -0
  65. package/plans/CODESPACE_TASK_LOGS_API_COMPLETE_GUIDE.md +821 -0
  66. package/services/base/base-service.ts +130 -0
  67. package/services/codespace/codespace-service.ts +337 -0
  68. package/services/codespace/codespace-types.ts +262 -13
  69. package/services/codespace/index.ts +16 -1
  70. package/services/index.ts +2 -0
  71. package/services/projects/README.md +107 -34
  72. package/services/projects/project-types.ts +69 -32
  73. package/services/starter-kits/index.ts +2 -0
  74. package/services/starter-kits/starter-kits-service.ts +33 -0
  75. package/services/starter-kits/starter-kits-types.ts +38 -0
  76. package/services/tasks/task-service.ts +10 -0
  77. package/services/tasks/task-types.ts +29 -7
  78. package/services/usage/usage-service.ts +59 -10
  79. package/services/usage/usage-types.ts +178 -27
@@ -11,6 +11,7 @@ class UsageService extends base_service_1.BaseService {
11
11
  }
12
12
  async checkCredits(params) {
13
13
  const queryParams = new URLSearchParams();
14
+ queryParams.append('model_key', params.model_key);
14
15
  if (params.input_tokens !== undefined)
15
16
  queryParams.append('input_tokens', params.input_tokens.toString());
16
17
  if (params.output_tokens !== undefined)
@@ -20,15 +21,6 @@ class UsageService extends base_service_1.BaseService {
20
21
  const url = `/usage/credit-check?${queryParams.toString()}`;
21
22
  return this.get(url);
22
23
  }
23
- async getUsageSummary(params) {
24
- const queryParams = new URLSearchParams();
25
- if (params?.start_date)
26
- queryParams.append('start_date', params.start_date);
27
- if (params?.end_date)
28
- queryParams.append('end_date', params.end_date);
29
- const url = `/usage/summary${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
30
- return this.get(url);
31
- }
32
24
  async getAuthorization() {
33
25
  return this.get('/usage/authorization');
34
26
  }
@@ -64,5 +56,62 @@ class UsageService extends base_service_1.BaseService {
64
56
  return false;
65
57
  }
66
58
  }
59
+ // Dashboard Analytics Methods
60
+ async getDashboardAnalytics(params) {
61
+ const queryParams = new URLSearchParams();
62
+ if (params?.period)
63
+ queryParams.append('period', params.period);
64
+ if (params?.start_date)
65
+ queryParams.append('start_date', params.start_date);
66
+ if (params?.end_date)
67
+ queryParams.append('end_date', params.end_date);
68
+ if (params?.service_type)
69
+ queryParams.append('service_type', params.service_type);
70
+ const url = `/usage/dashboard/analytics${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
71
+ return this.get(url);
72
+ }
73
+ async getUsageDetails(params) {
74
+ const queryParams = new URLSearchParams();
75
+ if (params?.period)
76
+ queryParams.append('period', params.period);
77
+ if (params?.start_date)
78
+ queryParams.append('start_date', params.start_date);
79
+ if (params?.end_date)
80
+ queryParams.append('end_date', params.end_date);
81
+ if (params?.service_type)
82
+ queryParams.append('service_type', params.service_type);
83
+ if (params?.page !== undefined)
84
+ queryParams.append('page', params.page.toString());
85
+ if (params?.page_size !== undefined)
86
+ queryParams.append('page_size', params.page_size.toString());
87
+ if (params?.sort_by)
88
+ queryParams.append('sort_by', params.sort_by);
89
+ if (params?.sort_order)
90
+ queryParams.append('sort_order', params.sort_order);
91
+ const url = `/usage/dashboard/details${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
92
+ return this.get(url);
93
+ }
94
+ async getUsageSummary(params) {
95
+ const queryParams = new URLSearchParams();
96
+ if (params?.period)
97
+ queryParams.append('period', params.period);
98
+ if (params?.start_date)
99
+ queryParams.append('start_date', params.start_date);
100
+ if (params?.end_date)
101
+ queryParams.append('end_date', params.end_date);
102
+ const url = `/usage/dashboard/summary${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
103
+ return this.get(url);
104
+ }
105
+ async getServiceBreakdown(params) {
106
+ const queryParams = new URLSearchParams();
107
+ if (params?.period)
108
+ queryParams.append('period', params.period);
109
+ if (params?.start_date)
110
+ queryParams.append('start_date', params.start_date);
111
+ if (params?.end_date)
112
+ queryParams.append('end_date', params.end_date);
113
+ const url = `/usage/dashboard/services${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
114
+ return this.get(url);
115
+ }
67
116
  }
68
117
  exports.UsageService = UsageService;
@@ -11,7 +11,7 @@ export interface TrackUsageResponse {
11
11
  remaining_credits: number;
12
12
  message: string;
13
13
  }
14
- export interface CreditBalanceResponse {
14
+ export interface CreditBalanceData {
15
15
  user_id: string;
16
16
  total_consumed: number;
17
17
  total_allotted: number;
@@ -24,6 +24,9 @@ export interface CreditBalanceResponse {
24
24
  status: string;
25
25
  };
26
26
  }
27
+ export interface CreditBalanceResponse {
28
+ data: CreditBalanceData;
29
+ }
27
30
  export interface CreditCheckRequest {
28
31
  model_key: string;
29
32
  input_tokens?: number;
@@ -36,31 +39,6 @@ export interface CreditCheckResponse {
36
39
  remaining_credits: number;
37
40
  model_key: string;
38
41
  }
39
- export interface UsageSummaryRequest {
40
- start_date?: string;
41
- end_date?: string;
42
- }
43
- export interface UsageSummaryResponse {
44
- user_id: string;
45
- period: {
46
- start_date: string;
47
- end_date: string;
48
- };
49
- usage_summary: {
50
- total_credits_used: number;
51
- total_calls: number;
52
- model_breakdown: Record<string, any>;
53
- daily_usage: Array<{
54
- date: string;
55
- credits_used: number;
56
- calls: number;
57
- }>;
58
- };
59
- subscription: {
60
- plan: string;
61
- status: string;
62
- };
63
- }
64
42
  export interface CreditBalance {
65
43
  total_allotted: number;
66
44
  total_consumed: number;
@@ -180,3 +158,149 @@ export interface HealthResponse {
180
158
  timestamp: string;
181
159
  version: string;
182
160
  }
161
+ export type PeriodType = "7d" | "1w" | "1m" | "3m";
162
+ export type ServiceType = "docs" | "chat" | "codespace_task" | "api";
163
+ export type SortOrder = "asc" | "desc";
164
+ export type SortByField = "created_at" | "credits_consumed" | "cost_amount";
165
+ export interface DashboardAnalyticsRequest {
166
+ period?: PeriodType;
167
+ start_date?: string;
168
+ end_date?: string;
169
+ service_type?: ServiceType;
170
+ }
171
+ export interface DailyUsage {
172
+ date: string;
173
+ credits_consumed: number;
174
+ cost_usd: number;
175
+ requests_count: number;
176
+ average_credits_per_request: number;
177
+ }
178
+ export interface ServiceUsage {
179
+ service_type: ServiceType;
180
+ credits_consumed: number;
181
+ requests_count: number;
182
+ }
183
+ export interface AnalyticsTotals {
184
+ credits_consumed: number;
185
+ cost_usd: number;
186
+ requests_count: number;
187
+ }
188
+ export interface AnalyticsAverages {
189
+ daily_credits: number;
190
+ daily_requests: number;
191
+ }
192
+ export interface AnalyticsTrends {
193
+ credits_consumed: number;
194
+ requests_count: number;
195
+ }
196
+ export interface PeriodInfo {
197
+ start: string;
198
+ end: string;
199
+ label: string;
200
+ }
201
+ export interface DashboardAnalyticsResponse {
202
+ status: string;
203
+ data: {
204
+ period: PeriodInfo;
205
+ daily_usage: DailyUsage[];
206
+ totals: AnalyticsTotals;
207
+ averages: AnalyticsAverages;
208
+ trends: AnalyticsTrends;
209
+ top_services: ServiceUsage[];
210
+ };
211
+ }
212
+ export interface UsageDetailsRequest {
213
+ period?: PeriodType;
214
+ start_date?: string;
215
+ end_date?: string;
216
+ service_type?: ServiceType;
217
+ page?: number;
218
+ page_size?: number;
219
+ sort_by?: SortByField;
220
+ sort_order?: SortOrder;
221
+ }
222
+ export interface UsageDetailRecord {
223
+ id: string;
224
+ created_at: string;
225
+ service_type: ServiceType;
226
+ model_name: string;
227
+ usage_type: string;
228
+ units_consumed: number;
229
+ credits_consumed: number;
230
+ cost_amount: number | null;
231
+ }
232
+ export interface UsageDetailsPagination {
233
+ page: number;
234
+ page_size: number;
235
+ total_count: number;
236
+ total_pages: number;
237
+ has_next: boolean;
238
+ has_prev: boolean;
239
+ }
240
+ export interface UsageDetailsFilters {
241
+ period: string | null;
242
+ start_date: string | null;
243
+ end_date: string | null;
244
+ service_type: string | null;
245
+ }
246
+ export interface UsageDetailsResponse {
247
+ status: string;
248
+ data: UsageDetailRecord[];
249
+ pagination: UsageDetailsPagination;
250
+ filters: UsageDetailsFilters;
251
+ }
252
+ export interface UsageSummaryRequest {
253
+ period?: PeriodType;
254
+ start_date?: string;
255
+ end_date?: string;
256
+ }
257
+ export interface CurrentPeriodUsage {
258
+ credits_consumed: number;
259
+ cost_usd: number;
260
+ requests_count: number;
261
+ }
262
+ export interface PreviousPeriodUsage {
263
+ credits_consumed: number;
264
+ cost_usd: number;
265
+ requests_count: number;
266
+ }
267
+ export interface BillingCycleInfo {
268
+ total_allotted: number;
269
+ total_consumed: number;
270
+ remaining_credits: number;
271
+ }
272
+ export interface UsageSummaryResponse {
273
+ status: string;
274
+ data: {
275
+ current_period: CurrentPeriodUsage;
276
+ previous_period: PreviousPeriodUsage;
277
+ billing_cycle: BillingCycleInfo;
278
+ utilization_percentage: number;
279
+ remaining_credits: number;
280
+ daily_average: number;
281
+ projected_monthly: number;
282
+ };
283
+ }
284
+ export interface ServiceBreakdownRequest {
285
+ period?: PeriodType;
286
+ start_date?: string;
287
+ end_date?: string;
288
+ }
289
+ export interface ServiceBreakdown {
290
+ service_type: ServiceType;
291
+ credits_consumed: number;
292
+ percentage: number;
293
+ cost_usd: number;
294
+ requests_count: number;
295
+ trend: number;
296
+ }
297
+ export interface ServiceBreakdownData {
298
+ period: PeriodInfo;
299
+ services: ServiceBreakdown[];
300
+ total_credits: number;
301
+ total_cost: number;
302
+ }
303
+ export interface ServiceBreakdownResponse {
304
+ status: string;
305
+ data: ServiceBreakdownData;
306
+ }
@@ -0,0 +1,51 @@
1
+ # VitePress Documentation Setup
2
+
3
+ This directory contains the VitePress configuration for the @codeguide/core documentation.
4
+
5
+ ## Structure
6
+
7
+ - `config.ts` - Main VitePress configuration file (TypeScript)
8
+ - `theme/` - Custom theme files
9
+ - `index.ts` - Theme entry point
10
+ - `custom.css` - Custom styles
11
+
12
+ ## Development
13
+
14
+ To run the documentation locally:
15
+
16
+ ```bash
17
+ cd packages/core
18
+ npm install
19
+ npm run docs:dev
20
+ ```
21
+
22
+ Then open http://localhost:5173
23
+
24
+ ## Building
25
+
26
+ To build the documentation for production:
27
+
28
+ ```bash
29
+ npm run docs:build
30
+ ```
31
+
32
+ The output will be in `packages/core/docs/.vitepress/dist`
33
+
34
+ ## Preview
35
+
36
+ To preview the built documentation:
37
+
38
+ ```bash
39
+ npm run docs:preview
40
+ ```
41
+
42
+ ## Configuration
43
+
44
+ The main configuration is in `config.ts`. Key features:
45
+
46
+ - TypeScript-based configuration
47
+ - Sidebar navigation
48
+ - Search functionality
49
+ - Edit links to GitHub
50
+ - Custom theme styling
51
+
@@ -0,0 +1,139 @@
1
+ import { defineConfig } from 'vitepress'
2
+
3
+ export default defineConfig({
4
+ title: '@codeguide/core',
5
+ description: 'Documentation for @codeguide/core package - TypeScript SDK for CodeGuide API',
6
+
7
+ // Server configuration
8
+ server: {
9
+ port: 5174,
10
+ host: true,
11
+ },
12
+
13
+ // Base URL if deploying to a subdirectory
14
+ base: '/',
15
+
16
+ // Theme configuration
17
+ themeConfig: {
18
+ // Logo (optional)
19
+ logo: '/logo.png', // You can add a logo later
20
+
21
+ // Site title in nav
22
+ siteTitle: '@codeguide/core',
23
+
24
+ // Navigation bar
25
+ nav: [
26
+ { text: 'Home', link: '/' },
27
+ { text: 'Getting Started', link: '/codeguide-client' },
28
+ { text: 'Services', link: '/projects-service' },
29
+ { text: 'GitHub', link: 'https://github.com/CodeGuide-dev/codeguide' },
30
+ ],
31
+
32
+ // Sidebar navigation
33
+ sidebar: [
34
+ {
35
+ text: 'Getting Started',
36
+ items: [
37
+ { text: 'Overview', link: '/' },
38
+ { text: 'CodeGuide Client', link: '/codeguide-client' },
39
+ { text: 'Authentication', link: '/authentication' },
40
+ ],
41
+ },
42
+ {
43
+ text: 'Services',
44
+ items: [
45
+ { text: 'Projects Service', link: '/projects-service' },
46
+ { text: 'Codespace Service', link: '/codespace-service' },
47
+ { text: 'Codespace Models', link: '/codespace-models' },
48
+ { text: 'Security Keys Service', link: '/security-keys-service' },
49
+ { text: 'Usage Service', link: '/usage-service' },
50
+ ],
51
+ },
52
+ ],
53
+
54
+ // Social links
55
+ socialLinks: [
56
+ { icon: 'github', link: 'https://github.com/CodeGuide-dev/codeguide' },
57
+ ],
58
+
59
+ // Search configuration
60
+ search: {
61
+ provider: 'local',
62
+ options: {
63
+ locales: {
64
+ root: {
65
+ translations: {
66
+ button: {
67
+ buttonText: 'Search',
68
+ buttonAriaLabel: 'Search documentation',
69
+ },
70
+ modal: {
71
+ noResultsText: 'No results for',
72
+ resetButtonTitle: 'Reset search',
73
+ footer: {
74
+ selectText: 'to select',
75
+ navigateText: 'to navigate',
76
+ closeText: 'to close',
77
+ },
78
+ },
79
+ },
80
+ },
81
+ },
82
+ },
83
+ },
84
+
85
+ // Footer
86
+ footer: {
87
+ message: 'Released under the MIT License.',
88
+ copyright: 'Copyright © 2024 CodeGuide Team',
89
+ },
90
+
91
+ // Edit link
92
+ editLink: {
93
+ pattern: 'https://github.com/CodeGuide-dev/codeguide/blob/main/packages/core/docs/:path',
94
+ text: 'Edit this page on GitHub',
95
+ },
96
+
97
+ // Carbon ads (optional - remove if not needed)
98
+ // carbonAds: {
99
+ // code: 'your-code',
100
+ // placement: 'your-placement'
101
+ // },
102
+
103
+ // Last updated
104
+ lastUpdated: {
105
+ text: 'Last updated',
106
+ },
107
+
108
+ // Outline configuration
109
+ outline: {
110
+ level: [2, 3],
111
+ label: 'On this page',
112
+ },
113
+
114
+ // Doc footer (prev/next links)
115
+ docFooter: {
116
+ prev: 'Previous page',
117
+ next: 'Next page',
118
+ },
119
+ },
120
+
121
+ // Markdown configuration
122
+ markdown: {
123
+ lineNumbers: true,
124
+ theme: {
125
+ light: 'github-light',
126
+ dark: 'github-dark',
127
+ },
128
+ // Disable Vue component parsing in markdown to avoid conflicts
129
+ breaks: false,
130
+ },
131
+
132
+ // Head configuration
133
+ head: [
134
+ ['meta', { name: 'viewport', content: 'width=device-width, initial-scale=1.0' }],
135
+ ['meta', { name: 'description', content: 'Documentation for @codeguide/core package' }],
136
+ ['link', { rel: 'icon', href: '/favicon.ico' }],
137
+ ],
138
+ })
139
+
@@ -0,0 +1,80 @@
1
+ /* Custom styles for VitePress theme */
2
+
3
+ :root {
4
+ --vp-c-brand: #42b983;
5
+ --vp-c-brand-light: #42b983;
6
+ --vp-c-brand-lighter: #66d9a3;
7
+ --vp-c-brand-lightest: #8ae5b8;
8
+ --vp-c-brand-dark: #35495e;
9
+ --vp-c-brand-darker: #2c3e50;
10
+ }
11
+
12
+ /* Code block styling */
13
+ .vp-code-group .tabs {
14
+ border-radius: 8px 8px 0 0;
15
+ }
16
+
17
+ .vp-code-group .blocks {
18
+ border-radius: 0 0 8px 8px;
19
+ }
20
+
21
+ /* Custom code block background */
22
+ div[class*='language-'] {
23
+ background-color: var(--vp-code-block-bg);
24
+ }
25
+
26
+ /* Improve table styling */
27
+ table {
28
+ display: table;
29
+ width: 100%;
30
+ }
31
+
32
+ /* Better spacing for method documentation */
33
+ .method-doc {
34
+ margin-bottom: 2rem;
35
+ }
36
+
37
+ .method-doc h3 {
38
+ margin-top: 2rem;
39
+ padding-bottom: 0.5rem;
40
+ border-bottom: 1px solid var(--vp-c-divider);
41
+ }
42
+
43
+ /* Improve code example readability */
44
+ .vp-code-group {
45
+ margin: 1.5rem 0;
46
+ }
47
+
48
+ /* Better list spacing */
49
+ .vp-doc ul,
50
+ .vp-doc ol {
51
+ padding-left: 1.5rem;
52
+ }
53
+
54
+ /* Improve type definition blocks */
55
+ .type-definition {
56
+ background-color: var(--vp-c-bg-soft);
57
+ padding: 1rem;
58
+ border-radius: 8px;
59
+ margin: 1rem 0;
60
+ }
61
+
62
+ /* Custom badge styling */
63
+ .badge {
64
+ display: inline-block;
65
+ padding: 0.25rem 0.5rem;
66
+ border-radius: 4px;
67
+ font-size: 0.875rem;
68
+ font-weight: 500;
69
+ }
70
+
71
+ .badge-required {
72
+ background-color: var(--vp-c-red-soft);
73
+ color: var(--vp-c-red);
74
+ }
75
+
76
+ .badge-optional {
77
+ background-color: var(--vp-c-yellow-soft);
78
+ color: var(--vp-c-yellow);
79
+ }
80
+
@@ -0,0 +1,13 @@
1
+ import type { Theme } from 'vitepress'
2
+ import DefaultTheme from 'vitepress/theme'
3
+ import './custom.css'
4
+
5
+ export default {
6
+ extends: DefaultTheme,
7
+ enhanceApp({ app }) {
8
+ // You can add custom Vue components here if needed
9
+ // Example:
10
+ // app.component('CustomComponent', CustomComponent)
11
+ },
12
+ } satisfies Theme
13
+
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "ESNext",
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "moduleResolution": "bundler",
7
+ "strict": true,
8
+ "jsx": "preserve",
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "types": ["node"]
15
+ },
16
+ "include": ["config.ts", "theme/**/*.ts"],
17
+ "exclude": ["node_modules"]
18
+ }
19
+
@@ -0,0 +1,77 @@
1
+ # Quick Start Guide
2
+
3
+ ## Running the Documentation Locally
4
+
5
+ 1. **Install dependencies** (if not already installed):
6
+ ```bash
7
+ cd packages/core
8
+ npm install
9
+ ```
10
+
11
+ 2. **Start the development server**:
12
+ ```bash
13
+ npm run docs:dev
14
+ ```
15
+
16
+ 3. **Open your browser**:
17
+ Navigate to http://localhost:5173
18
+
19
+ ## Building for Production
20
+
21
+ ```bash
22
+ npm run docs:build
23
+ ```
24
+
25
+ The built files will be in `packages/core/docs/.vitepress/dist`
26
+
27
+ ## Previewing the Build
28
+
29
+ ```bash
30
+ npm run docs:preview
31
+ ```
32
+
33
+ ## Project Structure
34
+
35
+ ```
36
+ docs/
37
+ ├── .vitepress/
38
+ │ ├── config.ts # VitePress configuration (TypeScript)
39
+ │ ├── theme/
40
+ │ │ ├── index.ts # Theme customization
41
+ │ │ └── custom.css # Custom styles
42
+ │ └── tsconfig.json # TypeScript config for VitePress
43
+ ├── README.md # Homepage
44
+ ├── codeguide-client.md # Client documentation
45
+ ├── authentication.md # Authentication docs
46
+ ├── projects-service.md # Projects service docs
47
+ ├── codespace-service.md # Codespace service docs
48
+ ├── codespace-models.md # Models documentation
49
+ ├── security-keys-service.md # Security keys docs
50
+ └── usage-service.md # Usage service docs
51
+ ```
52
+
53
+ ## Features
54
+
55
+ - ✅ TypeScript-based configuration
56
+ - ✅ Fast hot module replacement
57
+ - ✅ Built-in search
58
+ - ✅ Dark mode support
59
+ - ✅ Mobile responsive
60
+ - ✅ SEO optimized
61
+ - ✅ Edit links to GitHub
62
+
63
+ ## Customization
64
+
65
+ ### Changing Colors
66
+
67
+ Edit `docs/.vitepress/theme/custom.css` to customize the color scheme.
68
+
69
+ ### Adding Pages
70
+
71
+ 1. Create a new `.md` file in the `docs/` directory
72
+ 2. Add it to the sidebar in `docs/.vitepress/config.ts`
73
+
74
+ ### Custom Components
75
+
76
+ Add Vue components in `docs/.vitepress/theme/index.ts` in the `enhanceApp` function.
77
+