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:

  1. Create an RFC: Submit a GitHub issue outlining the proposed change using the below contribution specification.

  2. Get approval: The CivicTheme core team will review and approve or provide feedback.

  3. Implement the feature: Work with the community or team to build and submit the change.

  4. Final review: The core team will review the implementation for final acceptance.

Component overview

Field
Description

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

Field
Description

Do any existing patterns fulfill this need?

[Yes/No. If yes, reference relevant patterns and explain why they do not suffice.]

References and inspiration

Field
Description

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

Field
Description

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

Field
Description

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

Field
Description

Research completed

[Provide key findings from multiple research rounds.]

Results

[Link to more comprehensive research documentation.]

Security requirements

Field
Description

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

Field
Description

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

Field
Description

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