/ CONTRIBUTING.adoc
CONTRIBUTING.adoc
1 // SPDX-License-Identifier: AGPL-3.0-or-later 2 = Contributing to BetLang Playground 3 4 == Getting Started 5 6 1. Fork the repository 7 2. Create a feature branch from `main` 8 3. Sign off commits (`git commit -s`) 9 4. Submit a pull request 10 11 == Development Setup 12 13 [source,bash] 14 ---- 15 # Clone and enter directory 16 git clone https://github.com/hyperpolymath/betlang-playground.git 17 cd betlang-playground 18 19 # Install dependencies (Deno required per RSR) 20 deno task dev 21 22 # Run tests 23 just test 24 25 # Run ternary logic demo 26 just ternary-demo 27 ---- 28 29 == Commit Guidelines 30 31 * Conventional commits: `type(scope): description` 32 * Sign all commits (DCO required) 33 * Atomic, focused commits 34 35 == Code Style 36 37 * ReScript for application logic (per RSR Language Policy) 38 * Deno for runtime (not Node/npm/bun per RSR) 39 * Descriptive variable names 40 * Comprehensive type annotations for ternary values 41 42 == Ternary Logic Guidelines 43 44 When working with ternary logic: 45 46 * Use proper truth table semantics 47 * Document unknown value propagation 48 * Test all combinations of T/F/U values 49 * Handle uncertainty explicitly 50 51 == Probabilistic Programming Guidelines 52 53 When implementing probabilistic features: 54 55 * Use cryptographically secure randomness where needed 56 * Test numerical stability of probability calculations 57 * Document probability distributions used 58 * Handle edge cases (0, 1, NaN) 59 60 == Testing 61 62 [source,bash] 63 ---- 64 # Run all tests 65 just test 66 67 # Run ternary logic tests 68 deno test test/ternary_test.ts 69 70 # Run probability tests 71 deno test test/probability_test.ts 72 ---- 73 74 == License 75 76 Contributions licensed under AGPL-3.0-or-later.