Skip to content

Commit e17b394

Browse files
authored
docs: add community health files (#6)
1 parent 95786ca commit e17b394

8 files changed

Lines changed: 346 additions & 0 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @SDSLeon

.github/CODE_OF_CONDUCT.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, caste, color, religion, or sexual
10+
identity and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
- Focusing on what is best not just for us as individuals, but for the overall
26+
community
27+
28+
Examples of unacceptable behavior include:
29+
30+
- The use of sexualized language or imagery, and sexual attention or advances of
31+
any kind
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email address,
35+
without their explicit permission
36+
- Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official email address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement by using GitHub's
63+
private vulnerability reporting for this repository or by contacting the
64+
repository maintainers through GitHub. All complaints will be reviewed and
65+
investigated promptly and fairly.
66+
67+
All community leaders are obligated to respect the privacy and security of the
68+
reporter of any incident.
69+
70+
## Enforcement Guidelines
71+
72+
Community leaders will follow these Community Impact Guidelines in determining
73+
the consequences for any action they deem in violation of this Code of Conduct:
74+
75+
### 1. Correction
76+
77+
**Community Impact**: Use of inappropriate language or other behavior deemed
78+
unprofessional or unwelcome in the community.
79+
80+
**Consequence**: A private, written warning from community leaders, providing
81+
clarity around the nature of the violation and an explanation of why the
82+
behavior was inappropriate. A public apology may be requested.
83+
84+
### 2. Warning
85+
86+
**Community Impact**: A violation through a single incident or series of
87+
actions.
88+
89+
**Consequence**: A warning with consequences for continued behavior. No
90+
interaction with the people involved, including unsolicited interaction with
91+
those enforcing the Code of Conduct, for a specified period of time. This
92+
includes avoiding interactions in community spaces as well as external channels
93+
like social media. Violating these terms may lead to a temporary or permanent
94+
ban.
95+
96+
### 3. Temporary Ban
97+
98+
**Community Impact**: A serious violation of community standards, including
99+
sustained inappropriate behavior.
100+
101+
**Consequence**: A temporary ban from any sort of interaction or public
102+
communication with the community for a specified period of time. No public or
103+
private interaction with the people involved, including unsolicited interaction
104+
with those enforcing the Code of Conduct, is allowed during this period.
105+
Violating these terms may lead to a permanent ban.
106+
107+
### 4. Permanent Ban
108+
109+
**Community Impact**: Demonstrating a pattern of violation of community
110+
standards, including sustained inappropriate behavior, harassment of an
111+
individual, or aggression toward or disparagement of classes of individuals.
112+
113+
**Consequence**: A permanent ban from any sort of public interaction within the
114+
community.
115+
116+
## Attribution
117+
118+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119+
version 2.1, available at
120+
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][version].
121+
122+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
123+
enforcement ladder][mozilla coc].
124+
125+
For answers to common questions about this code of conduct, see the FAQ at
126+
[https://www.contributor-covenant.org/faq][faq]. Translations are available at
127+
[https://www.contributor-covenant.org/translations][translations].
128+
129+
[homepage]: https://www.contributor-covenant.org
130+
[version]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
131+
[mozilla coc]: https://github.com/mozilla/diversity
132+
[faq]: https://www.contributor-covenant.org/faq
133+
[translations]: https://www.contributor-covenant.org/translations

.github/CONTRIBUTING.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Contributing to Lightcode
2+
3+
Thanks for thinking about contributing! Bug reports, docs fixes, new providers, and features are all welcome.
4+
5+
By contributing, you agree your work is licensed under the [Apache License 2.0](../LICENSE).
6+
7+
## Before you start
8+
9+
- For anything non-trivial, [open an issue](https://github.com/SDSLeon/lightcode/issues/new/choose) first so we can align on scope.
10+
- Search [existing issues](https://github.com/SDSLeon/lightcode/issues) and [PRs](https://github.com/SDSLeon/lightcode/pulls) to avoid duplicates.
11+
12+
## Local setup
13+
14+
You'll need Node `>= 24.10.0` (see `.nvmrc`) and pnpm `11.x` (pinned in `package.json`).
15+
16+
```bash
17+
git clone https://github.com/<your-username>/lightcode.git
18+
cd lightcode
19+
pnpm install
20+
pnpm run dev
21+
```
22+
23+
Handy scripts:
24+
25+
| Script | What it does |
26+
| -------------------- | --------------------------------- |
27+
| `pnpm run dev` | Run the Electron app in dev mode |
28+
| `pnpm run typecheck` | Type-check with `tsgo` |
29+
| `pnpm run lint` | Lint with `oxlint` |
30+
| `pnpm run fmt` | Format with `oxfmt` |
31+
| `pnpm run test` | Run the test suite (`vitest`) |
32+
| `pnpm run build` | Build renderer + electron bundles |
33+
34+
## Pull request flow
35+
36+
1. Fork the repo and create a branch: `feat/...`, `fix/...`, `docs/...`, etc.
37+
2. Keep the change scoped to one thing.
38+
3. Run `pnpm run typecheck`, `pnpm run lint`, `pnpm run fmt:check`, and `pnpm run test` before pushing.
39+
4. Open a PR against `master` and fill in the template: what changed, why, and how you tested.
40+
5. CI (`ci`) must pass and review threads must be resolved before merge.
41+
42+
Rebase on the latest `master` before requesting review. Husky runs `lint-staged` on commit, so formatting fixes apply automatically.
43+
44+
## Code style & deeper docs
45+
46+
`oxlint` and `oxfmt` are the source of truth for style. For architecture, agent adapters, UI patterns, and editing rules, read [`AGENTS.md`](../AGENTS.md) and `.agents/docs/`; please skim the relevant one before changing those areas.
47+
48+
## Reporting issues
49+
50+
Use the [issue templates](https://github.com/SDSLeon/lightcode/issues/new/choose). Include OS, Lightcode version, the agent(s) involved, and reproduction steps.
51+
52+
For security issues, don't open a public issue. See [SECURITY.md](SECURITY.md).
53+
54+
This project follows the [Contributor Covenant](CODE_OF_CONDUCT.md).
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Bug report
2+
description: Tell us what broke and how to reproduce it.
3+
title: "bug: "
4+
labels: [bug]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to report a bug. Clear repro steps help us fix it faster.
10+
- type: input
11+
id: os
12+
attributes:
13+
label: OS
14+
description: Which OS and version are you using?
15+
placeholder: macOS 15.5, Windows 11, Ubuntu 24.04, etc.
16+
validations:
17+
required: true
18+
- type: input
19+
id: version
20+
attributes:
21+
label: Lightcode version
22+
description: Paste the app version, commit, or build you are running.
23+
placeholder: v1.0.0
24+
validations:
25+
required: true
26+
- type: input
27+
id: agents
28+
attributes:
29+
label: Agents involved
30+
description: Which providers or agents were active?
31+
placeholder: Claude Code, Codex, OpenCode, Gemini, Cursor, Copilot, etc.
32+
validations:
33+
required: false
34+
- type: textarea
35+
id: repro
36+
attributes:
37+
label: Reproduction steps
38+
description: What should we do to see the bug?
39+
placeholder: |
40+
1. Open ...
41+
2. Click ...
42+
3. See ...
43+
validations:
44+
required: true
45+
- type: textarea
46+
id: expected
47+
attributes:
48+
label: Expected behavior
49+
description: What did you expect to happen?
50+
validations:
51+
required: true
52+
- type: textarea
53+
id: actual
54+
attributes:
55+
label: Actual behavior
56+
description: What happened instead?
57+
validations:
58+
required: true
59+
- type: textarea
60+
id: logs
61+
attributes:
62+
label: Logs or screenshots
63+
description: Paste relevant logs, terminal output, screenshots, or screen recordings if you can.
64+
render: shell
65+
validations:
66+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Ask a question or start a discussion
4+
url: https://github.com/SDSLeon/lightcode/discussions
5+
about: Use Discussions for questions, ideas, and open-ended topics.
6+
- name: Lightcode website
7+
url: https://www.lightcodeapp.com
8+
about: Learn more about Lightcode.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Feature request
2+
description: Suggest an improvement for Lightcode.
3+
title: "feat: "
4+
labels: [enhancement]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for the idea. A clear problem statement helps us decide what to build.
10+
- type: textarea
11+
id: problem
12+
attributes:
13+
label: Problem
14+
description: What are you trying to do, and what makes it hard today?
15+
placeholder: I want to ... but ...
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: solution
20+
attributes:
21+
label: Proposed solution
22+
description: What would you like Lightcode to do?
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: alternatives
27+
attributes:
28+
label: Alternatives considered
29+
description: Any other workflows, tools, or designs you tried?
30+
validations:
31+
required: false
32+
- type: textarea
33+
id: context
34+
attributes:
35+
label: Additional context
36+
description: Add screenshots, examples, links, or notes that would help.
37+
validations:
38+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Summary
2+
3+
What changed?
4+
5+
# Motivation
6+
7+
Why is this useful or needed?
8+
9+
# Testing
10+
11+
- [ ] `pnpm run typecheck`
12+
- [ ] `pnpm run lint`
13+
- [ ] `pnpm run fmt:check`
14+
- [ ] `pnpm run test`
15+
- [ ] Not run; reason:
16+
17+
# Screenshots
18+
19+
Add screenshots or screen recordings for UI changes.
20+
21+
# Linked issue
22+
23+
Closes #

.github/SECURITY.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Security Policy
2+
3+
Thanks for helping keep Lightcode users safe.
4+
5+
## Reporting a vulnerability
6+
7+
Please do not open a public issue for security reports.
8+
9+
Use GitHub's **Report a vulnerability** button on this repository so we can
10+
coordinate privately with you. Include as much as you can:
11+
12+
- What is affected
13+
- Steps to reproduce
14+
- Expected impact
15+
- Any logs, screenshots, or proof-of-concept details that are safe to share
16+
17+
We will review the report, follow up through GitHub, and coordinate a fix and
18+
disclosure timeline when needed.
19+
20+
## Supported versions
21+
22+
Security fixes target the latest released version of Lightcode unless a
23+
maintainer says otherwise in the report thread.

0 commit comments

Comments
 (0)