Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ The following files in `.machine_readable/` contain structured project metadata:

| Language/Tool | Use Case | Notes |
|---------------|----------|-------|
| **ReScript** | Primary application code | Compiles to JS, type-safe |
| **AffineScript** | Primary application code | Affine-typed, compiles to typed-wasm or Deno-ESM |
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs |
| **Nickel** | Configuration language | For complex configs |
| **Guile Scheme** | State/meta files | .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml |
| **Julia** | Batch scripts, data processing | Per RSR |
Expand All @@ -37,7 +37,8 @@ The following files in `.machine_readable/` contain structured project metadata:

| Banned | Replacement |
|--------|-------------|
| TypeScript | ReScript |
| TypeScript | AffineScript |
| ReScript | AffineScript |
| Node.js | Deno |
| npm | Deno |
| Bun | Deno |
Expand All @@ -53,7 +54,7 @@ The following files in `.machine_readable/` contain structured project metadata:

For developer tools:
- **Rust** preferred for CLI tools, git operations
- **ReScript** for web dashboards (git-hud)
- **AffineScript** for web dashboards (git-hud)
- **Deno** for automation scripts
- **Julia** for batch analysis (oikos metrics)

Expand Down
32 changes: 32 additions & 0 deletions .hypatia-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# .hypatia-ignore — declared exemptions from hyperpolymath/standards
# governance-reusable.yml policy rules. Format:
#
# <rule>:<repo-relative-path>
#
# Lines starting with `#` and blank lines are ignored.
#
# Note: paths must match the form emitted by `git ls-files`, which
# quotes non-ASCII bytes with octal escapes by default (see
# `core.quotepath`). Below, emoji directory names are encoded as the
# literal "\nnn" octal sequences `git ls-files` produces, with the
# surrounding double-quotes.
#
# ─── Vendored ReScript compiler test fixtures (rescript-ecosystem/) ─
#
# These 6 .res files are unicode-name test inputs for the upstream
# ReScript compiler build_tests/unicode/ corpus. They live under
# vendored copies of the rescript-compiler repository and exist only
# to exercise the compiler's handling of emoji-named directories.
# Migration target N/A — they are third-party test fixtures, not
# project source. Removal would happen only if rescript-ecosystem/
# is itself dropped from the vendor tree.
#
cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\225annotation/a.res"
cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\227block/b.res"
cicd_rules/banned_language_file:"rescript-ecosystem/packages/core/compiler-source/tests/build_tests/unicode/src/\360\237\223\231inline/c.res"
cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\225annotation/a.res"
cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\227block/b.res"
cicd_rules/banned_language_file:"rescript-ecosystem/rescript/tests/build_tests/unicode/src/\360\237\223\231inline/c.res"
13 changes: 7 additions & 6 deletions cadre-router/.claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ The following files in `.machine_readable/` contain structured project metadata:

| Language/Tool | Use Case | Notes |
|---------------|----------|-------|
| **ReScript** | Primary application code | Compiles to JS, type-safe |
| **AffineScript** | Primary application code | Affine-typed, compiles to typed-wasm or Deno-ESM |
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs |
| **Nickel** | Configuration language | For complex configs |
| **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm |
| **Julia** | Batch scripts, data processing | Per RSR |
Expand All @@ -37,7 +37,8 @@ The following files in `.machine_readable/` contain structured project metadata:

| Banned | Replacement |
|--------|-------------|
| TypeScript | ReScript |
| TypeScript | AffineScript |
| ReScript | AffineScript |
| Node.js | Deno |
| npm | Deno |
| Bun | Deno |
Expand All @@ -53,18 +54,18 @@ The following files in `.machine_readable/` contain structured project metadata:

**No exceptions for Kotlin/Swift** - use Rust-first approach:

1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0
1. **Tauri 2.0+** - Web UI (AffineScript) + Rust backend, MIT/Apache-2.0
2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0

Both are FOSS with independent governance (no Big Tech).

### Enforcement Rules

1. **No new TypeScript files** - Convert existing TS to ReScript
1. **No new TypeScript files** - Convert existing TS to AffineScript
2. **No package.json for runtime deps** - Use deno.json imports
3. **No node_modules in production** - Deno caches deps automatically
4. **No Go code** - Use Rust instead
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, ReScript for apps
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus

### Package Management
Expand Down
2 changes: 1 addition & 1 deletion cadre-router/tea-router-pkg/.claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ It wraps `cadre-router` with TEA-specific primitives (`Tea.Cmd.t`, `Tea.Sub.t`).
## Language Policy

Same as cadre-router - see the Hyperpolymath Standard:
- **ReScript** for all source code
- **AffineScript** for all source code (currently .res/.resi; ReScript→AffineScript migration tracked at standards#252)
- **Deno** for runtime (not Node.js)
- No TypeScript

Expand Down
Loading