Contributing to Q+
Maintained by 如东星瀚科技有限公司 (Rudong Xinghan Technology Co., Ltd.), brand 星瀚 / Xinghan. The full contribution guide is CONTRIBUTING.en.md; this file is the short version.
This repository is the language-only Q+ project (compiler, VM, standard library, examples, specification, tooling and docs). The 另一产品线 kernel and OS services are a separate closed-source product line and are out of scope.
Quick start
tools/build.sh
tools/test.sh # ends with QPLUS_LANGUAGE_TESTS_PASS
Ground rules
- Keep the specification (
docs/qplus_language_spec.md) and tests in sync. - Add a regression fixture under
src/tests/for every compiler fix. - Use relative paths in scripts; never commit internal paths, host names, credentials, evidence files, or generated artifacts.
- Sign off every commit (
git commit -s, DCO). SeeCONTRIBUTING.en.mdfor the DCO 1.1 text and pull-request checklist. - Open a design issue first for language semantics, new public modules, compilation-strategy, release-process, or public-interface changes.
- Security issues must be reported privately per SECURITY.md; do not open public issues for them.
- Participation is covered by CODE_OF_CONDUCT.md.
Project documents
- GOVERNANCE.md — decision model, roles, version/release policy.
- MAINTAINERS.md — current roles (placeholders until publication).
- RELEASING.md — candidate → freeze → gates → Maintainer approval → publication runbook. v1.4.8-dev is NOT PUBLISHED.
- SUPPORT.md — where to get help and support boundaries.
- ROADMAP.md — public plan and known non-goals.
- P0_RELEASE_CHECKLIST.md — publication readiness checklist and non-claims list.
Pull requests
- Build and run
tools/test.shlocally. - Describe compatibility/spec impact and update docs/spec/CHANGELOG as needed.
- For large language changes, open an issue first.
- Do not claim or imply a published release; version labels are development-line labels until the Maintainer authorizes publication.