AutonomousVehicleControlBeginnersGuide
Python sample codes and documents about Autonomous vehicle control algorithm. This project can be used as a technical guide book to study the algorithms and the software architectures for beginners.
Acquire English through evidence-based lessons, spaced repetition, and interactive exercises. No gamification — just effective acquisition.
Translation pending
EducationTypeScript · AstroGitHub @paruffOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A research-backed, CEFR-aligned static platform for learning European Portuguese (PT-PT). Privacy-first, offline-capable, and powered by SM-2 spaced repetition.
Taken from the repository README
Loading the full README.
Read the full README ↗A research-backed, CEFR-aligned language-learning platform — live as Acquira. Static-first, privacy-respecting, offline-capable, and language-pair-agnostic: en-GB, pt-PT, es-ES, de-DE, fr-FR, and it-IT all work as either source or target.
Acquira delivers structured, CEFR-aligned language learning through a static site deployed to GitHub Pages. It started as European Portuguese only (see discovery-brief.md for the original MVP scope) — the abstract CEFR-node + realisation content model proved out past that single pair, and pt-PT/es-ES/de-DE now have full A1–C2 content, with it-IT at A1–B1 plus a C1 slice (B2 in progress) and fr-FR currently complete through B2 (C1/C2 remain lower-priority pending work). No backend, no accounts, no tracking — just evidence-based retrieval-practice principles (spacing, interleaving, generation effect, calibration feedback — see AGENTS.md §1.0), SM-2 spaced repetition, and transparent CEFR progress tracking.
| Feature | Description |
|---|---|
| CEFR-Aligned Content | Abstract, language-agnostic Can-Do nodes mapped to per-language realisations (vocabulary, grammar, cultural notes) |
| Any Language Pair | en-GB, pt-PT, es-ES, de-DE, fr-FR, it-IT all work as source or target — routes and the language-pair selector are derived from content, not hardcoded |
| Spaced Repetition | SM-2 algorithm with 4-grade recall (Again/Hard/Good/Easy), offline in localStorage, scoped per pair and direction |
| Evidence-Based Review | Interleaved due-card queue, opt-in typed-recall (generation effect), calibration feedback on over-confident grading |
| Transparent Progress | Per-skill Can-Do mastery dashboard; exportable, verifiable |
| Native Pronunciation | Web Speech API, exact-locale voice selection (e.g. pt-PT not pt-BR, es-ES not es-MX) |
| Privacy by Default | Zero PII, no cookies, no third-party trackers, localStorage only |
| Static Deployment | GitHub Pages via GitOps; instant loads, global CDN, zero cost |
# Install dependencies
npm ci
# Start dev server (background mode)
npm run dev
# Run all quality gates
npm run typecheck && npm run lint && npm run test:unit && npm run build
# Deploy preview (automatic on PR)
# Deploy production (automatic on merge to main)
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Content (YAML) │────►│ Zod Validation │────►│ Astro Build │
│ cefr-nodes/ │ │ (CI gate) │ │ (static HTML) │
│ realisations/ │ └──────────────────┘ └────────┬────────┘
└─────────────────┘ │
▼
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ GitHub Pages │◄────│ GitHub Actions │◄────│ dist/ artifact │
│ (CDN, HTTPS) │ │ (deploy.yml) │ └─────────────────┘
└─────────────────┘ └──────────────────┘
| Layer | Technology |
|---|---|
| SSG | Astro 7.x |
| Interactive Islands | Vue 3.5 |
| Schema Validation | Zod 3.x |
| SRS Algorithm | SM-2 (custom, pure TS) |
| Testing | Vitest + Playwright |
| Deployment | GitHub Actions → GitHub Pages |
The platform uses a two-tier content architecture that separates pedagogical intent from language expression:
CEFR Node (language-agnostic) ──► Realisation (language-specific)
| Tier | Purpose | Example |
|---|---|---|
| CEFR Node | Abstract Can-Do statement | "Can greet people and respond to greetings" (A1-GREET-001) |
| Realisation | PT-PT vocabulary + grammar | "Olá", "Bom dia", "Boa tarde" with examples |
This enables future language pairs (EN→ES, FR→PT, etc.) without duplicating curriculum structure.
localStorage scoped by languagePair:direction:itemIdsrc/lib/srs.test.ts)learn-languages/
├── .github/workflows/ # CI/CD pipelines
├── .lefthook.yml # Git hooks (pre-commit, pre-push)
├── discovery-brief.md # JTBD, personas, acceptance criteria
├── specification-design.md # Full technical specification
├── src/
│ ├── components/ # Vue islands + Astro components
│ ├── content/ # Zod-validated content collections
│ │ ├── cefr-nodes/ # Abstract Can-Do nodes (YAML)
│ │ └── realisations/ # Language-specific content
│ ├── lib/ # Pure functions (SRS, storage, progress)
│ ├── pages/ # File-based routing (i18n)
│ └── styles/ # CSS tokens + BEM components
├── tests/ # Unit + E2E tests
└── AGENTS.md # Agent governance (this repo's constitution)
npm run dev # Astro dev server (background)
npm run build # Static export to dist/
npm run preview # Preview production build locally
# Quality gates
npm run typecheck # TypeScript strict check
npm run lint # ESLint + Prettier
npm run validate:content # Zod schema validation
npm run test:unit # Vitest with coverage
npm run test:e2e # Playwright E2E
npm run lighthouse # Lighthouse CI audit
# Git hooks (auto-installed via prepare)
npx lefthook install
| Hook | Trigger | Runs |
|---|---|---|
pre-commit | Staged files | lint-staged (format + lint) + tsc --noEmit |
pre-push | All files | validate:content + test:unit + test:e2e |
main → CI runs all gatesdeploy.yml builds and deploys to GitHub Pagesgit revert <sha> on main triggers redeploy| Environment | URL | Trigger |
|---|---|---|
| Production | https://paruff.github.io/learn-languages/ | Push to main |
| Preview | PR-specific (Cloudflare Pages optional) | Open PR |
<type>[scope]: <description>
[body]
[footer]
| Type | Version Bump |
|---|---|
feat | MINOR |
fix | PATCH |
content | PATCH (no schema change) |
refactor! / feat! | MAJOR |
| Document | Purpose |
|---|---|
discovery-brief.md | Problem, JTBD, personas, acceptance criteria |
specification-design.md | Architecture, data model, SRS, UI, testing, deployment |
AGENTS.md | Agent governance, GitOps, conventions |
CHANGELOG.md | Keep a Changelog format |
MIT — see LICENSE for details.
Content authored for this project is CC-BY-4.0.