Major (RFC-level) contribution spec
The following page outlines the process of a major contribution to CivicTheme.
RFC process
If you're proposing a major feature or substantial change to CivicTheme, your contribution must go through the RFC (Request for Comments) process. This helps the core team and community discuss and refine your idea early before implementation.
Steps for major contributions:
Create an RFC: Submit a GitHub issue outlining the proposed change using the below contribution specification.
Get approval: The CivicTheme core team will review and approve or provide feedback.
Implement the feature: Work with the community or team to build and submit the change.
Final review: The core team will review the implementation for final acceptance.
Component overview
Component name
[Insert Component Name]
Type
[Atom, Molecule, Organism, etc.]
Intended purpose
Comprehensive explanation of the component’s purpose and its role within CivicTheme.
Primary use case
[Define primary scenarios for its use.]
Secondary use case
[List other potential uses.]
Existing patterns/components
Do any existing patterns fulfill this need?
[Yes/No. If yes, reference relevant patterns and explain why they do not suffice.]
References and inspiration
Description of component
[Detailed background on the inspiration and rationale for the component.]
References/inspiration sources
[Provide links, files, mockups, or relevant research documents.]
Interactions and behaviours
Intended user interactions
[Describe all user interactions and how they affect the component.]
Expected component behaviour
[Detail how the component should behave in different scenarios (e.g., error handling, loading states).]
Accessibility considerations
WCAG compliance level
[A, AA]
Expected component behaviour (Accessibility)
[Describe how the component supports accessible interactions.]
Potential accessibility challenges
[List challenges that might arise from complex interactions.]
User research
Research completed
[Provide key findings from multiple research rounds.]
Results
[Link to more comprehensive research documentation.]
Security requirements
Security considerations
[Detail any security vulnerabilities the component might introduce.]
Data handling requirements
[Describe how the component manages data securely.]
Privacy concerns
[Address any privacy concerns tied to user data.]
Technical considerations
Required technology/framework support
[e.g., Drupal, React, Vue.js]
Known component dependencies
[List all dependencies, including external libraries.]
Performance expectations
[Provide expected benchmarks, including performance for large datasets, animation efficiency, etc.]
Submission details
Submitted By
[Contributor's Name]
Date
[Submission Date]
Contact Information
[Name, Email or GitHub username]
Feedback
We're always looking at ways to improve our model for contributions and rely on your feedback to ensure an enjoyable contribution experience. The best way to give us feedback is to join our Slack channel and chat to us there, or contact us via email!
Last updated