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
30 changes: 30 additions & 0 deletions .github/workflows/makefile-blocker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Makefile Blocker
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Block Makefiles
run: |
MAKEFILES=$(find . -maxdepth 3 -type f \( -name "Makefile" -o -name "makefile" -o -name "GNUmakefile" \) 2>/dev/null || true)

if [ -n "$MAKEFILES" ]; then
echo "Makefiles detected. Use justfile instead."
echo "$MAKEFILES"
echo ""
echo "Per Hyperpolymath policy, Makefiles are not permitted."
echo "See: https://github.com/hyperpolymath/mustfile"
exit 1
fi
echo "No Makefile found (justfile policy enforced)"

- name: Verify justfile exists
run: |
if [ ! -f "justfile" ]; then
echo "Warning: justfile not found at repository root"
echo "A justfile is recommended for task orchestration"
else
echo "justfile found"
fi
46 changes: 46 additions & 0 deletions .github/workflows/npm-bun-blocker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: npm/bun Blocker
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Check for npm/bun usage in new files
run: |
# Check for new bun.lockb files
NEW_BUN=$(git diff --name-only --diff-filter=A HEAD~1 2>/dev/null | grep -E 'bun\.lockb$' || true)

# Check for npm scripts calling npm/bun in new or modified files
NPM_CALLS=$(git diff HEAD~1 2>/dev/null | grep -E '^\+.*\b(npm|bun)\s+(run|install|start|test|build)' | grep -v '#' || true)

ERRORS=""

if [ -n "$NEW_BUN" ]; then
ERRORS="${ERRORS}New bun.lockb detected. Use Deno instead.\n${NEW_BUN}\n"
fi

if [ -n "$NPM_CALLS" ]; then
ERRORS="${ERRORS}npm/bun commands in new code. Use Deno tasks instead.\n${NPM_CALLS}\n"
fi

if [ -n "$ERRORS" ]; then
echo -e "$ERRORS"
echo ""
echo "Per language policy, use Deno instead of npm/bun for:"
echo " - Package management: deno.json imports"
echo " - Task running: deno task <name>"
echo " - Scripts: deno run script.ts"
exit 1
fi

echo "Deno policy enforced (no new npm/bun usage)"

- name: Verify deno.json exists
run: |
if [ ! -f "deno.json" ]; then
echo "Warning: deno.json not found"
echo "Consider adding deno.json for Deno configuration"
else
echo "deno.json found"
fi
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,15 @@ erl_crash.dump

# ReScript
/lib/bs/
/lib/
/.bsb.lock
*.res.js
*.bs.js
.merlin

# Deno
deno.lock
.deno/

# Python (SaltStack only)
__pycache__/
Expand Down
45 changes: 20 additions & 25 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

### Added
- Initial project structure
- Core TypeScript modules (extension.ts, types.ts, glyphs.ts, narrative.ts)
- 50+ JavaScript → ReScript transformation patterns
- Four-layer UI architecture (RAW, FOLDED, GLYPHED, WYSIWYG)
- Makaton-inspired glyph system (21 visual symbols)
- Encouraging narrative generation system
- AST-based pattern matching using Babel parser
- Comprehensive test suite with 100% coverage target
- RSR Bronze-level compliance
- Dual licensing (MIT + Palimpsest v0.8)
- TPCF Perimeter 3 governance framework
- Offline-first architecture (zero network dependencies)
- Complete documentation (README, CONTRIBUTING, SECURITY, etc.)
- .well-known/ directory (security.txt, ai.txt, humans.txt)
- Build system (justfile, CI/CD, Nix flake)
- VS Code extension commands and keybindings
- Pattern library browser
- Learning path tracker
- Performance monitoring (<300ms detection, <100MB memory)
- Privacy-preserving optional telemetry
- Workspace trust integration
- Example JavaScript files for testing
- Tutorial system foundation
- ReScript example projects (Project 1: Stack)
- ReScript source files (Types.res, Glyphs.res, Narrative.res, Patterns.res)
- Deno configuration (deno.json) and build scripts
- Mustfile.epx deployment contract
- Nickel configuration (config.ncl)
- Makefile blocker workflow (enforce justfile usage)
- npm/bun blocker workflow (enforce Deno usage)
- SPDX license headers on all ReScript source files

### Changed
- N/A (initial release)
- **BREAKING**: Migrated from TypeScript to ReScript (Hyperpolymath language policy)
- **BREAKING**: Migrated from npm to Deno (Hyperpolymath language policy)
- Updated justfile to use Deno tasks instead of npm scripts
- Updated README.adoc to reflect ReScript/Deno stack
- Updated CLAUDE.md with new language policy and structure
- Updated .gitignore for ReScript and Deno artifacts

### Removed
- TypeScript source files (migrated to ReScript)
- extension/ directory (old VS Code extension scaffolding)
- npm package.json (replaced with deno.json)
- tsconfig.json, eslint configuration (TypeScript tooling)
- TS_CONVERSION_NEEDED.md (no longer needed)

### Deprecated
- N/A (initial release)
Expand Down
Loading
Loading