Skip to content

Commit a1d76c3

Browse files
committed
refactor: update generated code and components
- Regenerate TypeScript files from manifest updates - Update VendorMatrix component - Update accessibility test configuration
1 parent 09c79ea commit a1d76c3

File tree

7 files changed

+185
-55
lines changed

7 files changed

+185
-55
lines changed

src/app/[locale]/ai-coding-landscape/components/VendorMatrix.tsx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,26 @@ function MatrixCell({ products, category }: MatrixCellProps) {
5858
)
5959
}
6060

61-
// Multiple products
61+
// Two products - display directly without collapse
62+
if (products.length === 2) {
63+
return (
64+
<div className="h-full min-h-[80px] flex flex-col gap-1">
65+
{products.map(product => (
66+
<Link
67+
key={product.id}
68+
href={product.path}
69+
className="flex-1 border border-[var(--color-border)] hover:border-[var(--color-border-strong)] transition-all p-[var(--spacing-sm)] bg-[var(--color-bg-subtle)] hover:bg-[var(--color-hover)] group"
70+
>
71+
<h4 className="font-medium text-sm tracking-tight group-hover:text-[var(--color-text)] transition-colors line-clamp-2">
72+
{product.name}
73+
</h4>
74+
</Link>
75+
))}
76+
</div>
77+
)
78+
}
79+
80+
// Three or more products - show collapse menu
6281
return (
6382
<div className="relative h-full min-h-[80px]">
6483
<button

src/lib/generated/clis.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import ClineCli from '../../../manifests/clis/cline-cli.json'
1212
import CodebuddyCli from '../../../manifests/clis/codebuddy-cli.json'
1313
import CodexCli from '../../../manifests/clis/codex-cli.json'
1414
import ContinueCli from '../../../manifests/clis/continue-cli.json'
15+
import CursorCli from '../../../manifests/clis/cursor-cli.json'
1516
import DroidCli from '../../../manifests/clis/droid-cli.json'
1617
import GeminiCli from '../../../manifests/clis/gemini-cli.json'
1718
import GithubCopilotCli from '../../../manifests/clis/github-copilot-cli.json'
@@ -33,6 +34,7 @@ export const clisData = [
3334
CodebuddyCli,
3435
CodexCli,
3536
ContinueCli,
37+
CursorCli,
3638
DroidCli,
3739
GeminiCli,
3840
GithubCopilotCli,

src/lib/generated/extensions.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import KiloCode from '../../../manifests/extensions/kilo-code.json'
1818
import Qoder from '../../../manifests/extensions/qoder.json'
1919
import RooCode from '../../../manifests/extensions/roo-code.json'
2020
import Tabnine from '../../../manifests/extensions/tabnine.json'
21+
import Verdent from '../../../manifests/extensions/verdent.json'
2122
import type { ManifestExtension } from '../../types/manifests'
2223

2324
export const extensionsData = [
@@ -35,6 +36,7 @@ export const extensionsData = [
3536
Qoder,
3637
RooCode,
3738
Tabnine,
39+
Verdent,
3840
] as unknown as ManifestExtension[]
3941

4042
export type Extension = typeof Amp

src/lib/generated/ides.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import IntellijIdea from '../../../manifests/ides/intellij-idea.json'
1313
import Kiro from '../../../manifests/ides/kiro.json'
1414
import Qoder from '../../../manifests/ides/qoder.json'
1515
import Trae from '../../../manifests/ides/trae.json'
16+
import VerdentDeck from '../../../manifests/ides/verdent-deck.json'
1617
import Vscode from '../../../manifests/ides/vscode.json'
1718
import Windsurf from '../../../manifests/ides/windsurf.json'
1819
import Zed from '../../../manifests/ides/zed.json'
@@ -28,6 +29,7 @@ export const idesData = [
2829
Kiro,
2930
Qoder,
3031
Trae,
32+
VerdentDeck,
3133
Vscode,
3234
Windsurf,
3335
Zed,

src/lib/generated/metadata.ts

Lines changed: 117 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
134134
description: '现代软件开发的基本标准和协议',
135135
},
136136
},
137-
cards: [
137+
sections: [
138138
{
139139
title: 'Development Standards',
140140
translations: {
@@ -143,18 +143,6 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
143143
},
144144
},
145145
items: [
146-
{
147-
translations: {
148-
'zh-Hans': {
149-
name: '语义化版本',
150-
description: '使用 MAJOR.MINOR.PATCH 格式的版本控制方案,传达兼容性和更新影响',
151-
},
152-
},
153-
name: 'Semantic Versioning',
154-
url: 'https://semver.org',
155-
description:
156-
'Versioning scheme using MAJOR.MINOR.PATCH format to communicate compatibility and impact of updates',
157-
},
158146
{
159147
translations: {
160148
'zh-Hans': {
@@ -170,14 +158,14 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
170158
{
171159
translations: {
172160
'zh-Hans': {
173-
name: 'AGENTS.md',
174-
description: '为编码 Agent 提供项目特定指令和上下文的开放格式 Markdown 文件',
161+
name: '语义化版本',
162+
description: '使用 MAJOR.MINOR.PATCH 格式的版本控制方案,传达兼容性和更新影响',
175163
},
176164
},
177-
name: 'AGENTS.md',
178-
url: 'https://agents.md',
165+
name: 'Semantic Versioning',
166+
url: 'https://semver.org',
179167
description:
180-
'Open-format markdown file providing coding agents with project-specific instructions and context',
168+
'Versioning scheme using MAJOR.MINOR.PATCH format to communicate compatibility and impact of updates',
181169
},
182170
],
183171
},
@@ -189,18 +177,6 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
189177
},
190178
},
191179
items: [
192-
{
193-
translations: {
194-
'zh-Hans': {
195-
name: '模型上下文协议 (MCP)',
196-
description: '将 AI 应用连接到外部系统(如数据源、工具和工作流)的开放标准',
197-
},
198-
},
199-
name: 'Model Context Protocol (MCP)',
200-
url: 'https://modelcontextprotocol.io',
201-
description:
202-
'Open standard connecting AI applications to external systems like data sources, tools, and workflows',
203-
},
204180
{
205181
translations: {
206182
'zh-Hans': {
@@ -216,14 +192,14 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
216192
{
217193
translations: {
218194
'zh-Hans': {
219-
name: 'Agent 支付协议 (AP2)',
220-
description: '使用可验证数字凭证和授权委托的安全 Agent 支付开放协议',
195+
name: 'Agent 客户端协议 (ACP)',
196+
description: '标准化代码编辑器与 Agent 之间通信的开放协议,用于自主代码修改',
221197
},
222198
},
223-
name: 'Agent Payments Protocol (AP2)',
224-
url: 'https://ap2-protocol.org',
199+
name: 'Agent Client Protocol (ACP)',
200+
url: 'https://agentclientprotocol.com',
225201
description:
226-
'Open protocol for secure agent-led payments using verifiable digital credentials and authorization mandates',
202+
'Open protocol standardizing communication between code editors and coding agents for autonomous code modification',
227203
},
228204
{
229205
translations: {
@@ -240,14 +216,14 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
240216
{
241217
translations: {
242218
'zh-Hans': {
243-
name: 'Agent 客户端协议 (ACP)',
244-
description: '标准化代码编辑器与 Agent 之间通信的开放协议,用于自主代码修改',
219+
name: 'Agent 支付协议 (AP2)',
220+
description: '使用可验证数字凭证和授权委托的安全 Agent 支付开放协议',
245221
},
246222
},
247-
name: 'Agent Client Protocol (ACP)',
248-
url: 'https://agentclientprotocol.com',
223+
name: 'Agent Payments Protocol (AP2)',
224+
url: 'https://ap2-protocol.org',
249225
description:
250-
'Open protocol standardizing communication between code editors and coding agents for autonomous code modification',
226+
'Open protocol for secure agent-led payments using verifiable digital credentials and authorization mandates',
251227
},
252228
],
253229
},
@@ -262,7 +238,7 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
262238
description: '来自行业领袖的 AI 编码必读文章',
263239
},
264240
},
265-
cards: [
241+
sections: [
266242
{
267243
title: 'OpenAI on Coding',
268244
translations: {
@@ -402,7 +378,7 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
402378
description: 'AI 编码工作流的精选工具和实用程序',
403379
},
404380
},
405-
cards: [
381+
sections: [
406382
{
407383
title: 'Development Tools',
408384
translations: {
@@ -485,6 +461,101 @@ export const collectionsMetadata: Record<string, CollectionSection> = {
485461
},
486462
],
487463
},
464+
features: {
465+
title: 'Coding Features',
466+
description: 'Must-try features for AI coding workflows',
467+
translations: {
468+
'zh-Hans': {
469+
title: '编码功能',
470+
description: 'AI 编码工作流的必备功能',
471+
},
472+
},
473+
sections: [
474+
{
475+
title: 'Open Standards',
476+
translations: {
477+
'zh-Hans': {
478+
title: '开放标准',
479+
},
480+
},
481+
items: [
482+
{
483+
name: 'MCP',
484+
url: 'https://modelcontextprotocol.io',
485+
description:
486+
'Open standard connecting AI applications to external systems like data sources, tools, and workflows',
487+
translations: {
488+
'zh-Hans': {
489+
name: '模型上下文协议 (MCP)',
490+
description: '将 AI 应用连接到外部系统(如数据源、工具和工作流)的开放标准',
491+
},
492+
},
493+
},
494+
{
495+
name: 'AGENTS.md',
496+
url: 'https://agents.md',
497+
description:
498+
'Open-format markdown file providing coding agents with project-specific instructions and context',
499+
translations: {
500+
'zh-Hans': {
501+
name: 'AGENTS.md',
502+
description: '为编码 Agent 提供项目特定指令和上下文的开放格式 Markdown 文件',
503+
},
504+
},
505+
},
506+
],
507+
},
508+
{
509+
title: 'Vendor Standards',
510+
translations: {
511+
'zh-Hans': {
512+
title: '厂商标准',
513+
},
514+
},
515+
items: [
516+
{
517+
name: 'Agent Skills',
518+
url: 'https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview',
519+
description:
520+
"Modular capabilities that extend Agent's functionality through filesystem-based resources containing instructions, metadata, and optional scripts, enabling domain-specific expertise and workflows",
521+
translations: {
522+
'zh-Hans': {
523+
name: 'Agent 技能',
524+
description:
525+
'模块化能力,通过基于文件系统的资源(包含指令、元数据和可选脚本)扩展 Agent 的功能,实现领域专业知识和工作流',
526+
},
527+
},
528+
},
529+
{
530+
name: 'Commands',
531+
url: 'https://cursor.com/docs/agent/chat/commands',
532+
description:
533+
'Custom commands that create reusable workflows triggered with a `/` prefix in the chat input, stored as Markdown files in project, global, or team locations',
534+
translations: {
535+
'zh-Hans': {
536+
name: '命令',
537+
description:
538+
'自定义命令,可通过聊天输入框中的 `/` 前缀触发可重用工作流,以 Markdown 文件形式存储在项目、全局或团队位置',
539+
},
540+
},
541+
},
542+
{
543+
name: 'Rules',
544+
url: 'https://cursor.com/docs/context/rules',
545+
description:
546+
'System-level instructions for Agent that provide persistent, reusable context through Project Rules, User Rules, Team Rules, and AGENTS.md files',
547+
translations: {
548+
'zh-Hans': {
549+
name: '规则',
550+
description:
551+
'为 Agent 提供系统级指令,通过项目规则、用户规则、团队规则和 AGENTS.md 文件提供持久、可重用的上下文',
552+
},
553+
},
554+
},
555+
],
556+
},
557+
],
558+
},
488559
}
489560

490561
export const faqMetadata: Record<string, FaqItem[]> = {
@@ -599,10 +670,10 @@ export const faqMetadata: Record<string, FaqItem[]> = {
599670
}
600671

601672
export const stackCounts: Record<string, number> = {
602-
ides: 12,
603-
clis: 18,
604-
extensions: 14,
673+
ides: 13,
674+
clis: 19,
675+
extensions: 15,
605676
models: 26,
606677
'model-providers': 7,
607-
vendors: 34,
678+
vendors: 35,
608679
}

src/lib/generated/vendors.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import Sst from '../../../manifests/vendors/sst.json'
3535
import Streamlake from '../../../manifests/vendors/streamlake.json'
3636
import Tabnine from '../../../manifests/vendors/tabnine.json'
3737
import Tencent from '../../../manifests/vendors/tencent.json'
38+
import VerdentAi from '../../../manifests/vendors/verdent-ai.json'
3839
import Xai from '../../../manifests/vendors/xai.json'
3940
import ZAi from '../../../manifests/vendors/z-ai.json'
4041
import ZedIndustries from '../../../manifests/vendors/zed-industries.json'
@@ -72,6 +73,7 @@ export const vendorsData = [
7273
Streamlake,
7374
Tabnine,
7475
Tencent,
76+
VerdentAi,
7577
Xai,
7678
ZAi,
7779
ZedIndustries,

0 commit comments

Comments
 (0)