-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.clinerules
More file actions
43 lines (35 loc) · 1.44 KB
/
.clinerules
File metadata and controls
43 lines (35 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# SPDX-License-Identifier: PMPL-1.0-or-later
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} (hyperpolymath) <{{AUTHOR_EMAIL}}>
# Authoritative source: docs/AI-CONVENTIONS.md
# STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/STATE.a2ml.
# LICENSE
# All original code: PMPL-1.0-or-later.
# Never AGPL-3.0. MPL-2.0 only as platform-required fallback.
# SPDX header required on every source file.
# Copyright: {{AUTHOR}} (hyperpolymath) <{{AUTHOR_EMAIL}}>
# STATE FILES (.machine_readable/ ONLY)
# Never create in repo root: STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml,
# AGENTIC.a2ml, NEUROSYM.a2ml, PLAYBOOK.a2ml.
# The .machine_readable/ directory is the single source of truth.
# BANNED PATTERNS
# Idris2: believe_me, assert_total, assert_smaller, unsafePerformIO
# Haskell: unsafeCoerce, unsafePerformIO, undefined, error
# OCaml: Obj.magic, Obj.repr, Obj.obj
# Coq: Admitted
# Lean: sorry
# Rust: transmute (unless FFI with // SAFETY: comment)
# BANNED LANGUAGES
# TypeScript -> ReScript
# Node.js / npm / bun -> Deno
# Go -> Rust
# Python -> Julia or Rust
# CONTAINERS
# Runtime: Podman (never Docker).
# File: Containerfile (never Dockerfile).
# Base: cgr.dev/chainguard/wolfi-base:latest or cgr.dev/chainguard/static:latest.
# ABI/FFI
# ABI: Idris2 with dependent types (src/abi/).
# FFI: Zig with C ABI (ffi/zig/).
# Headers: generated/abi/.
# BUILD: Use just (justfile) for all tasks.
# STYLE: Descriptive names. Document all files. SPDX headers everywhere.