|
| 1 | +# Clone the repository |
| 2 | + |
| 3 | +git clone <https://github.com/hyperpolymath/nextgen-languages.git> cd |
| 4 | +nextgen-languages |
| 5 | + |
| 6 | +# Using Guix (recommended for reproducibility) |
| 7 | + |
| 8 | +guix develop |
| 9 | + |
| 10 | +# Or using toolbox/distrobox |
| 11 | + |
| 12 | +toolbox create nextgen-languages-dev toolbox enter nextgen-languages-dev |
| 13 | +\# Install dependencies manually |
| 14 | + |
| 15 | +# Verify setup |
| 16 | + |
| 17 | +just check \# or: cargo check / mix compile / etc. just test \# Run test |
| 18 | +suite |
| 19 | + |
| 20 | + |
| 21 | + ### Repository Structure |
| 22 | + |
| 23 | +nextgen-languages/ ├── src/ \# Source code (Perimeter 1-2) ├── lib/ \# |
| 24 | +Library code (Perimeter 1-2) ├── extensions/ \# Extensions (Perimeter 2) |
| 25 | +├── plugins/ \# Plugins (Perimeter 2) ├── tools/ \# Tooling (Perimeter |
| 26 | +2) ├── docs/ \# Documentation (Perimeter 3) │ ├── architecture/ \# ADRs, |
| 27 | +specs (Perimeter 2) │ └── proposals/ \# RFCs (Perimeter 3) ├── examples/ |
| 28 | +\# Examples (Perimeter 3) ├── spec/ \# Spec tests (Perimeter 3) ├── |
| 29 | +tests/ \# Test suite (Perimeter 2-3) ├── .well-known/ \# Protocol files |
| 30 | +(Perimeter 1-3) ├── .github/ \# GitHub config (Perimeter 1) │ ├── |
| 31 | +ISSUE_TEMPLATE/ │ └── workflows/ ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md |
| 32 | +├── CONTRIBUTING.md \# This file ├── GOVERNANCE.md ├── LICENSE ├── |
| 33 | +MAINTAINERS.md ├── README.adoc ├── SECURITY.md ├── flake.guix \# Guix |
| 34 | +flake (Perimeter 1) └── Justfile \# Task runner (Perimeter 1) |
| 35 | + |
| 36 | + |
| 37 | + --- |
| 38 | + |
| 39 | + ## How to Contribute |
| 40 | + |
| 41 | + ### Reporting Bugs |
| 42 | + |
| 43 | + **Before reporting**: |
| 44 | + 1. Search existing issues |
| 45 | + 2. Check if it's already fixed in `main` |
| 46 | + 3. Determine which perimeter the bug affects |
| 47 | + |
| 48 | + **When reporting**: |
| 49 | + |
| 50 | + Use the [bug report template](.github/ISSUE_TEMPLATE/bug_report.md) and include: |
| 51 | + |
| 52 | + - Clear, descriptive title |
| 53 | + - Environment details (OS, versions, toolchain) |
| 54 | + - Steps to reproduce |
| 55 | + - Expected vs actual behaviour |
| 56 | + - Logs, screenshots, or minimal reproduction |
| 57 | + |
| 58 | + ### Suggesting Features |
| 59 | + |
| 60 | + **Before suggesting**: |
| 61 | + 1. Check the [roadmap](ROADMAP.md) if available |
| 62 | + 2. Search existing issues and discussions |
| 63 | + 3. Consider which perimeter the feature belongs to |
| 64 | + |
| 65 | + **When suggesting**: |
| 66 | + |
| 67 | + Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) and include: |
| 68 | + |
| 69 | + - Problem statement (what pain point does this solve?) |
| 70 | + - Proposed solution |
| 71 | + - Alternatives considered |
| 72 | + - Which perimeter this affects |
| 73 | + |
| 74 | + ### Your First Contribution |
| 75 | + |
| 76 | + Look for issues labelled: |
| 77 | + |
| 78 | + - [`good first issue`](https://github.com/hyperpolymath/nextgen-languages/labels/good%20first%20issue) — Simple Perimeter 3 tasks |
| 79 | + - [`help wanted`](https://github.com/hyperpolymath/nextgen-languages/labels/help%20wanted) — Community help needed |
| 80 | + - [`documentation`](https://github.com/hyperpolymath/nextgen-languages/labels/documentation) — Docs improvements |
| 81 | + - [`perimeter-3`](https://github.com/hyperpolymath/nextgen-languages/labels/perimeter-3) — Community sandbox scope |
| 82 | + |
| 83 | + --- |
| 84 | + |
| 85 | + ## Development Workflow |
| 86 | + |
| 87 | + ### Branch Naming |
| 88 | + |
| 89 | +docs/short-description \# Documentation (P3) test/what-added \# Test |
| 90 | +additions (P3) feat/short-description \# New features (P2) |
| 91 | +fix/issue-number-description \# Bug fixes (P2) refactor/what-changed \# |
| 92 | +Code improvements (P2) security/what-fixed \# Security fixes (P1-2) |
| 93 | + |
| 94 | + |
| 95 | + ### Commit Messages |
| 96 | + |
| 97 | + We follow [Conventional Commits](https://www.conventionalcommits.org/): |
| 98 | + |
| 99 | +(): |
| 100 | + |
| 101 | +\[optional body\] |
| 102 | + |
| 103 | +\[optional footer\] |
0 commit comments