# Template to copy Replace the title with a clear, action-oriented name (e.g., "Adding a Toolbar Button", "Registering JS Actors"). ## Overview Add a few paragraphs describing what this operation accomplishes and when developers might need to do it. ## Prerequisites List what the developer needs before starting: - Build system set up and working - Relevant component knowledge or documentation to review - Any specific tools or extensions needed ## Steps Break down the operation into clear, sequential steps. Each step should have an action-oriented title. ### 1. [First Action Step Title] Describe what needs to be done in this step and why it's necessary. **Files to modify:** - `path/to/file1.cpp` - `path/to/file2.js` **Code pattern:** ```cpp // Provide a concrete example of the code to add or modify // Include enough context to show where it should go // Use comments to explain non-obvious parts ``` **Explanation:** Briefly explain what this code does and how it fits into the larger system. ### 2. [Second Action Step Title] Continue with additional steps... **Files to modify:** - `path/to/another/file.jsm` **Code pattern:** ```javascript // More example code ``` ## Verification Explain how to verify that the operation was successful: ```bash ./mach build && ./mach run # or specific test commands ./mach test path/to/relevant/tests/ ``` Describe what to look for to confirm success (e.g., "The button should appear in the toolbar", "Check the Browser Console for the expected log message"). ## Common Pitfalls List common mistakes and their solutions: - **Issue X**: Brief description of the problem - **Solution**: How to fix or avoid it - **Issue Y**: Another common problem - **Solution**: The fix ## See Also Provide links to related documentation and examples: - [Related Component Documentation](../path/to/docs/index.rst) - Example implementation: [Bug XXXXXX](https://bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX) - Relevant source code: {searchfox}`the ProfilesDataStoreService code `