Streamlining Managed Package Quality
Maintaining consistent, professional, and grammatically correct messaging across a large-scale Salesforce managed package is a significant challenge. Manual audits are prone to human error and are rarely performed with the frequency required for robust CI/CD pipelines.
To solve this, we have developed two open-source utilities leveraging Claude's LLM capabilities to automate the discovery and validation of all user-facing strings within your Salesforce metadata.
Tool 1: The Message Cataloger
The Message Cataloger traverses your project metadata—specifically targeting CustomLabels, Apex classes, and Lightning Web Components—to extract every string exposed to the end user.
How it works:
- Metadata Scanning: Parses local SFDX project files.
- Aggregation: Normalizes strings into a centralized JSON or CSV manifest.
- Contextual Mapping: Attaches the source file path and component type to each entry.
Tool 2: The Grammar Auditor
Once your messages are cataloged, the Grammar Auditor uses a pre-configured prompt via the Claude API to perform a linguistic analysis. This tool identifies potential issues such as:
- Spelling and grammatical errors.
- Tense inconsistencies.
- Non-inclusive language.
- Violations of your specific company style guide.
Implementation Example
To integrate the auditor into your existing workflow, use the following logic to pipe your cataloged JSON into the Claude API:
const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
async function auditMessages(messages) {
const prompt = `Review the following Salesforce UI messages for grammar and style: ${JSON.stringify(messages)}`;
const response = await anthropic.messages.create({
model: "claude-3-5-sonnet-20240620",
max_tokens: 1024,
messages: [{ role: "user", content: prompt }]
});
return response.content;
}
Integrating into your CI/CD Pipeline
For optimal results, incorporate these checks into your GitHub Actions or GitLab CI runners. By failing builds that contain "high-severity" linguistic issues, you ensure that only polished, professional code reaches your release candidates.
Key Takeaways
- Automate Discovery: Use metadata parsers to generate a single source of truth for all user-facing text.
- Leverage LLMs: Utilize Claude's reasoning capabilities to perform contextual audits that static analysis tools cannot match.
- Enforce Standards: Integrate these scripts into your CI/CD pipeline to prevent grammar regressions before deployment.
- Improve UX: Consistent, error-free messaging significantly increases end-user trust in your managed package.
Leave a Comment