Community
Contributing standards
2 min read
Every contribution — whether a library submission, an issue, or a code PR — passes through the same standards. They exist so the community stays high-signal and welcoming.
Code of conduct
Adapted from the Contributor Covenant:
- Be respectful. Disagreement is fine; rudeness isn't.
- Be specific. "This is broken" is unhelpful; "This breaks because X, expected Y" is gold.
- Be patient. Reviewers are humans on their own schedules.
- No bigotry, harassment, or personal attacks. Reported violations result in a warning; repeated violations get bans.
The full document is at github.com/designdrop-app/.github/CODE_OF_CONDUCT.md.
Technical standards
For any code or content contribution:
- Tests must be green. PRs that fail CI are not reviewed until green.
- Validator must be green. For library submissions: zero errors, warnings documented in the PR description.
- Commits are conventional.
feat: ...,fix: ...,docs: .... The release tooling parses these to generate changelogs. - Branch naming.
feature/...,fix/...,docs/.... Keeps the issue graph navigable.
Library submission standards
See Submission guidelines for the full checklist. Briefly:
- Complete required token roles (
primary,ink,bg,accent,muted). - AA contrast everywhere (4.5:1 body, 3.0:1 large text).
- Both light + dark themes when applicable.
- Round-trip clean (DESIGN.md → CSS → DESIGN.md is identity).
- Patterns section that actually helps an agent.
- Brand fidelity (feels like the source brand).
Documentation standards
Docs PRs follow:
- One topic per page. Don't mix the editor's typography panel with the CLI's
validatecommand. - Show, don't tell. Code blocks > prose explanations. Inline examples > "see X".
- Be honest about gaps. If a feature isn't shipped yet, mark it. We'd rather have honest stubs than aspirational lies.
- Keep voice consistent. Direct, concise, second-person ("you do X"). No marketing breathlessness.
Filing issues
Good bug reports include:
- What you tried. Step-by-step.
- What happened. Actual behavior + screenshots / logs.
- What you expected. What should have happened instead.
- Environment. OS, Node version, CLI version (
designdrop --version), browser if relevant.
Vague issues ("it doesn't work") get politely closed with a request for the above.