@vudovn/antigravity-kit 1.0.1 → 1.0.5

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.
@@ -1,55 +1,55 @@
1
- import type { Metadata } from "next";
2
- import { Geist, Geist_Mono } from "next/font/google";
3
- import "./globals.css";
4
-
5
- const geistSans = Geist({
6
- variable: "--font-geist-sans",
7
- subsets: ["latin"],
8
- });
9
-
10
- const geistMono = Geist_Mono({
11
- variable: "--font-geist-mono",
12
- subsets: ["latin"],
13
- });
14
-
15
- export const metadata: Metadata = {
16
- title: "Antigravity Kit - AI Agent Capability Expansion Toolkit",
17
- description:
18
- "A comprehensive collection of skills, rules, and workflows to supercharge AI coding assistants for Antigravity. 35+ skills, 10 rules, 57 UI Styles, production-ready workflows.",
19
- keywords: [
20
- "AI agent",
21
- "Antigravity kit",
22
- "Antigravity skill",
23
- "Antigravity rule",
24
- "Antigravity workflow",
25
- "Antigravity agent",
26
- "Antigravity ide",
27
- "coding assistant",
28
- "skills",
29
- "workflows",
30
- "developer tools",
31
- ],
32
- authors: [{ name: "VudoVN", url: "https://github.com/vudovn" }],
33
- openGraph: {
34
- title: "Antigravity Kit - AI Agent Capability Expansion Toolkit",
35
- description:
36
- "35+ skills, 10 rules, 57 UI Styles, production-ready workflows for AI coding assistants for Antigravity.",
37
- type: "website",
38
- },
39
- };
40
-
41
- export default function RootLayout({
42
- children,
43
- }: Readonly<{
44
- children: React.ReactNode;
45
- }>) {
46
- return (
47
- <html lang="en" className="dark" suppressHydrationWarning>
48
- <body
49
- className={`${geistSans.variable} ${geistMono.variable} font-sans antialiased`}
50
- >
51
- {children}
52
- </body>
53
- </html>
54
- );
55
- }
1
+ import type { Metadata } from "next";
2
+ import { Geist, Geist_Mono } from "next/font/google";
3
+ import "./globals.css";
4
+
5
+ const geistSans = Geist({
6
+ variable: "--font-geist-sans",
7
+ subsets: ["latin"],
8
+ });
9
+
10
+ const geistMono = Geist_Mono({
11
+ variable: "--font-geist-mono",
12
+ subsets: ["latin"],
13
+ });
14
+
15
+ export const metadata: Metadata = {
16
+ title: "Antigravity Kit - AI Agent Capability Expansion Toolkit",
17
+ description:
18
+ "A comprehensive collection of skills, rules, and workflows to supercharge AI coding assistants for Antigravity. 35+ skills, 10 rules, 57 UI Styles, production-ready workflows.",
19
+ keywords: [
20
+ "AI agent",
21
+ "Antigravity kit",
22
+ "Antigravity skill",
23
+ "Antigravity rule",
24
+ "Antigravity workflow",
25
+ "Antigravity agent",
26
+ "Antigravity ide",
27
+ "coding assistant",
28
+ "skills",
29
+ "workflows",
30
+ "developer tools",
31
+ ],
32
+ authors: [{ name: "VudoVN", url: "https://github.com/vudovn" }],
33
+ openGraph: {
34
+ title: "Antigravity Kit - AI Agent Capability Expansion Toolkit",
35
+ description:
36
+ "35+ skills, 10 rules, 57 UI Styles, production-ready workflows for AI coding assistants for Antigravity.",
37
+ type: "website",
38
+ },
39
+ };
40
+
41
+ export default function RootLayout({
42
+ children,
43
+ }: Readonly<{
44
+ children: React.ReactNode;
45
+ }>) {
46
+ return (
47
+ <html lang="en" className="dark" suppressHydrationWarning>
48
+ <body
49
+ className={`${geistSans.variable} ${geistMono.variable} font-sans antialiased`}
50
+ >
51
+ {children}
52
+ </body>
53
+ </html>
54
+ );
55
+ }
@@ -1,23 +1,23 @@
1
- import Navbar from "@/components/Navbar";
2
- import Hero from "@/components/Hero";
3
- import Features from "@/components/Features";
4
- import Skills from "@/components/Skills";
5
- import HowItWorks from "@/components/HowItWorks";
6
- import Credits from "@/components/Credits";
7
- import Footer from "@/components/Footer";
8
-
9
- export default function Home() {
10
- return (
11
- <>
12
- <Navbar />
13
- <main>
14
- <Hero />
15
- <Features />
16
- <Skills />
17
- <HowItWorks />
18
- <Credits />
19
- </main>
20
- <Footer />
21
- </>
22
- );
23
- }
1
+ import Navbar from "@/components/Navbar";
2
+ import Hero from "@/components/Hero";
3
+ import Features from "@/components/Features";
4
+ import Skills from "@/components/Skills";
5
+ import HowItWorks from "@/components/HowItWorks";
6
+ import Credits from "@/components/Credits";
7
+ import Footer from "@/components/Footer";
8
+
9
+ export default function Home() {
10
+ return (
11
+ <>
12
+ <Navbar />
13
+ <main>
14
+ <Hero />
15
+ <Features />
16
+ <Skills />
17
+ <HowItWorks />
18
+ <Credits />
19
+ </main>
20
+ <Footer />
21
+ </>
22
+ );
23
+ }
@@ -1,4 +1,4 @@
1
- // External Link Icon
1
+ // External link icon
2
2
  const ExternalLinkIcon = () => (
3
3
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" className="w-4 h-4">
4
4
  <path fillRule="evenodd" d="M4.25 5.5a.75.75 0 0 0-.75.75v8.5c0 .414.336.75.75.75h8.5a.75.75 0 0 0 .75-.75v-4a.75.75 0 0 1 1.5 0v4A2.25 2.25 0 0 1 12.75 17h-8.5A2.25 2.25 0 0 1 2 14.75v-8.5A2.25 2.25 0 0 1 4.25 4h5a.75.75 0 0 1 0 1.5h-5Z" clipRule="evenodd" />
@@ -6,153 +6,63 @@ const ExternalLinkIcon = () => (
6
6
  </svg>
7
7
  );
8
8
 
9
- // UI UX Icon
10
- const PaletteIcon = () => (
11
- <svg
12
- viewBox="0 0 48 48"
13
- fill="none"
14
- className="w-6 h-6 min-[400px]:w-7 min-[400px]:h-7 sm:w-8 sm:h-8"
15
- xmlns="http://www.w3.org/2000/svg"
16
- >
17
- <defs>
18
- <linearGradient id="logoGradient" x1="0%" y1="0%" x2="100%" y2="100%">
19
- <stop offset="0%" stopColor="#2563EB" />
20
- <stop offset="50%" stopColor="#3B82F6" />
21
- <stop offset="100%" stopColor="#F97316" />
22
- </linearGradient>
23
- <linearGradient id="innerGradient" x1="0%" y1="100%" x2="100%" y2="0%">
24
- <stop offset="0%" stopColor="#F97316" />
25
- <stop offset="100%" stopColor="#2563EB" />
26
- </linearGradient>
27
- </defs>
28
- <circle
29
- cx={24}
30
- cy={24}
31
- r={22}
32
- stroke="url(#logoGradient)"
33
- strokeWidth={3}
34
- fill="none"
35
- />
36
- <rect
37
- x={14}
38
- y={14}
39
- width={12}
40
- height={12}
41
- rx={2}
42
- fill="url(#logoGradient)"
43
- opacity="0.9"
44
- />
45
- <rect
46
- x={18}
47
- y={18}
48
- width={12}
49
- height={12}
50
- rx={2}
51
- fill="url(#innerGradient)"
52
- opacity="0.8"
53
- />
54
- <rect
55
- x={22}
56
- y={22}
57
- width={12}
58
- height={12}
59
- rx={2}
60
- fill="url(#logoGradient)"
61
- opacity="0.9"
62
- />
63
- <circle cx={36} cy={12} r={2} fill="#F97316" />
64
- <circle cx={12} cy={36} r="1.5" fill="#3B82F6" />
65
- </svg>
66
-
67
- );
68
-
69
- // ClaudeKit Icon
70
- const CpuChipIcon = () => (
71
- <img src="/images/claudekit.png" />
72
- );
73
-
74
9
  const credits = [
75
10
  {
76
- icon: <PaletteIcon />,
77
11
  name: "UI UX Pro Max",
78
- description:
79
- "Design Intelligence for Claude Code - 50 styles, 21 color palettes, 50 font pairings, 20 chart types",
12
+ description: "Design Intelligence - 50 styles, 21 palettes, 50 font pairings",
80
13
  link: "https://ui-ux-pro-max-skill.nextlevelbuilder.io/",
81
- color: "",
14
+ badge: "Design",
15
+ icon: "/images/ux-ui-pro-max.svg"
82
16
  },
83
17
  {
84
- icon: <CpuChipIcon />,
85
18
  name: "ClaudeKit",
86
- description:
87
- "Production-ready AI subagents, workflows, and integrations for software development",
19
+ description: "Production-ready AI subagents and workflows",
88
20
  link: "https://claudekit.cc/",
89
- color: "",
21
+ badge: "AI",
22
+ icon: "/images/claudekit.png"
90
23
  },
91
24
  ];
92
25
 
93
26
  export default function Credits() {
94
27
  return (
95
- <section id="credits" className="section relative overflow-hidden">
96
- {/* Background Glow */}
97
- <div className="bg-glow bg-glow-purple left-1/2 bottom-0 -translate-x-1/2 translate-y-1/2" />
98
-
99
- <div className="container-content relative z-10">
28
+ <section id="credits" className="py-20 px-4 border-t border-[var(--color-border)]">
29
+ <div className="max-w-3xl mx-auto">
100
30
  {/* Section Header */}
101
31
  <div className="text-center mb-12">
102
- <h2 className="heading-lg mb-4">
103
- Built Upon <span className="gradient-text">Amazing Tools</span>
32
+ <p className="text-[#c084fc] font-mono text-sm mb-3">// CREDITS</p>
33
+ <h2 className="text-3xl md:text-4xl font-bold mb-4">
34
+ Built upon <span className="text-[#22c55e]">amazing</span> tools
104
35
  </h2>
105
- <p className="text-body max-w-2xl mx-auto">
106
- Special thanks to the creators of these incredible projects that
107
- make Antigravity Kit possible.
36
+ <p className="text-[var(--color-text-secondary)]">
37
+ Special thanks to the creators of these projects.
108
38
  </p>
109
39
  </div>
110
40
 
111
41
  {/* Credit Cards */}
112
- <div className="grid md:grid-cols-2 gap-6 max-w-4xl mx-auto">
42
+ <div className="grid md:grid-cols-2 gap-4">
113
43
  {credits.map((credit, index) => (
114
44
  <a
115
45
  key={index}
116
46
  href={credit.link}
117
47
  target="_blank"
118
48
  rel="noopener noreferrer"
119
- className="glass-card p-6 group cursor-pointer block"
49
+ className="group p-5 rounded-xl bg-[var(--color-bg-card)] border border-[var(--color-border)] hover:border-[var(--color-accent)] transition-all cursor-pointer"
120
50
  >
121
- {/* Icon with gradient background */}
122
- <div
123
- className={`
124
- w-16 h-16 rounded-xl mb-4 flex items-center justify-center
125
- bg-gradient-to-br ${credit.color} text-white
126
- `}
127
- >
128
- {credit.icon}
129
- </div>
130
-
131
- {/* Name with external link */}
132
- <div className="flex items-center gap-2 mb-2">
133
- <h3 className="heading-md">{credit.name}</h3>
51
+ <div className="flex items-start justify-between mb-3">
52
+ <div className="flex items-center gap-2">
53
+ <span className="text-white font-medium flex items-center gap-2">
54
+ <img src={credit.icon} alt={credit.name} className="w-6 h-6" />
55
+ {credit.name}
56
+ </span>
57
+ <span className="text-xs px-2 py-0.5 rounded bg-[#1e1e1e] text-[#64748b] font-mono">
58
+ {credit.badge}
59
+ </span>
60
+ </div>
134
61
  <ExternalLinkIcon />
135
62
  </div>
136
-
137
- {/* Description */}
138
- <p className="text-body text-sm">{credit.description}</p>
139
-
140
- {/* Link hint */}
141
- <div className="mt-4 text-sm text-[var(--color-accent)] flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity">
142
- Visit project
143
- <svg
144
- xmlns="http://www.w3.org/2000/svg"
145
- viewBox="0 0 20 20"
146
- fill="currentColor"
147
- className="w-4 h-4"
148
- >
149
- <path
150
- fillRule="evenodd"
151
- d="M3 10a.75.75 0 0 1 .75-.75h10.638L10.23 5.29a.75.75 0 1 1 1.04-1.08l5.5 5.25a.75.75 0 0 1 0 1.08l-5.5 5.25a.75.75 0 1 1-1.04-1.08l4.158-3.96H3.75A.75.75 0 0 1 3 10Z"
152
- clipRule="evenodd"
153
- />
154
- </svg>
155
- </div>
63
+ <p className="text-sm text-[var(--color-text-secondary)]">
64
+ {credit.description}
65
+ </p>
156
66
  </a>
157
67
  ))}
158
68
  </div>
@@ -1,88 +1,145 @@
1
- // SVG Icons
2
- const BrainIcon = () => (
3
- <svg
4
- xmlns="http://www.w3.org/2000/svg"
5
- viewBox="0 0 24 24"
6
- fill="currentColor"
7
- className="w-6 h-6"
8
- >
9
- <path d="M11.645 20.91l-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z" />
1
+ // Feature icons
2
+ const CodeIcon = () => (
3
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="w-6 h-6">
4
+ <path fillRule="evenodd" d="M14.447 3.026a.75.75 0 0 1 .527.921l-4.5 16.5a.75.75 0 0 1-1.448-.394l4.5-16.5a.75.75 0 0 1 .921-.527ZM16.72 6.22a.75.75 0 0 1 1.06 0l5.25 5.25a.75.75 0 0 1 0 1.06l-5.25 5.25a.75.75 0 1 1-1.06-1.06L21.44 12l-4.72-4.72a.75.75 0 0 1 0-1.06Zm-9.44 0a.75.75 0 0 1 0 1.06L2.56 12l4.72 4.72a.75.75 0 0 1-1.06 1.06L.97 12.53a.75.75 0 0 1 0-1.06l5.25-5.25a.75.75 0 0 1 1.06 0Z" clipRule="evenodd" />
10
5
  </svg>
11
6
  );
12
7
 
13
- const BookOpenIcon = () => (
14
- <svg
15
- xmlns="http://www.w3.org/2000/svg"
16
- viewBox="0 0 24 24"
17
- fill="currentColor"
18
- className="w-6 h-6"
19
- >
20
- <path d="M11.25 4.533A9.707 9.707 0 0 0 6 3a9.735 9.735 0 0 0-3.25.555.75.75 0 0 0-.5.707v14.25a.75.75 0 0 0 1 .707A8.237 8.237 0 0 1 6 18.75c1.995 0 3.823.707 5.25 1.886V4.533ZM12.75 20.636A8.214 8.214 0 0 1 18 18.75c.966 0 1.89.166 2.75.47a.75.75 0 0 0 1-.708V4.262a.75.75 0 0 0-.5-.707A9.735 9.735 0 0 0 18 3a9.707 9.707 0 0 0-5.25 1.533v16.103Z" />
8
+ const StackIcon = () => (
9
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="w-6 h-6">
10
+ <path d="M11.644 1.59a.75.75 0 0 1 .712 0l9.75 5.25a.75.75 0 0 1 0 1.32l-9.75 5.25a.75.75 0 0 1-.712 0l-9.75-5.25a.75.75 0 0 1 0-1.32l9.75-5.25Z" />
11
+ <path d="m3.265 10.602 7.668 4.129a2.25 2.25 0 0 0 2.134 0l7.668-4.13 1.37.739a.75.75 0 0 1 0 1.32l-9.75 5.25a.75.75 0 0 1-.71 0l-9.75-5.25a.75.75 0 0 1 0-1.32l1.37-.738Z" />
12
+ <path d="m10.933 19.231-7.668-4.13-1.37.739a.75.75 0 0 0 0 1.32l9.75 5.25c.221.12.489.12.71 0l9.75-5.25a.75.75 0 0 0 0-1.32l-1.37-.738-7.668 4.13a2.25 2.25 0 0 1-2.134-.001Z" />
21
13
  </svg>
22
14
  );
23
15
 
24
- const BoltIcon = () => (
25
- <svg
26
- xmlns="http://www.w3.org/2000/svg"
27
- viewBox="0 0 24 24"
28
- fill="currentColor"
29
- className="w-6 h-6"
30
- >
31
- <path
32
- fillRule="evenodd"
33
- d="M14.615 1.595a.75.75 0 0 1 .359.852L12.982 9.75h7.268a.75.75 0 0 1 .548 1.262l-10.5 11.25a.75.75 0 0 1-1.272-.71l1.992-7.302H3.75a.75.75 0 0 1-.548-1.262l10.5-11.25a.75.75 0 0 1 .913-.143Z"
34
- clipRule="evenodd"
35
- />
16
+ const BugIcon = () => (
17
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="w-6 h-6">
18
+ <path fillRule="evenodd" d="M8.478 1.6a.75.75 0 0 1 .273 1.026 3.72 3.72 0 0 0-.425 1.121c.058.058.118.114.18.168A4.491 4.491 0 0 1 12 2.25a4.491 4.491 0 0 1 3.497 1.668c.06-.054.12-.11.178-.167a3.717 3.717 0 0 0-.426-1.125.75.75 0 1 1 1.298-.752 5.22 5.22 0 0 1 .671 2.046.75.75 0 0 1-.187.582c-.241.27-.505.52-.787.749a4.494 4.494 0 0 1 .216 2.1c-.106.792-.753 1.649-1.46 1.649-.707 0-1.354-.857-1.46-1.65a4.494 4.494 0 0 1 .216-2.099c-.281-.23-.545-.48-.786-.75a.75.75 0 0 1-.187-.581 5.22 5.22 0 0 1 .67-2.047.75.75 0 0 1 1.027-.273ZM9.75 6.75a.75.75 0 0 0 0 1.5h.008a.75.75 0 0 0 0-1.5H9.75Zm3.75 0a.75.75 0 0 0 0 1.5h.007a.75.75 0 0 0 0-1.5h-.007ZM7.251 10.314a.75.75 0 0 1 0 1.06l-.126.127a2.25 2.25 0 0 0-.657 1.59v.286a2.25 2.25 0 0 0 .657 1.59l.126.127a.75.75 0 0 1-1.06 1.06l-.127-.126a3.75 3.75 0 0 1-1.096-2.65v-.286a3.75 3.75 0 0 1 1.096-2.651l.127-.127a.75.75 0 0 1 1.06 0Zm9.499 0a.75.75 0 0 1 1.06 0l.127.127a3.75 3.75 0 0 1 1.096 2.65v.286a3.75 3.75 0 0 1-1.096 2.651l-.127.127a.75.75 0 0 1-1.06-1.061l.126-.127a2.25 2.25 0 0 0 .657-1.59v-.286a2.25 2.25 0 0 0-.657-1.59l-.126-.127a.75.75 0 0 1 0-1.06Zm-7.5 3.186a.75.75 0 0 1 0 1.5h-.007a.75.75 0 0 1 0-1.5h.007Zm4.5 0a.75.75 0 0 1 0 1.5h-.008a.75.75 0 0 1 0-1.5h.008ZM12 16.5a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 .75-.75Z" clipRule="evenodd" />
19
+ </svg>
20
+ );
21
+
22
+ const DocumentIcon = () => (
23
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="w-6 h-6">
24
+ <path fillRule="evenodd" d="M5.625 1.5c-1.036 0-1.875.84-1.875 1.875v17.25c0 1.035.84 1.875 1.875 1.875h12.75c1.035 0 1.875-.84 1.875-1.875V12.75A3.75 3.75 0 0 0 16.5 9h-1.875a1.875 1.875 0 0 1-1.875-1.875V5.25A3.75 3.75 0 0 0 9 1.5H5.625ZM7.5 15a.75.75 0 0 1 .75-.75h7.5a.75.75 0 0 1 0 1.5h-7.5A.75.75 0 0 1 7.5 15Zm.75 2.25a.75.75 0 0 0 0 1.5H12a.75.75 0 0 0 0-1.5H8.25Z" clipRule="evenodd" />
25
+ <path d="M12.971 1.816A5.23 5.23 0 0 1 14.25 5.25v1.875c0 .207.168.375.375.375H16.5a5.23 5.23 0 0 1 3.434 1.279 9.768 9.768 0 0 0-6.963-6.963Z" />
26
+ </svg>
27
+ );
28
+
29
+ const PaletteIcon = () => (
30
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="w-6 h-6">
31
+ <path fillRule="evenodd" d="M20.599 1.5c-.376 0-.743.111-1.055.32l-5.08 3.385a18.747 18.747 0 0 0-3.471 2.987 10.04 10.04 0 0 1 4.815 4.815 18.748 18.748 0 0 0 2.987-3.472l3.386-5.079A1.902 1.902 0 0 0 20.599 1.5Zm-8.3 14.025a18.76 18.76 0 0 0 1.896-1.207 8.026 8.026 0 0 0-4.513-4.513A18.75 18.75 0 0 0 8.475 11.7l-.278.5a5.26 5.26 0 0 1 3.601 3.602l.5-.278ZM6.75 13.5A3.75 3.75 0 0 0 3 17.25a1.5 1.5 0 0 1-1.601 1.497.75.75 0 0 0-.7 1.123 5.25 5.25 0 0 0 9.8-2.62 3.75 3.75 0 0 0-3.75-3.75Z" clipRule="evenodd" />
36
32
  </svg>
37
33
  );
38
34
 
39
35
  const features = [
40
36
  {
41
- icon: <BrainIcon />,
42
- title: "35+ Domain Skills",
43
- description:
44
- "Expert knowledge in React, Next.js, Node.js, databases, testing, DevOps, and more. The agent automatically applies relevant expertise.",
37
+ icon: <CodeIcon />,
38
+ title: "Super-Coder Skills",
39
+ description: "Directives that help the Agent write Clean Code, following SOLID and DRY principles from the first output.",
40
+ color: "#c084fc",
41
+ tags: ["Clean Code", "SOLID", "DRY"],
42
+ },
43
+ {
44
+ icon: <StackIcon />,
45
+ title: "Tech-Stack Specifics",
46
+ description: "Specialized skills for Modern Web (React/Next.js, Node/NestJS, Tailwind CSS, ...) – areas where default Agents often fall short.",
47
+ color: "#22c55e",
48
+ tags: ["React", "Next.js", "NestJS", "..."],
45
49
  },
46
50
  {
47
- icon: <BookOpenIcon />,
48
- title: "10 Behavior Rules",
49
- description:
50
- "Structured guidelines that direct agent behavior including task classification, communication style, and quality checklists.",
51
+ icon: <BugIcon />,
52
+ title: "QA & Debugging",
53
+ description: "Automate error review workflows and write proper Unit Tests.",
54
+ color: "#f97316",
55
+ tags: ["Unit Test", "Debug", "QA"],
51
56
  },
52
57
  {
53
- icon: <BoltIcon />,
54
- title: "Production Workflows",
55
- description:
56
- "Step-by-step procedures for common tasks. Invoke with slash commands like /request or /ui-ux-pro-max.",
58
+ icon: <DocumentIcon />,
59
+ title: "Documentation Auto",
60
+ description: "Transform code into technical documentation with a single command.",
61
+ color: "#3b82f6",
62
+ tags: ["Auto Docs", "README", "API Docs"],
63
+ },
64
+ {
65
+ icon: <PaletteIcon />,
66
+ title: "Design Intelligence",
67
+ description: "Integrates diverse UI style library from UI UX Pro Max.",
68
+ color: "#ec4899",
69
+ tags: ["50+ Styles", "21 Palettes", "UI/UX"],
70
+ },
71
+ {
72
+ icon: null, // Coming soon
73
+ title: "Coming Soon",
74
+ description: "More features are on the way. Stay tuned for updates!",
75
+ color: "#64748b",
76
+ tags: ["TBD"],
77
+ comingSoon: true,
57
78
  },
58
79
  ];
59
80
 
60
81
  export default function Features() {
61
82
  return (
62
- <section id="features" className="section">
63
- <div className="container-content">
83
+ <section id="features" className="py-20 px-4 border-t border-[var(--color-border)]">
84
+ <div className="max-w-5xl mx-auto">
64
85
  {/* Section Header */}
65
86
  <div className="text-center mb-16">
66
- <h2 className="heading-lg mb-4">
67
- Everything You Need to{" "}
68
- <span className="gradient-text">Level Up</span>
87
+ <p className="text-[#c084fc] font-mono text-sm mb-3">// FEATURES</p>
88
+ <h2 className="text-3xl md:text-4xl font-bold mb-4">
89
+ What&apos;s in the <span className="text-[#22c55e]">Kit?</span>
69
90
  </h2>
70
- <p className="text-body max-w-2xl mx-auto">
71
- A complete toolkit combining skills, rules, and workflows to
72
- transform your AI coding assistant into a domain expert.
91
+ <p className="text-[var(--color-text-secondary)] max-w-xl mx-auto">
92
+ A comprehensive toolkit to supercharge your AI coding assistant.
73
93
  </p>
74
94
  </div>
75
95
 
76
- {/* Feature Cards */}
77
- <div className="grid md:grid-cols-3 gap-6">
96
+ {/* Feature Cards Grid */}
97
+ <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-5">
78
98
  {features.map((feature, index) => (
79
99
  <div
80
100
  key={index}
81
- className="glass-card p-6 cursor-pointer"
101
+ className={`group p-6 rounded-xl transition-all ${feature.comingSoon
102
+ ? "border-2 border-dashed border-[var(--color-border)] bg-transparent opacity-60"
103
+ : "bg-[var(--color-bg-card)] border border-[var(--color-border)] hover:border-[var(--color-border-hover)]"
104
+ }`}
82
105
  >
83
- <div className="icon-wrapper mb-4">{feature.icon}</div>
84
- <h3 className="heading-md mb-3">{feature.title}</h3>
85
- <p className="text-body text-sm">{feature.description}</p>
106
+ {/* Icon */}
107
+ <div
108
+ className="w-12 h-12 rounded-lg flex items-center justify-center mb-4"
109
+ style={{
110
+ backgroundColor: `${feature.color}15`,
111
+ color: feature.color
112
+ }}
113
+ >
114
+ {feature.comingSoon ? (
115
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" className="w-6 h-6">
116
+ <path fillRule="evenodd" d="M12 3.75a.75.75 0 0 1 .75.75v6.75h6.75a.75.75 0 0 1 0 1.5h-6.75v6.75a.75.75 0 0 1-1.5 0v-6.75H4.5a.75.75 0 0 1 0-1.5h6.75V4.5a.75.75 0 0 1 .75-.75Z" clipRule="evenodd" />
117
+ </svg>
118
+ ) : feature.icon}
119
+ </div>
120
+
121
+ {/* Title */}
122
+ <h3 className="text-lg font-semibold text-white mb-2">
123
+ {feature.title}
124
+ </h3>
125
+
126
+ {/* Description */}
127
+ <p className="text-sm text-[var(--color-text-secondary)] mb-4 leading-relaxed">
128
+ {feature.description}
129
+ </p>
130
+
131
+ {/* Tags */}
132
+ <div className="flex flex-wrap gap-1.5">
133
+ {feature.tags.map((tag, i) => (
134
+ <span
135
+ key={i}
136
+ className="text-xs px-2 py-0.5 rounded bg-[#1e1e1e] font-mono"
137
+ style={{ color: feature.color }}
138
+ >
139
+ {tag}
140
+ </span>
141
+ ))}
142
+ </div>
86
143
  </div>
87
144
  ))}
88
145
  </div>