Skip to content

Add contributing guide#158

Draft
VictoriaBeilsten-Edmands wants to merge 1 commit intomainfrom
vbe/contributing
Draft

Add contributing guide#158
VictoriaBeilsten-Edmands wants to merge 1 commit intomainfrom
vbe/contributing

Conversation

@VictoriaBeilsten-Edmands
Copy link
Copy Markdown
Collaborator

@VictoriaBeilsten-Edmands VictoriaBeilsten-Edmands commented Mar 19, 2026

Adds a contributing guide and proposed templates for bug report, proposal and rfc.

Copy link
Copy Markdown
Member

@akademy akademy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, did a re-review on the contributing.md file.

Mostly, everything is fine.....

labels: ["type:rfc", "status:needs-triage"]
---

# RFC: [Title]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what rfc means... maybe we could just put the full name here?

Comment thread changelog.md
@@ -1,131 +1,134 @@
SciReactUI Changelog
====================
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have to lose this formatting? It is far clearer this way.

Comment thread changelog.md
- An *auth* parameter was added to *User* to simplify when *AuthProvider* is used.
- *ScrollableImages* can now display in a wide view, with multiple images.

- New _Progress_ component based on Diamond Light added.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why Progress and not Progress?!

Comment thread contributing.md

## Project Principles

- **Quality over quantity**: stable, well‑tested, well‑documented components.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we have well-documented components in most cases.

Comment thread contributing.md
Not in scope:

- Application‑specific business logic.
- Utilities unrelated to UI components.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I already stuck in a auth component... which while it does interact with UI bits, it doesn't itself provide ui... and it is technically business logic, even if it is generic.

Comment thread contributing.md
Comment on lines +311 to +315
- Understand every line submitted.
- No unverifiable AI‑generated content.
- Validate types, accessibility, and performance.
- Never include secrets or internal prompts.
- No emojis.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is a weird collection of things. Most already covered. And what is with emojis?!

Suggested change
- Understand every line submitted.
- No unverifiable AI‑generated content.
- Validate types, accessibility, and performance.
- Never include secrets or internal prompts.
- No emojis.
- Understand every line submitted.
- No unverifiable AI‑generated content.
- Never include prompts.

Comment thread contributing.md
Comment on lines +384 to +386
### Visual Regression Testing

Automated comparison detecting unintended visual changes between versions.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is never used in the document... I bet half of the rest of this section isn't either....

Comment thread contributing.md
Comment on lines +155 to +159
Examples:

- New interactive components (Select, Tabs, Dialog, DatePicker…)
- New primitives (tokens, foundational elements)
- Multi‑part components with complex behaviour
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it really necessary to explain what a component is!

Comment thread contributing.md
1. **Open an _RFC_ issue.**
Must include: problem, use‑cases, [API design](#api-design), [accessibility model](#accessibility-model-a11y-model), states, variants, edge cases, [interaction model](#interaction-model), alternatives considered.

2. **Achieve functional consensus.**
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who talks like this?!

Comment thread contributing.md

## Pull Requests

Before opening a PR:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Before opening a PR:
Before writing any code:

Comment thread contributing.md
- Use [design tokens](#design-tokens) for spacing, colour, typography, motion.
- Prefer semantic HTML over ARIA where possible.
- Support `className` and `style` passthrough.
- Use `forwardRef`.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

forwardRef has been deprecated https://react.dev/reference/react/forwardRef

Comment thread contributing.md

## Testing

- **Unit tests**: React Testing Library + Jest/Vitest.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should specify it should be Vitest, and not Jest

Comment thread contributing.md
- Enhancements, new [variants](#variants) → _Proposal_
- New components or major changes → _RFC_

Discussion must reach **[functional consensus](#functional-consensus)** before design or code begins.
Copy link
Copy Markdown
Collaborator

@gfrn gfrn Apr 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is going to be a massive hurdle for anyone who has already developed a component for use in their own apps, and just wants to share something that is already tested, in use, and designed. Especially because code has already been started (and completed, as a matter of fact)

Instead, if something already exists and is production ready, would it be best to create the PR and allow for discussion (design, functional, etc.) inside the PR?

Comment thread contributing.md

Before opening a PR:

- Ensure an issue exists and consensus is reached.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this only be the case for components that don't yet exist? Because if we have a component that already exists in a separate app, and a branch is created, that allows maintainers to verify changes more easily, as opposed to screenshots/verbal descriptions of how the component works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants