@eventcatalog/core 2.32.2 → 2.33.0
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/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +8 -4
- package/dist/analytics/log-build.d.cts +3 -2
- package/dist/analytics/log-build.d.ts +3 -2
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-DSBB2TAS.js → chunk-MC6EBL4I.js} +1 -1
- package/dist/{chunk-IHJ2QDXX.js → chunk-MXEVMOGW.js} +8 -4
- package/dist/{chunk-JJKQS722.js → chunk-TNU27WQF.js} +1 -1
- package/dist/{chunk-NJGR7XUU.js → chunk-ZIZUBYNO.js} +52 -9
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +79 -23
- package/dist/eventcatalog.js +27 -16
- package/dist/features.cjs +54 -10
- package/dist/features.d.cts +3 -2
- package/dist/features.d.ts +3 -2
- package/dist/features.js +5 -3
- package/eventcatalog/public/images/eventcatalog-upgrade.png +0 -0
- package/eventcatalog/src/enterprise/ai-assistant/components/ChatSidebar.tsx +59 -61
- package/eventcatalog/src/layouts/VerticalSideBarLayout.astro +72 -34
- package/eventcatalog/src/pages/chat/feature.astro +159 -0
- package/eventcatalog/src/pages/chat/index.astro +6 -2
- package/eventcatalog/src/pages/docs/custom/[...path]/index.astro +3 -9
- package/eventcatalog/src/pages/docs/custom/feature.astro +165 -0
- package/eventcatalog/src/pages/docs/custom/index.astro +6 -2
- package/eventcatalog/src/pages/plans/index.astro +292 -0
- package/eventcatalog/src/utils/feature.ts +21 -5
- package/package.json +1 -1
- package/eventcatalog/src/pages/pro/index.astro +0 -272
|
@@ -3,13 +3,7 @@ import CustomDocumentationPage from '@enterprise/custom-documentation/pages/docs
|
|
|
3
3
|
import { getCollection } from 'astro:content';
|
|
4
4
|
import { buildUrl } from '@utils/url-builder';
|
|
5
5
|
import type { GetStaticPaths } from 'astro';
|
|
6
|
-
import {
|
|
7
|
-
import path from 'node:path';
|
|
8
|
-
import fs from 'node:fs';
|
|
9
|
-
|
|
10
|
-
const PROJECT_DIR = path.resolve(process.env.PROJECT_DIR || process.cwd());
|
|
11
|
-
const CUSTOM_DOCS_DIR = path.resolve(PROJECT_DIR, 'docs/');
|
|
12
|
-
const directoryExists = fs.existsSync(CUSTOM_DOCS_DIR);
|
|
6
|
+
import { isCustomDocsEnabled } from '@utils/feature';
|
|
13
7
|
|
|
14
8
|
export const getStaticPaths = (async () => {
|
|
15
9
|
const docs = await getCollection('customPages');
|
|
@@ -22,8 +16,8 @@ export const getStaticPaths = (async () => {
|
|
|
22
16
|
|
|
23
17
|
const props = Astro.props;
|
|
24
18
|
|
|
25
|
-
if (!
|
|
26
|
-
return Astro.redirect('/docs/custom');
|
|
19
|
+
if (!isCustomDocsEnabled()) {
|
|
20
|
+
return Astro.redirect(buildUrl('/docs/custom/feature'));
|
|
27
21
|
}
|
|
28
22
|
---
|
|
29
23
|
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
3
|
+
import { BookOpenIcon, FileText } from 'lucide-react';
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<VerticalSideBarLayout title="Custom Documentation">
|
|
7
|
+
<div class="min-h-[calc(100vh-60px)] bg-white">
|
|
8
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
|
|
9
|
+
{/* Hero Section */}
|
|
10
|
+
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center mb-16">
|
|
11
|
+
<div>
|
|
12
|
+
<div class="inline-flex items-center px-4 py-2 rounded-full bg-blue-100 text-blue-700 font-medium text-sm mb-6">
|
|
13
|
+
<FileText className="w-4 h-4 mr-2" />
|
|
14
|
+
New: Bring your documentation into EventCatalog
|
|
15
|
+
</div>
|
|
16
|
+
<h1 class="text-4xl font-bold text-gray-900 tracking-tight mb-4">
|
|
17
|
+
Document Everything. Share Knowledge. Build Better.
|
|
18
|
+
</h1>
|
|
19
|
+
<p class="text-xl text-gray-600 mb-8">
|
|
20
|
+
Add your own documentation to EventCatalog — from ADRs and system guides to runbooks and onboarding material. Connect
|
|
21
|
+
your knowledge to your architecture.
|
|
22
|
+
</p>
|
|
23
|
+
<div class="flex flex-col sm:flex-row gap-4 mb-8">
|
|
24
|
+
<a
|
|
25
|
+
href="https://demo.eventcatalog.dev/docs/custom/guides/creating-new-microservices/01-index"
|
|
26
|
+
target="_blank"
|
|
27
|
+
class="inline-flex items-center justify-center px-6 py-3 border border-transparent text-base font-medium rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors duration-150"
|
|
28
|
+
>
|
|
29
|
+
View the demo
|
|
30
|
+
<svg class="ml-2 w-4 h-4" viewBox="0 0 20 20" fill="currentColor">
|
|
31
|
+
<path
|
|
32
|
+
fill-rule="evenodd"
|
|
33
|
+
d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z"
|
|
34
|
+
clip-rule="evenodd"></path>
|
|
35
|
+
</svg>
|
|
36
|
+
</a>
|
|
37
|
+
<a
|
|
38
|
+
href="https://www.eventcatalog.cloud"
|
|
39
|
+
target="_blank"
|
|
40
|
+
class="inline-flex items-center justify-center px-6 py-3 border border-gray-300 text-base font-medium rounded-lg text-gray-700 bg-white hover:bg-gray-50 transition-colors duration-150"
|
|
41
|
+
>
|
|
42
|
+
Try for free
|
|
43
|
+
</a>
|
|
44
|
+
</div>
|
|
45
|
+
<p class="text-sm text-gray-500">
|
|
46
|
+
Available with EventCatalog Starter or Scale plans
|
|
47
|
+
<a href="https://www.eventcatalog.dev/pricing" class="text-blue-600 font-medium block"
|
|
48
|
+
>Try free for 14 days, no credit card required</a
|
|
49
|
+
>
|
|
50
|
+
</p>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div class="relative">
|
|
54
|
+
<div class="absolute -inset-4">
|
|
55
|
+
<div
|
|
56
|
+
class="w-full h-full max-w-full mx-auto opacity-30 blur-lg filter"
|
|
57
|
+
style="background: linear-gradient(90deg, #60A5FA 0%, #3B82F6 100%);"
|
|
58
|
+
>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="relative">
|
|
62
|
+
<img
|
|
63
|
+
src="/images/custom-docs-placeholder.png"
|
|
64
|
+
alt="Custom Documentation Preview"
|
|
65
|
+
class="rounded-xl shadow-xl border border-gray-200"
|
|
66
|
+
/>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
{/* Features Section */}
|
|
72
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
|
73
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
74
|
+
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4">
|
|
75
|
+
<svg class="w-6 h-6 text-blue-600" viewBox="0 0 24 24" fill="currentColor">
|
|
76
|
+
<path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"></path>
|
|
77
|
+
</svg>
|
|
78
|
+
</div>
|
|
79
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Centralized Knowledge</h3>
|
|
80
|
+
<p class="text-gray-600">
|
|
81
|
+
Keep architecture decisions, system guides, and runbooks in one place — easy to access, easy to trust.
|
|
82
|
+
</p>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
86
|
+
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4">
|
|
87
|
+
<svg class="w-6 h-6 text-blue-600" viewBox="0 0 24 24" fill="currentColor">
|
|
88
|
+
<path
|
|
89
|
+
d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"
|
|
90
|
+
></path>
|
|
91
|
+
</svg>
|
|
92
|
+
</div>
|
|
93
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Rich Formatting</h3>
|
|
94
|
+
<p class="text-gray-600">
|
|
95
|
+
Use Markdown, diagrams, code blocks, and EventCatalog components to create structured, useful documentation.
|
|
96
|
+
</p>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
100
|
+
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4">
|
|
101
|
+
<svg class="w-6 h-6 text-blue-600" viewBox="0 0 24 24" fill="currentColor">
|
|
102
|
+
<path d="M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z"
|
|
103
|
+
></path>
|
|
104
|
+
</svg>
|
|
105
|
+
</div>
|
|
106
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Version Control</h3>
|
|
107
|
+
<p class="text-gray-600">Track changes and ensure your documentation grows alongside your system.</p>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
111
|
+
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4">
|
|
112
|
+
<svg class="w-6 h-6 text-blue-600" viewBox="0 0 24 24" fill="currentColor">
|
|
113
|
+
<path
|
|
114
|
+
d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"
|
|
115
|
+
></path>
|
|
116
|
+
</svg>
|
|
117
|
+
</div>
|
|
118
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Documentation Ownership</h3>
|
|
119
|
+
<p class="text-gray-600">Assign and track document owners, making it easy to find the right person in seconds.</p>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
123
|
+
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4">
|
|
124
|
+
<svg class="w-6 h-6 text-blue-600" viewBox="0 0 24 24" fill="currentColor">
|
|
125
|
+
<path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 0h2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z"></path>
|
|
126
|
+
</svg>
|
|
127
|
+
</div>
|
|
128
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Customizable Sidebars</h3>
|
|
129
|
+
<p class="text-gray-600">
|
|
130
|
+
Auto-generated and fully customizable navigation sidebars to organize your documentation perfectly.
|
|
131
|
+
</p>
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
135
|
+
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4">
|
|
136
|
+
<svg class="w-6 h-6 text-blue-600" viewBox="0 0 24 24" fill="currentColor">
|
|
137
|
+
<path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"></path>
|
|
138
|
+
</svg>
|
|
139
|
+
</div>
|
|
140
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">EventCatalog Chat</h3>
|
|
141
|
+
<p class="text-gray-600">
|
|
142
|
+
Interact with your documentation using AI-powered chat to find answers quickly and efficiently.
|
|
143
|
+
</p>
|
|
144
|
+
</div>
|
|
145
|
+
</div>
|
|
146
|
+
|
|
147
|
+
{/* Bottom Link */}
|
|
148
|
+
<div class="mt-16 text-center">
|
|
149
|
+
<a
|
|
150
|
+
href="https://www.eventcatalog.dev/docs/development/guides/customize-sidebars/application-sidebar"
|
|
151
|
+
target="_blank"
|
|
152
|
+
class="text-sm text-gray-400 hover:text-gray-500 transition-colors duration-150"
|
|
153
|
+
>
|
|
154
|
+
Not ready for custom documentation? You can hide this feature in settings
|
|
155
|
+
</a>
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
</VerticalSideBarLayout>
|
|
160
|
+
|
|
161
|
+
<style>
|
|
162
|
+
.scroll-smooth {
|
|
163
|
+
scroll-behavior: smooth;
|
|
164
|
+
}
|
|
165
|
+
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
3
3
|
import { Code } from 'astro-expressive-code/components';
|
|
4
|
-
import {
|
|
4
|
+
import { isCustomDocsEnabled } from '@utils/feature';
|
|
5
5
|
|
|
6
6
|
// Example for folder structure
|
|
7
7
|
const folderStructureExample = `my-catalog/
|
|
@@ -92,6 +92,10 @@ module.exports = {
|
|
|
92
92
|
]
|
|
93
93
|
}
|
|
94
94
|
}`;
|
|
95
|
+
|
|
96
|
+
if (!isCustomDocsEnabled()) {
|
|
97
|
+
return Astro.redirect('/docs/custom/feature');
|
|
98
|
+
}
|
|
95
99
|
---
|
|
96
100
|
|
|
97
101
|
<VerticalSideBarLayout title="Custom Documentation">
|
|
@@ -121,7 +125,7 @@ module.exports = {
|
|
|
121
125
|
Read documentation →
|
|
122
126
|
</a>
|
|
123
127
|
{
|
|
124
|
-
!
|
|
128
|
+
!isCustomDocsEnabled() && (
|
|
125
129
|
<a
|
|
126
130
|
href="https://www.eventcatalog.dev/pro/trial"
|
|
127
131
|
class="inline-flex items-center justify-center px-5 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-gradient-to-r from-purple-500 to-purple-700 hover:from-purple-600 hover:to-purple-800 shadow-sm"
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
---
|
|
2
|
+
import VerticalSideBarLayout from '@layouts/VerticalSideBarLayout.astro';
|
|
3
|
+
import {
|
|
4
|
+
Rocket,
|
|
5
|
+
Users,
|
|
6
|
+
Bot,
|
|
7
|
+
ScrollText,
|
|
8
|
+
Component,
|
|
9
|
+
Cpu,
|
|
10
|
+
Code,
|
|
11
|
+
LifeBuoy,
|
|
12
|
+
ExternalLink,
|
|
13
|
+
Network,
|
|
14
|
+
Github,
|
|
15
|
+
Flag,
|
|
16
|
+
} from 'lucide-react';
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
<VerticalSideBarLayout title="EventCatalog Pro">
|
|
20
|
+
<div class="min-h-[calc(100vh-60px)] bg-white">
|
|
21
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16">
|
|
22
|
+
{/* Hero Section */}
|
|
23
|
+
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center mb-16">
|
|
24
|
+
<div>
|
|
25
|
+
<div class="inline-flex items-center px-4 py-2 rounded-full bg-purple-100 text-purple-700 font-medium text-sm mb-6">
|
|
26
|
+
<Rocket className="w-4 h-4 mr-2" />
|
|
27
|
+
Upgrade your Catalog
|
|
28
|
+
</div>
|
|
29
|
+
<h1 class="text-4xl font-bold text-gray-900 tracking-tight mb-4">Supercharge your EventCatalog</h1>
|
|
30
|
+
<p class="text-xl text-gray-600 mb-8">
|
|
31
|
+
Unlock advanced features like automated docs (e.g OpenAPI, AsyncAPI), Custom documentation, AI assistant, and catalog
|
|
32
|
+
federation — all designed to help you scale without complexity.
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
{/* Integration Sources */}
|
|
36
|
+
<div class="mb-8">
|
|
37
|
+
<p class="text-sm font-medium text-gray-500 mb-4">Generate documentation from:</p>
|
|
38
|
+
<div class="grid grid-cols-2 md:grid-cols-3 gap-4">
|
|
39
|
+
<a
|
|
40
|
+
href="https://www.eventcatalog.dev/integrations/openapi"
|
|
41
|
+
class="flex items-center space-x-2 bg-gray-50 rounded-lg px-4 py-2 hover:bg-gray-100 transition-colors duration-150"
|
|
42
|
+
>
|
|
43
|
+
<img src="/icons/openapi.svg" alt="OpenAPI" class="w-6 h-6" />
|
|
44
|
+
<span class="text-sm font-medium">OpenAPI</span>
|
|
45
|
+
</a>
|
|
46
|
+
<a
|
|
47
|
+
href="https://www.eventcatalog.dev/integrations/asyncapi"
|
|
48
|
+
class="flex items-center space-x-2 bg-gray-50 rounded-lg px-4 py-2 hover:bg-gray-100 transition-colors duration-150"
|
|
49
|
+
>
|
|
50
|
+
<img src="/icons/asyncapi.svg" alt="AsyncAPI" class="w-6 h-6" />
|
|
51
|
+
<span class="text-sm font-medium">AsyncAPI</span>
|
|
52
|
+
</a>
|
|
53
|
+
<a
|
|
54
|
+
href="https://www.eventcatalog.dev/integrations"
|
|
55
|
+
class="flex items-center space-x-2 bg-gray-50 rounded-lg px-4 py-2 hover:bg-gray-100 transition-colors duration-150"
|
|
56
|
+
>
|
|
57
|
+
<Component className="w-6 h-6 text-purple-600" />
|
|
58
|
+
<span class="text-sm font-medium">And more...</span>
|
|
59
|
+
</a>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="flex flex-col sm:flex-row gap-4 mb-8">
|
|
64
|
+
<a
|
|
65
|
+
href="https://www.eventcatalog.cloud"
|
|
66
|
+
target="_blank"
|
|
67
|
+
class="inline-flex items-center justify-center px-6 py-3 border border-transparent text-base font-medium rounded-lg text-white bg-purple-600 hover:bg-purple-700 transition-colors duration-150"
|
|
68
|
+
>
|
|
69
|
+
Try for free
|
|
70
|
+
<svg class="ml-2 w-4 h-4" viewBox="0 0 20 20" fill="currentColor">
|
|
71
|
+
<path
|
|
72
|
+
fill-rule="evenodd"
|
|
73
|
+
d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z"
|
|
74
|
+
clip-rule="evenodd"></path>
|
|
75
|
+
</svg>
|
|
76
|
+
</a>
|
|
77
|
+
<a
|
|
78
|
+
href="https://www.eventcatalog.dev"
|
|
79
|
+
target="_blank"
|
|
80
|
+
class="inline-flex items-center justify-center px-6 py-3 border border-gray-300 text-base font-medium rounded-lg text-gray-700 bg-white hover:bg-gray-50 transition-colors duration-150"
|
|
81
|
+
>
|
|
82
|
+
View documentation
|
|
83
|
+
</a>
|
|
84
|
+
</div>
|
|
85
|
+
<p class="text-sm text-gray-500">Try free for 14 days, no credit card required</p>
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
<div class="relative">
|
|
89
|
+
<img
|
|
90
|
+
src="/images/eventcatalog-upgrade.png"
|
|
91
|
+
alt="EventCatalog Pro"
|
|
92
|
+
class="w-full rounded-xl shadow-lg border border-gray-200"
|
|
93
|
+
/>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
{/* Why upgrade section */}
|
|
98
|
+
<div class="mb-16">
|
|
99
|
+
<h2 class="text-2xl font-semibold text-gray-900 mb-8">Why upgrade EventCatalog?</h2>
|
|
100
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
|
|
101
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
102
|
+
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center mb-4">
|
|
103
|
+
<ScrollText className="w-6 h-6 text-purple-600" />
|
|
104
|
+
</div>
|
|
105
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">A living source of truth</h3>
|
|
106
|
+
<p class="text-gray-600">Keep docs in sync with your systems, ensuring your team always has accurate information.</p>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
110
|
+
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center mb-4">
|
|
111
|
+
<Users className="w-6 h-6 text-purple-600" />
|
|
112
|
+
</div>
|
|
113
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Shared system understanding</h3>
|
|
114
|
+
<p class="text-gray-600">Align teams and reduce tribal knowledge with centralized architecture documentation.</p>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
118
|
+
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center mb-4">
|
|
119
|
+
<Component className="w-6 h-6 text-purple-600" />
|
|
120
|
+
</div>
|
|
121
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Architecture that scales</h3>
|
|
122
|
+
<p class="text-gray-600">Grow without losing context of complexity, making architectural decisions easy to find.</p>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
{/* Documentation Journey Section */}
|
|
128
|
+
<div class="mb-16">
|
|
129
|
+
<h2 class="text-2xl font-semibold text-gray-900 mb-4">Scales with your team and architecture</h2>
|
|
130
|
+
<p class="text-gray-600 mb-8 max-w-3xl">
|
|
131
|
+
From scattered documentation to a well-governed system, EventCatalog helps you control complexity with well governed
|
|
132
|
+
documentation for your teams. Choose the plan that fits your needs.
|
|
133
|
+
</p>
|
|
134
|
+
|
|
135
|
+
<div class="relative py-8">
|
|
136
|
+
{/* Journey Line */}
|
|
137
|
+
<div class="absolute top-1/2 left-0 w-full h-1 bg-purple-200 transform -translate-y-1/2 hidden md:block"></div>
|
|
138
|
+
|
|
139
|
+
<div class="grid grid-cols-1 md:grid-cols-4 gap-8 relative">
|
|
140
|
+
{/* Stage 1 */}
|
|
141
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200 relative">
|
|
142
|
+
<div
|
|
143
|
+
class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
144
|
+
>
|
|
145
|
+
<Github className="w-6 h-6 text-purple-600" />
|
|
146
|
+
</div>
|
|
147
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2 text-center">Community Edition</h3>
|
|
148
|
+
<p class="text-gray-600 text-sm text-center">You're just beginning to document services, domains, and events.</p>
|
|
149
|
+
</div>
|
|
150
|
+
|
|
151
|
+
{/* Stage 2 */}
|
|
152
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200 relative">
|
|
153
|
+
<div
|
|
154
|
+
class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
155
|
+
>
|
|
156
|
+
<Flag className="w-6 h-6 text-purple-600" />
|
|
157
|
+
</div>
|
|
158
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2 text-center">Starter Plan</h3>
|
|
159
|
+
<p class="text-gray-600 text-sm text-center">For teams formalizing their architecture documentation</p>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
{/* Stage 3 */}
|
|
163
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200 relative">
|
|
164
|
+
<div
|
|
165
|
+
class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
166
|
+
>
|
|
167
|
+
<Network className="w-6 h-6 text-purple-600" />
|
|
168
|
+
</div>
|
|
169
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2 text-center">Scale Plan</h3>
|
|
170
|
+
<p class="text-gray-600 text-sm text-center">
|
|
171
|
+
Built for teams scaling across domains and integrating with external systems
|
|
172
|
+
</p>
|
|
173
|
+
</div>
|
|
174
|
+
|
|
175
|
+
{/* Stage 4 */}
|
|
176
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200 relative">
|
|
177
|
+
<div
|
|
178
|
+
class="w-12 h-12 bg-purple-100 rounded-full flex items-center justify-center mb-4 mx-auto md:absolute md:-top-6 md:left-1/2 md:transform md:-translate-x-1/2"
|
|
179
|
+
>
|
|
180
|
+
<Rocket className="w-6 h-6 text-purple-600" />
|
|
181
|
+
</div>
|
|
182
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2 text-center">Enterprise Plan</h3>
|
|
183
|
+
<p class="text-gray-600 text-sm text-center">
|
|
184
|
+
Designed for organizations building and governing complex event platforms
|
|
185
|
+
</p>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
|
|
189
|
+
{/* Mobile Progress Indicators */}
|
|
190
|
+
<div class="flex justify-center items-center space-x-2 mt-4 md:hidden">
|
|
191
|
+
<div class="w-2 h-2 rounded-full bg-purple-600"></div>
|
|
192
|
+
<div class="w-2 h-2 rounded-full bg-purple-400"></div>
|
|
193
|
+
<div class="w-2 h-2 rounded-full bg-purple-300"></div>
|
|
194
|
+
<div class="w-2 h-2 rounded-full bg-purple-200"></div>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
</div>
|
|
198
|
+
|
|
199
|
+
{/* Features Section */}
|
|
200
|
+
<div class="mb-16">
|
|
201
|
+
<h2 class="text-2xl font-semibold text-gray-900 mb-8">Save time with EventCatalog</h2>
|
|
202
|
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
|
203
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
204
|
+
<div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center mb-4">
|
|
205
|
+
<ScrollText className="w-6 h-6 text-blue-600" />
|
|
206
|
+
</div>
|
|
207
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Custom Documentation</h3>
|
|
208
|
+
<p class="text-gray-600">Add ADRs, runbooks, and technical guidelines to create a centralized knowledge hub.</p>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
212
|
+
<div class="w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center mb-4">
|
|
213
|
+
<Bot className="w-6 h-6 text-green-600" />
|
|
214
|
+
</div>
|
|
215
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">AI Assistant</h3>
|
|
216
|
+
<p class="text-gray-600">Chat with your catalog to quickly find information about your architecture.</p>
|
|
217
|
+
</div>
|
|
218
|
+
|
|
219
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
220
|
+
<div class="w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center mb-4">
|
|
221
|
+
<Component className="w-6 h-6 text-purple-600" />
|
|
222
|
+
</div>
|
|
223
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Federation</h3>
|
|
224
|
+
<p class="text-gray-600">Connect multiple catalogs into a unified view for centralized visibility across teams.</p>
|
|
225
|
+
</div>
|
|
226
|
+
|
|
227
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
228
|
+
<div class="w-12 h-12 bg-indigo-100 rounded-lg flex items-center justify-center mb-4">
|
|
229
|
+
<Code className="w-6 h-6 text-indigo-600" />
|
|
230
|
+
</div>
|
|
231
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">IDE Integration</h3>
|
|
232
|
+
<p class="text-gray-600">Access EventCatalog directly from your IDE for seamless documentation while coding.</p>
|
|
233
|
+
</div>
|
|
234
|
+
|
|
235
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
236
|
+
<div class="w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center mb-4">
|
|
237
|
+
<Cpu className="w-6 h-6 text-yellow-600" />
|
|
238
|
+
</div>
|
|
239
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Automated Documentation</h3>
|
|
240
|
+
<p class="text-gray-600">
|
|
241
|
+
Generate and maintain documentation automatically with integrations for AsyncAPI and OpenAPI.
|
|
242
|
+
</p>
|
|
243
|
+
</div>
|
|
244
|
+
|
|
245
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
246
|
+
<div class="w-12 h-12 bg-red-100 rounded-lg flex items-center justify-center mb-4">
|
|
247
|
+
<LifeBuoy className="w-6 h-6 text-red-600" />
|
|
248
|
+
</div>
|
|
249
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Priority Support</h3>
|
|
250
|
+
<p class="text-gray-600">Get priority email support and assistance from the EventCatalog team.</p>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
|
|
255
|
+
{/* Questions Section */}
|
|
256
|
+
<div class="mt-16">
|
|
257
|
+
<h2 class="text-2xl font-semibold text-gray-900 mb-8">Questions about EventCatalog?</h2>
|
|
258
|
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
|
259
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
260
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Request a Demo</h3>
|
|
261
|
+
<p class="text-gray-600 mb-4">See EventCatalog in action with a personalized demo from our team.</p>
|
|
262
|
+
<a
|
|
263
|
+
href="mailto:hello@eventcatalog.dev"
|
|
264
|
+
class="text-purple-600 hover:text-purple-700 font-medium inline-flex items-center"
|
|
265
|
+
>
|
|
266
|
+
Schedule a demo
|
|
267
|
+
<ExternalLink className="w-4 h-4 ml-1.5" />
|
|
268
|
+
</a>
|
|
269
|
+
</div>
|
|
270
|
+
|
|
271
|
+
<div class="bg-white rounded-xl p-6 shadow-sm border border-gray-200">
|
|
272
|
+
<h3 class="text-lg font-semibold text-gray-900 mb-2">Join the community</h3>
|
|
273
|
+
<p class="text-gray-600 mb-4">Join our growing community on Discord. Over 1000+ members.</p>
|
|
274
|
+
<a
|
|
275
|
+
href="https://discord.gg/3rjaZMmrAm"
|
|
276
|
+
class="text-purple-600 hover:text-purple-700 font-medium inline-flex items-center"
|
|
277
|
+
>
|
|
278
|
+
Join the community
|
|
279
|
+
<ExternalLink className="w-4 h-4 ml-1.5" />
|
|
280
|
+
</a>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
</div>
|
|
284
|
+
</div>
|
|
285
|
+
</div>
|
|
286
|
+
</VerticalSideBarLayout>
|
|
287
|
+
|
|
288
|
+
<style>
|
|
289
|
+
.scroll-smooth {
|
|
290
|
+
scroll-behavior: smooth;
|
|
291
|
+
}
|
|
292
|
+
</style>
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* ⚠️ WARNING: IMPORTANT LICENSE NOTICE ⚠️
|
|
3
|
+
*
|
|
4
|
+
* Manually setting environment variables (EVENTCATALOG_STARTER or EVENTCATALOG_SCALE) to 'true'
|
|
5
|
+
* or modifying these functions without a valid license is strictly prohibited and constitutes
|
|
6
|
+
* a violation of EventCatalog's terms of use and license agreement.
|
|
7
|
+
*
|
|
8
|
+
* To access premium features legally:
|
|
9
|
+
* 1. Visit https://www.eventcatalog.dev/pricing
|
|
10
|
+
* 2. Purchase an appropriate license
|
|
11
|
+
* 3. Follow the official activation instructions
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// These functions check for valid, legally obtained access to premium features
|
|
15
|
+
export const isEventCatalogStarterEnabled = () => process.env.EVENTCATALOG_STARTER === 'true';
|
|
16
|
+
export const isEventCatalogScaleEnabled = () => process.env.EVENTCATALOG_SCALE === 'true';
|
|
17
|
+
|
|
18
|
+
export const isCustomDocsEnabled = () => isEventCatalogStarterEnabled() || isEventCatalogScaleEnabled();
|
|
19
|
+
export const isEventCatalogChatEnabled = () => isEventCatalogStarterEnabled() || isEventCatalogScaleEnabled();
|
|
20
|
+
|
|
21
|
+
export const isEventCatalogUpgradeEnabled = () => !isEventCatalogStarterEnabled() && !isEventCatalogScaleEnabled();
|