neyuki 0.3.0

A small Lua-like scripting language implemented in Rust
Documentation
# 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.