awesome-copilot 之 Salesforce 开发插件实战指南:Apex、Flow、LWC 与 Visualforce 全栈开发环境

发布时间:2026/9/11 19:48:26

awesome-copilot 之 Salesforce 开发插件实战指南:Apex、Flow、LWC 与 Visualforce 全栈开发环境 awesome-copilot 之 Salesforce 开发插件实战指南Apex、Flow、LWC 与 Visualforce 全栈开发环境【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot本文基于 GitHub 社区项目 awesome-copilot 仓库中的salesforce-development插件版本 1.1.0系统讲解如何通过 GitHub Copilot 插件体系搭建一套覆盖 Salesforce 后端逻辑、声明式自动化与前端 UI 的 Agentic 开发环境。读者读完本文将掌握插件的安装与启用方式、四个专职 AgentApex 触发器、Aura/LWC、Flow、Visualforce的分工与使用场景、三个配套 Skill 的质量守则以及它们背后沉淀的 Salesforce 平台最佳实践批量安全、共享模型、CRUD/FLS、安全编码与测试标准。插件定位一套完整的 Salesforce Agentic 开发环境salesforce-development是 awesome-copilot 社区插件仓库位于 plugins/salesforce-development中面向 Salesforce 开发者的组合型插件。它的目标是覆盖 Salesforce 日常开发的全部主战场Apex 类与触发器、Flow 声明式自动化、Lightning Web ComponentsLWC与 Aura 组件以及 Visualforce 页面与控制器。从 plugin.json 的元数据可以看到该插件的完整构成四个 Agentsalesforce-apex-triggers、salesforce-aura-lwc、salesforce-flow、salesforce-visualforce三个 Skillsalesforce-apex-qualityApex 质量守则、salesforce-component-standards组件质量标准、salesforce-flow-designFlow 设计与校验关键词覆盖salesforce、apex、triggers、lwc、aura、flow、visualforce、crm、salesforce-dx许可证为 MIT。这一设计意味着开发者在 GitHub Copilot Chat 中不必依赖一个万金油Agent而是可以根据当前任务类型切换到最专业的专职 Agent同时由 Skill 在后台为质量把关。安装与启用插件通过 Copilot 插件市场安装命令如下源自 插件 READMEcopilot plugin install salesforce-developmentawesome-copilot安装完成后在 GitHub Copilot Chat 中即可切换到salesforce-development插件提供的任意 Salesforce Agent。该插件依赖仓库根目录的 mcp.json、package.json 中声明的通用 Copilot 插件基础设施各 Agent 统一启用了codebase、edit/editFiles、terminalCommand、search、githubRepo等工具因此在对话中既可以直接读取代码库上下文也可以执行终端命令如运行 Apex 测试、部署到 scratch org。四个专职 Agent 的分工与使用插件内置的四个 Agent 按 Salesforce 技术栈横向切分各自聚焦一个开发领域表格内容源自 插件 READMEAgent职责salesforce-apex-triggers使用 Apex 类和触发器实现 Salesforce 业务逻辑产出符合 Salesforce 最佳实践的生产级代码salesforce-aura-lwc使用 Lightning Web Components 与 Aura 组件实现 Salesforce UI遵循 Lightning 框架最佳实践salesforce-flow使用 Salesforce Flow 实现业务自动化遵循声明式自动化最佳实践salesforce-visualforce实现 Visualforce 页面与控制器遵循 Salesforce MVC 架构与最佳实践salesforce-apex-triggers后端业务逻辑与触发器该 Agent 的完整定义见 agents/salesforce-apex-triggers.agent.md适合后端业务逻辑、触发器处理器、工具类与测试覆盖等场景。其工作流分为清晰的阶段Phase 1先发现再动手。写任何代码之前先检查项目中已有的触发器处理器与框架如 Trigger Actions Framework、fflib、service/selector/domain 分层约定、测试工厂与TestSetup模式、sfdx-project.json与package.xml中的 API 版本和命名空间上下文。找不到既有模式时必须询问用户而不是自创一套新架构。Phase 2选择最小的正确模式。Agent 内置了一张需求 → 模式对照表典型映射包括需求推荐模式可复用的业务逻辑Service 类查询密集型数据获取Selector 类SOQL 收敛在一处单对象触发器行为每对象一个触发器 专用 HandlerFlow 需要复杂 Apex 逻辑Service 上的InvocableMethod标准异步后台任务Queueable大批量记录处理Batch Apex 或Database.Cursor周期性调度任务Schedulable或 Scheduled Flow操作后清理Queueable 上的Finalizer长耗时 UI 内的外部调用Continuation可复用测试数据测试数据工厂类触发器架构方面该 Agent 坚持每对象一个触发器触发器体只做上下文检查与 Handler 路由业务逻辑不得写在触发器体内若项目已在用 TAF、ff-apex-common 或自定义 Handler 基类则应扩展既有框架而非另起炉灶。⛔ 不可妥协的质量门禁。Agent 定义了一张反模式风险表要求发现即修复循环内 SOQL/DML导致 Governor Limit 异常、缺失with sharing声明数据越权或意外受限、硬编码记录 ID、空catch块、字符串拼接用户输入的 SOQLSOQL 注入、无断言的测试方法、对安全警告使用SuppressWarnings。默认修复方向是查询一次、集合化操作、声明with sharing、使用绑定变量与WITH USER_MODE。现代 Apex 要求API 62.0 / Winter 25优先使用安全导航account?.Contact__r?.Name、空值合并value ?? defaultValue、Assert.areEqual()/Assert.isTrue()替代旧式System.assertEquals()、SOQL 使用WITH USER_MODE、动态 SOQL 使用Database.query(qry, AccessLevel.USER_MODE)。PNB 三路径测试标准每个功能必须覆盖 Positive正向、Negative负向、Bulk批量单事务 200–251 条记录三条测试路径测试类必须isTest(SeeAllDatafalse)异步行为用Test.startTest()/Test.stopTest()包裹测试数据不得硬编码 ID。完成定义Definition of Done包括Apex 无错误编译、无 Governor Limit 违规、PNB 测试全绿、新代码行覆盖率不低于 75%目标 90%、所有新类声明with sharing、面向用户或暴露 API 的代码强制 CRUD/FLS。此外该 Agent 还提供四种运行模式实现模式、代码审查模式、故障排查模式Governor Limit/共享/部署错误根因分析、重构模式并规定了结构化的输出汇报格式Apex work / Files / Pattern / Security / Tests / Risks / Next step。salesforce-aura-lwcLightning 前端组件定义见 agents/salesforce-aura-lwc.agent.md。负责 LWC 与 Aura 组件的构建强调可访问、高性能、符合 SLDS、与 Apex 和平台服务干净集成。LWC vs Aura 的决策规则新组件一律优先 LWC性能更好、数据绑定更简单、使用现代 JavaScript仅当需求涉及 Aura-only 上下文如扩展force:appPage、继承遗留 Aura 事件总线时才用 Aura同一组件层级中不得无必要地混用 LWCwire与 Auraforce:recordData。数据访问模式选择表该 Agent 的核心决策工具场景模式响应导航读取单条记录wire(getRecord)Lightning Data Service标准增删改查表单lightning-record-form/lightning-record-edit-form复杂服务端查询或业务逻辑wire(apexMethodName)读操作配cacheabletrue用户触发动作、DML、不可缓存调用事件处理器中的命令式 Apex 调用无共享父组件的跨组件通信Lightning Message ServiceLMS一次获取多对象关联数据图GraphQLwire(gql)适配器PICKLES 检查清单每个组件完成前必须逐项过一遍 Prototype结构、Integrate数据源选型 LDS/Apex/GraphQL/LMS、Compose组件边界与复用、Keyboard纯键盘可操作、Look使用 SLDS 2 token 而非硬编码样式、Execute避免renderedCallback重渲染循环、考虑 wire 缓存、SecureAuraEnabled方法强制 CRUD/FLS、用户输入不得以原始 HTML 渲染。硬编码反模式红线硬编码颜色破坏 SLDS 2 深色模式与主题、用innerHTML渲染用户数据XSS、在connectedCallback中做 DML每次挂载都会执行、无守卫的renderedCallback重渲染循环、对 DML 方法使用wire平台禁止不可缓存方法、Flow 屏组件自定义事件未设bubbles: true事件到达不了 Flow 运行时、交互元素缺少aria-*WCAG 2.1 违规。组件通信规范父 → 子用api属性或方法子 → 父用CustomEventthis.dispatchEvent(new CustomEvent(...))无关组件间用 Lightning Message Service禁止document.querySelector或全局 window 变量。每个处理用户交互或 Apex 数据的 LWC 组件都必须有 Jest 测试覆盖 DOM 渲染、事件触发与 wire mock 响应并借助salesforce/sfdx-lwc-jest完成wire与 Apex 导入的 mock。salesforce-flow声明式自动化定义见 agents/salesforce-flow.agent.md。核心思路是先确认 Flow 是对的工具再选对 Flow 类型。工具选型表简单的无副作用字段计算用公式字段保存时输入校验用验证规则子记录聚合用 Roll-Up Summary 字段或触发器复杂 Apex 逻辑、外部调用、高吞吐处理用 ApexQueueable/Batch以上都被排除后才用Flow。Flow 类型选择表触发场景Flow 类型保存前更新同一条记录的字段Before-save Record-Triggered Flow创建/更新关联记录、发邮件、外部调用After-save Record-Triggered Flow引导用户完成多步骤流程Screen Flow被其他 Flow 复用的后台逻辑AutolaunchedSubflow从 ApexInvocableMethod调用的复杂逻辑AutolaunchedInvocable基于时间的周期处理Scheduled Flow响应平台事件或变更数据捕获CDC事件Platform Event–Triggered Flow关键决策规则只需改触发记录自身字段时用 before-save无 SOQL、无对其他记录的 DML一旦涉及关联记录、发邮件、外部调用就切换到 after-save。批量安全Bulk Safety红线循环元素内做 DML、循环内 Get Records、直接循环触发$Record集合应先用集合变量、数据变更元素无故障连接器、循环内调用自带 DML 的 Subflow——这些都是 Governor Limit 事故源。默认修复循环外收集数据、循环内处理、循环结束后一次 DML数据重塑优先用Transform元素而非逐记录 Decision重复出现的逻辑块抽成 Subflow。故障路径要求所有执行 DML、发邮件、外部调用的元素必须接故障连接器且不得把故障路径接回主流程形成自引用环——应路由到专用故障处理路径在故障时写入自定义对象或 Platform Event 记录日志、Screen Flow 显示友好提示并干净退出。部署安全有意外激活风险时先以Draft状态保存部署用 200 条记录验证 Record-Triggered Flow检查自动化密度确认对象上无重叠的 Process Builder、Workflow Rule 或其他 Flow。完成定义要求 Flow 类型选择正确、循环内无 DML/Get Records、每个数据变更与调用元素都有故障连接器、单条与 200 批量数据均通过测试、scratch org 或沙箱中激活无报错。salesforce-visualforceVisualforce 页面与控制器定义见 agents/salesforce-visualforce.agent.md。同样先要求确认 Visualforce 是正确选择标准记录查看/编辑用 Lightning Record Page现代化交互 UI 用 LWCPDF 输出文档renderAspdf、Visualforce Email Template、覆盖 Classic 或托管包中的标准按钮/动作才是 Visualforce 的合理场景。控制器模式选择表场景控制器类型标准对象 CRUD复用内置 Salesforce 动作Standard ControllerstandardControllerAccount扩展标准控制器补充逻辑Controller ExtensionextensionsMyExtension完全自定义逻辑、自定义对象或多对象页面自定义 Apex Controller多页面共享的可复用逻辑自定义基类上的 Controller Extension安全要求所有页面CSRF 防护靠apex:form回发平台自动注入 CSRF token禁止裸 HTML formXSS 预防要求不使用escapefalse渲染用户数据FLS/CRUD 必须在控制器中用Schema.sObjectType.Account.isAccessible()等显式检查不能依赖页面级standardController动态 SOQL 一律用绑定变量防注入自定义控制器必须声明with sharingwithout sharing须有书面理由。视图状态管理控制 135 KB 硬限制以内仅服务端计算用、页面表单不需要的字段标记为transient避免大集合跨回发持久化用apex:actionFunction做异步局部刷新而非整页回发。性能规则getter 中不得写 SOQLgetter 在页面渲染中可能被调用多次昂贵查询收敛到RemoteAction或只调用一次的控制器 action 方法用apex:repeat替代嵌套outputPanel多次局部刷新只读页面在apex:page上加readonlytrue跳过视图状态序列化。可访问性要求所有表单输入配apex:outputLabel for...、颜色不单独传达信息、Tab 顺序合理且键盘可达。三个配套 Skill把质量守则沉淀为可复用能力除 Agent 外插件还捆绑三个 Skill见 plugin.json 的extensions声明用于在生成或审查代码时自动套用质量门禁。salesforce-apex-qualityApex 质量护栏完整内容见 skills/salesforce-apex-quality/SKILL.md七个步骤构成一套可执行检查清单Governor Limit 安全检查循环内出现[SELECT/Database.query/insert/update/delete/upsert/merge即自动失败必须改为先收集再查询/一次 DMLSkill 给出了对照代码示例先SetId accountIds new MapId, Account(accounts).keySet()收集再统一查询与更新。共享模型校验类必须显式声明共享意图——with sharingservice/handler/selector/controller 默认、without sharing仅提权场景须代码注释说明理由、inherited sharing框架入口尊重调用者上下文。CRUD/FLS 强制平台不会自动强制需显式Schema.sObjectType.Contact.fields.Email.isAccessible()检查或 SOQL 加WITH USER_MODE、动态查询用Database.query(qry, AccessLevel.USER_MODE)可从 UI、REST 端点或InvocableMethod调用的方法必须强制。SOQL 注入预防禁止字符串拼接用户输入动态 SOQL 中用户可控字段名须过白名单校验示例SetString allowedFields new SetString{Name, Industry, AnnualRevenue}。现代 Apex 惯用法obj?.Field__c、y ?? defaultVal、Assert.areEqual/Assert.isTrue、WITH USER_MODE等升级对照表。PNB 测试覆盖清单三条路径的断言要求并给出isTest(SeeAllDatafalse)TestSetupTest.startTest()/stopTest()的完整测试类模板。触发器架构清单每对象一个触发器、触发器体仅做路由、无业务逻辑、复用既有触发器框架。salesforce-component-standards组件质量标准完整内容见 skills/salesforce-component-standards/SKILL.md分三节覆盖 LWC、Aura 与 VisualforceLWC数据访问模式选型表含wire(getRecord)、lightning-record-form、cacheabletrue的wire(apexMethod)、命令式 Apex、LMS、GraphQL 的选择依据安全规则禁止innerHTML塞用户数据、AuraEnabled方法强制 CRUD/FLS、不硬编码 org 专属 ID、api属性先校验再使用SLDS 2 规范禁硬编码颜色、禁!important覆盖、优先lightning-*基础组件WCAG 2.1 AA 可访问性清单label/aria-label、icon 按钮的alternative-text、键盘可达、aria-describedby关联错误、模态焦点管理JavaScript 性能规则connectedCallback无副作用、renderedCallback布尔守卫、避免响应式属性陷阱、大数据集分页/流式Jest 测试要求渲染、wire mock、事件派发、错误态四类用例以及salesforce/sfdx-lwc-jest的 wire 与 Apex mock 用法。Aura新组件一律 LWC 的准则、Aura-only 场景界定AuraEnabled方法必须with sharing并强制 CRUD/FLS组件事件用于父子通信、应用事件仅在组件事件无法到达目标时使用混合栈用 LMS 解耦。VisualforceXSS 预防escapefalse对用户数据永不接受提供正反例 XML 片段CSRFapex:form自动注入 tokenSOQL 注入绑定变量正反例视图状态清单135 KB、transient、readonlytrueFLS/CRUD 手动检查代码示例含Schema.sObjectType.Account.isDeletable()。salesforce-flow-designFlow 设计与校验完整内容见 skills/salesforce-flow-design/SKILL.md七个步骤确认 Flow 是对的工具公式字段/验证规则/Roll-Up Summary/Apex 优先级判定表选择正确 Flow 类型含关键约束列如 before-save 不能发邮件、Screen Flow 不能由记录事件自动触发、Platform Event 触发为异步最终一致批量安全清单DML in Loop 与 Get Records in Loop 为自动失败项给出Get Records → Loop仅 Decision/Assignment→ 循环后一次 DML的正确结构图以及优先用 Transform 元素重塑集合的建议故障路径要求列举必须接故障连接器的元素Create/Update/Delete Records、Get Records、Send Email、HTTP Callout、Apex action、Subflow给出故障连接器 → 日志记录/友好提示/End的标准模式严禁故障路径自引用成环自动化密度检查排查同对象同触发事件上的其他 Flow、遗留 Process Builder、Workflow Rule、Apex 触发器Screen Flow UX 指南每条路径必须到达 End、多步骤提供 Back、使用lightning-input与 SLDS 组件、屏上校验必填、必要时处理 Pause 元素部署安全遵循Draft 部署 → 1 条记录测试 → 200 记录测试 → 激活路径注意入口条件如ISCHANGED(Status)能被测试数据真实触发单对象活跃自动化超过 3 个时执行顺序风险上升。推荐的组合工作流综合四个 Agent 与三个 Skill 的定位详见 agents 与 skills/salesforce-apex-quality 等目录一条典型的端到端开发链路可以是在 Copilot Chat 中选择salesforce-apex-triggers编写 Service/Handler 类与InvocableMethod入口让salesforce-apex-quality自动校验共享模型、CRUD/FLS 与 PNB 测试前端选择salesforce-aura-lwc构建 LWC数据读取走wire读操作加cacheabletrue、写操作走命令式 Apex组件通信用 LMSsalesforce-component-standards负责 SLDS 2、可访问性与 Jest 覆盖声明式自动化交给salesforce-flow用salesforce-flow-design完成 Flow 类型选型、批量安全审查与故障路径补全需要 PDF 输出、邮件模板或覆盖标准按钮时切到salesforce-visualforce并按三节质量标准加固控制器安全。源码索引速查插件入口与元数据plugins/salesforce-development/plugin.json插件使用说明plugins/salesforce-development/README.mdApex 触发器 Agentagents/salesforce-apex-triggers.agent.mdAura/LWC UI Agentagents/salesforce-aura-lwc.agent.mdFlow Agentagents/salesforce-flow.agent.mdVisualforce Agentagents/salesforce-visualforce.agent.mdApex 质量 Skillskills/salesforce-apex-quality/SKILL.md组件标准 Skillskills/salesforce-component-standards/SKILL.mdFlow 设计 Skillskills/salesforce-flow-design/SKILL.md使用前提说明以上 Agent/Skill 的能力描述与质量门禁均以当前仓库内定义文件为准实际行为取决于 GitHub Copilot 对 Agent 提示词与工具codebase、edit/editFiles、terminalCommand等的运行时支持部署与验证需结合具体的 Salesforce 组织scratch org 或沙箱环境进行。【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/11 19:48:26

车载AVB协议合规测试实战:从时间同步到用例标准化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 19:48:26

FMEA怎么用在设备管理?设备还没坏,先把风险找出来

设备管理最被动的状态,不是设备坏了。 而是: 设备坏了以后,大家才第一次认真研究它为什么会坏。 一些故障先兆的信息平常都被当成普通异常处理掉了,没有人继续判断: 这个问题如果继续发展,会不会变成一次…

2026/9/11 20:38:32

不写代码配置化方案:合并单元格与导出打印一键搞定

复杂列表页的合并单元格和导出打印,应该是很多做后台管理系统、报表系统还有运营管理平台的团队,都会撞上的一堵墙。需求方永远会说“就一个页面、导个Excel,很简单的”,但等你真打开那个页面,看到几十列的行列合并、跨…

2026/9/11 20:33:31

YOLOv8工业级钻井设备检测:强光锈蚀油污下的鲁棒识别方案

简介:本资源是一套面向计算机、人工智能及自动化等相关专业学生的毕业设计级项目,聚焦石油钻井平台关键设备的智能状态监测,基于YOLOv8实现高精度目标检测与可视化分析。项目开箱即用,涵盖完整训练流程、部署方案与交互式界面&…

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码