A Chrome/Edge extension that enhances your Salesforce setup experience with intelligent checks, best practices enforcement, and metadata insights. Ensure your team follows organizational standards and prevent common mistakes during metadata creation.
Key Highlight: Automatically adds official Salesforce object descriptions to Object Manager detail views, providing instant context and documentation for standard objects.
- Custom Object Creation: Display configurable messages when creating new custom objects
- Permission Set Creation: Show guidelines when creating new permission sets
- Configurable Messages: Customize all messages through the options page to match your organization's standards
- Duplicate Field Prevention: Automatically detects potential duplicate fields based on similarity matching
- Similar Field Detection: Shows similar fields when opening or creating custom fields (60%+ similarity threshold)
- Auto-conversion to PascalCase: Automatically converts field API names to PascalCase format
- Last Modified Fields: Displays the 5 most recently modified fields on the object
- Required Metadata: Enforces description requirements for fields and objects
- Object Descriptions: Automatically adds official Salesforce object descriptions from the comprehensive object reference library when viewing Object Manager details. Descriptions are sourced from sf-explorer/sf-doc-to-json
- Last Modified Permission Sets: View the 10 most recently modified permission sets when creating new ones
- Field Context: Shows field type, description, and last modified user information
- Real-time Validation: Instant feedback on metadata naming and duplicates
- Smart Placeholders: Helpful placeholder text guides users to follow best practices
- SPA Navigation Support: Works seamlessly with Salesforce Lightning's single-page application navigation
- Visit the Chrome Web Store
- Click "Add to Chrome" / "Add to Edge"
- Grant necessary permissions when prompted
-
Clone this repository:
git clone https://github.com/yourusername/sf-explorer-advanced-setup.git cd sf-explorer-advanced-setup -
Install dependencies:
npm install
-
Build the extension:
npm run build
-
Load in Chrome/Edge:
- Open
chrome://extensions/(oredge://extensions/) - Enable "Developer mode"
- Click "Load unpacked"
- Select the
distributionfolder
- Open
This extension uses a modular architecture where each use case has its own dedicated content script:
-
permission-set-new.tsx: Handles new permission set creation pages- Shows last modified permission sets
- Enforces description requirements
- Displays custom guidelines
-
custom-object-new.tsx: Handles new custom object creation pages- Shows custom messages
- Enforces description requirements
-
custom-field-new.tsx: Handles new custom field wizard- Auto-converts labels to PascalCase
- Detects duplicate/similar fields
- Shows last modified fields
- Enforces best practices
-
custom-field-existing.tsx: Handles existing custom field pages- Shows similar fields warning
- Prevents accidental duplicates
-
object-manager-details.tsx: Handles Object Manager detail views- Adds official Salesforce object descriptions
- Provides instant documentation
-
object-manager-list.tsx: Handles Object Manager list page- Populates description column for all objects
- Uses comprehensive object reference library
-
utils.tsx: Shared utilitiestoPascalCase(): String conversion utilityshowSimilarFields(): Similarity matching algorithmwaitForElement(): DOM element waiting helper
The Chrome manifest (manifest.json) handles routing based on URL patterns:
- URL pattern matching ensures the right script loads for each page
- All routing is handled declaratively in the manifest
- No runtime routing logic needed in the scripts
- Performance: Only loads the code needed for each specific page
- Maintainability: Each use case is isolated and easy to modify
- Clarity: Clear separation of concerns
- Bundle Size: Smaller individual bundles instead of one large file
- Testing: Easy to test each use case independently
- Node.js (v14 or higher)
- npm or yarn
# Build for production
npm run build
# Watch mode for development
npm run watch
# Run tests and linter
npm run test
# Create distribution zip
npm run zipsf-explorer-advanced-setup/
βββ source/
β βββ setup-enhance.tsx # Main content script
β βββ background.ts # Service worker
β βββ options.tsx # Options page
β βββ api.ts # API utilities
β βββ index.json # Salesforce object reference
β βββ manifest.json # Extension manifest
βββ distribution/ # Built extension files
βββ img/ # Images and assets
βββ package.json # Dependencies and scripts
- Click the extension icon in your browser
- Select "Options"
- Configure custom messages:
- New Custom Object Message: Shown when creating new custom objects
- New Permission Set Message: Shown when creating new permission sets
- New Custom Field Message: Shown when creating new custom fields
Example messages:
- "Remember to follow the naming convention:
ModuleName_Purpose" - "All custom objects must have a description for promotion"
- "Check with the Design Authority before creating new objects"
- Ensure developers follow naming conventions
- Prevent creation of duplicate fields
- Enforce metadata documentation requirements
- Maintain clean, organized metadata
- Discover existing fields before creating new ones
- Auto-format field names to PascalCase
- View recently modified metadata for context
- Get instant feedback on potential duplicates
- Enforce design standards across teams
- Reduce technical debt from duplicate fields
- Ensure metadata quality and documentation
- Maintain consistency across orgs
This extension requires the following permissions:
- storage: Save user preferences and settings
- cookies: Access Salesforce session for API calls
- host_permissions: Access Salesforce domains (*.salesforce.com, *.force.com, etc.)
- TypeScript: Type-safe development
- React: UI components via dom-chef
- Webpack: Module bundling
- JSForce: Salesforce API integration
- string-similarity-js: Duplicate detection algorithm
@sf-explorer/salesforce-object-reference: Comprehensive Salesforce object documentation (source: sf-explorer/sf-doc-to-json)string-similarity-js: Field similarity matchingwebext-dynamic-content-scripts: Dynamic script injection
dom-chef: React-like JSX for DOM creationselect-dom: Improved DOM selectionfit-textarea: Auto-resizing textareas
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the License.txt file for details.
Nicolas Despres
- Email: ndespres@gmail.com
- GitHub: @ndespres
- Built for the Salesforce community
- Inspired by the need for better metadata management
- Object descriptions sourced from sf-explorer/sf-doc-to-json
- Thanks to all contributors and users
- Added standard Salesforce object descriptions from object reference library (source: sf-explorer/sf-doc-to-json)
- Enhanced object detail view with contextual information
- Improved SPA navigation support
- Updated dependencies
- Duplicate field detection
- Custom message configuration
- Permission set insights
- Field similarity matching
- PascalCase auto-conversion
