hifzlink: open source Quran murojaah tool to find and compare mutashabihat verses. Go standard library + SQLite + minimal HTML/CSS/JS frontend. Live at hifz.click.
- Backend: Go,
net/http(standard library only), SQLite - Frontend: plain HTML, CSS, minimal JavaScript (no frameworks, no npm)
- Database: SQLite at
data/hifzlink.db
This repo is public. CLAUDE.md and all docs must contain no server IPs, real domains (beyond the public hifz.click), internal paths, or personal infrastructure references. Use placeholders in all examples.
- Zero external backend dependencies: Go standard library only
- No Gin, Echo, Fiber, or ORM libraries
- No React, Vue, Angular, Next.js, or npm in the frontend
- Secrets in
.env: never committed .env.examplecommitted with all variable names, no real values- Keep commits small: one logical change per commit
- Quran text loaded from
data/quran.json: never alter the text content - Preserve UTF-8 Arabic text and diacritics
- Keep attribution and source notes in
NOTICE.md - Validate dataset integrity: exactly 6236 ayah records, unique (surah, ayah) pairs, non-empty text_ar
Run before every commit: go test ./... (from repo root)
All tests must pass before committing.
Write tests for new code in the same commit.
- No em dashes (
—) in commit messages, docs, README, or any written output. - Use a colon, semicolon, or rewrite the sentence instead.
- No hardcoded credentials or tokens in source code
- SQL queries must use parameterized statements
- Review AI-generated code for security issues before committing
- Quran dataset files (
data/quran.json,NOTICE.md) - Database migration files