This commit introduces a comprehensive engineering audit report for the Tootaio Studio project. The report is structured into documents covering architecture, code quality, performance, security, CI/CD, and observability. It also includes a phased improvement roadmap and a set of `.patch` files to apply immediate fixes for content schemas, package scripts, and CI configuration.
90 lines
2.1 KiB
Diff
90 lines
2.1 KiB
Diff
diff --git a/content.config.ts b/content.config.ts
|
|
--- a/content.config.ts
|
|
+++ b/content.config.ts
|
|
@@
|
|
const defineIndexSchema = () =>
|
|
- z.object({
|
|
- capabilities: z.object({
|
|
- title: z.string(),
|
|
- features: z.array(
|
|
- z.object({
|
|
- title: z.string(),
|
|
- description: z.string(),
|
|
- icon: z.string(),
|
|
- })
|
|
- ),
|
|
- }),
|
|
- featuredProjects: z.object({
|
|
- title: z.string(),
|
|
- projects: z.array(
|
|
- z.object({
|
|
- title: z.string(),
|
|
- description: z.string(),
|
|
- image: z.string(),
|
|
- demoLink: z.string(),
|
|
- highlight: z.boolean(),
|
|
- spotlight: z.boolean(),
|
|
- })
|
|
- ),
|
|
- }),
|
|
- techStack: z.object({
|
|
- title: z.string(),
|
|
- }),
|
|
- whyChooseUs: z.object({
|
|
- title: z.string(),
|
|
- features: z.array(
|
|
- z.object({
|
|
- title: z.string(),
|
|
- description: z.string(),
|
|
- icon: z.string(),
|
|
- })
|
|
- ),
|
|
- }),
|
|
- });
|
|
+ z.object({
|
|
+ title: z.string(),
|
|
+ description: z.string(),
|
|
+ seo: z
|
|
+ .object({
|
|
+ title: z.string().optional(),
|
|
+ description: z.string().optional(),
|
|
+ })
|
|
+ .optional(),
|
|
+ capabilities: z.object({
|
|
+ title: z.string(),
|
|
+ features: z.array(
|
|
+ z.object({
|
|
+ title: z.string(),
|
|
+ description: z.string(),
|
|
+ icon: z.string().optional(),
|
|
+ })
|
|
+ ),
|
|
+ }),
|
|
+ featuredProjects: z.object({
|
|
+ title: z.string(),
|
|
+ projects: z.array(
|
|
+ z.object({
|
|
+ title: z.string(),
|
|
+ description: z.string(),
|
|
+ image: z.string(),
|
|
+ demoLink: z.string().url().optional(),
|
|
+ highlight: z.boolean().optional().default(false),
|
|
+ spotlight: z.boolean().optional().default(false),
|
|
+ })
|
|
+ ),
|
|
+ }),
|
|
+ techStack: z.object({
|
|
+ title: z.string(),
|
|
+ }),
|
|
+ whyChooseUs: z.object({
|
|
+ title: z.string(),
|
|
+ features: z.array(
|
|
+ z.object({
|
|
+ title: z.string(),
|
|
+ description: z.string(),
|
|
+ icon: z.string().optional(),
|
|
+ })
|
|
+ ),
|
|
+ }),
|
|
+ });
|