# Neyuki Code of Conduct
Neyuki is a programming language, and a language lives or dies by the people
around it: the ones who write it, the ones who write in it, and the ones who
are only trying it for the first time. This Code of Conduct describes how we
treat each other so that all of them can do good work here.
## Our Pledge
We want Neyuki to be a welcoming project for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of
experience, education, nationality, native language, personal appearance,
race, religion, sexual identity and orientation, or socio-economic status.
We pledge to act in ways that keep the community open, friendly, and healthy,
and to keep technical arguments about the *work*, never about the *person*.
## Where This Applies
This Code of Conduct applies in every space the project runs or represents:
- the GitHub repository: issues, pull requests, code review, discussions,
commit messages, and wiki
- project chat servers, forums, and mailing lists
- the website, documentation, and package or library ecosystem
(including the standard libraries shipped with Neyuki)
- events and meetups, online or in person, where someone is acting on behalf
of the project
It also applies outside those spaces when someone's behavior toward a member
of the community is serious enough to affect their safety or participation
here.
## What We Expect
- **Be kind and assume good faith.** Most confusion is a misunderstanding, not
an attack. Ask before you accuse.
- **Be patient with newcomers.** A scripting language attracts people who are
writing their first program, their first game script, or their first
contribution. "RTFM" is not an answer. Point to the docs, then help.
- **Be patient with language.** Many of us write in a second language. Ignore
grammar slips, and if a message is unclear, ask for clarification instead of
guessing at intent.
- **Critique designs, not people.** Language design is full of trade-offs and
honest disagreement. Argue syntax, semantics, performance, and compatibility
as hard as you like, but stay on the idea and off the author.
- **Give useful feedback and receive it gracefully.** Code review should say
what is wrong, why, and ideally how to fix it. Authors should treat review
as help, not as an insult.
- **Report problems with enough detail to act on.** A bug report with a
minimal reproduction and the version you ran is a gift to the maintainers.
- **Credit others.** Acknowledge prior work, ideas, and bug reports from other
people.
- **Respect other languages and communities.** Neyuki draws inspiration from
the Lua family and others. Compare languages honestly, but do not bring
language wars, or brigades from other communities, into our spaces.
## What We Do Not Accept
- harassment, insults, slurs, or demeaning language, including "jokes" at
someone's expense
- discrimination or hostility based on the characteristics listed above
- personal attacks, trolling, or sustained derailing of discussions
- sexual language or imagery, or unwelcome sexual attention
- threats or encouraging violence or self-harm
- publishing someone's private information (address, identity, private
messages) without their explicit permission
- stalking, following, or repeatedly contacting someone who has asked you to
stop
- demanding fixes or features from maintainers, or pressuring them, who are
mostly volunteers
- spam, advertising unrelated to the project, and posting the same content in
many places
- any other conduct that a reasonable person would consider inappropriate in a
professional, open-source setting
## Responsible Use and Security
Neyuki ships libraries that can reach the network, databases, cryptography,
the clipboard, and keyboard and mouse input. These are legitimate tools for
building real software, and they can also be misused. In project spaces:
- Do not use project channels to build, share, or request malware, credential
stealers, stalkerware, or tools whose purpose is to deceive, surveil, or
harm other people.
- Report security vulnerabilities **privately** to the maintainers (see
`SECURITY.md` if present, or use the contact below) rather than in public
issues, and give us reasonable time to fix them before disclosing.
- Do not test for vulnerabilities against systems you do not own or have
permission to test.
## Contributions and Tooling
- You are responsible for everything you submit, however it was produced. If
you used an AI assistant or code generator, review, build, and test the
result yourself before opening an issue or pull request. Unreviewed or
low-effort automated submissions may be closed without discussion.
- Only submit code, assets, and text that you have the right to contribute
under the project's license. Do not copy code from sources whose licenses
are incompatible with it.
- Keep discussion in the place where it belongs: bugs in issues, design
proposals in discussions or proposals, questions in the community channels.
## Enforcement
The project maintainers are responsible for clarifying and enforcing this Code
of Conduct. They may remove, edit, or reject comments, commits, code,
issues, and other contributions that do not follow it, and will explain why
when it is appropriate and safe to do so.
Maintainers follow these steps, in rough order of severity, and may skip
steps when the situation calls for it:
1. **Correction.** A private or public note that the behavior was not
appropriate, with a clear explanation. No further action.
2. **Warning.** A formal warning, with a defined period during which the
behavior must not repeat. Interaction with the people involved may be
limited.
3. **Temporary ban.** A time-limited ban from one or more project spaces.
4. **Permanent ban.** Removal from all project spaces, for a pattern of
violations or a single severe one, such as harassment or threats.
Maintainers are also bound by this Code of Conduct. If a report involves a
maintainer, that maintainer takes no part in handling it.
## Reporting
If you experience or witness behavior that violates this Code of Conduct,
please report it to the maintainers at:
**janis@nyxyl.dev**
Please include what happened, where, when, links or screenshots if you have
them, and anyone else who was involved. We will:
- acknowledge your report promptly
- review it fairly and in good faith
- keep the reporter's identity confidential, except as needed to carry out an
enforcement decision
- tell you what we decide, when we are able to
Reports made in bad faith, to silence legitimate disagreement or to target
someone, are themselves a violation of this Code of Conduct.
## Appeals
Anyone who has been sanctioned may appeal by writing to the same contact
address within 14 days of the decision. A maintainer who was not involved in
the original decision will review it, and their decision on the appeal is
final.
## Acknowledgments
This Code of Conduct is shaped by the practices of other open-source
communities, in particular the
[Contributor Covenant](https://www.contributor-covenant.org) (CC BY 4.0) and
the [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct),
whose enforcement ladder and community-first approach we gratefully follow.