https://github.com/xscriptor/tengu
https://github.com/xscriptor/tengu
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/xscriptor/tengu
- Owner: xscriptor
- Created: 2026-07-04T19:34:09.000Z (13 days ago)
- Default Branch: main
- Last Pushed: 2026-07-04T19:50:04.000Z (13 days ago)
- Last Synced: 2026-07-04T21:13:18.297Z (13 days ago)
- Language: Rust
- Size: 196 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
Tengu
Web quality auditor -- Performance, SEO, Accessibility, Best Practices
Tengu : XWA submodule focused on web quality auditing -- under active development
Overview
Tengu is a web quality auditor that evaluates web applications across four dimensions:
Category
Scope
Performance
Page weight, Core Web Vitals (LCP, CLS, INP), resource waterfall, image optimization, font loading, cache policy, compression, third-party impact
SEO
Title tags, meta descriptions, heading hierarchy, canonical URLs, Open Graph, Twitter Cards, JSON-LD, sitemaps, robots.txt, hreflang, redirect chains, broken links
Accessibility
Alt text, heading structure, ARIA attributes, landmark elements, color contrast (WCAG AA/AAA), keyboard navigation, form labels, link text, tables, iframes, viewport configuration
Best Practices
HTTPS enforcement, security headers (HSTS, CSP, XFO, etc.), cookie audit, GDPR banner detection, doctype validation, deprecated HTML, mixed content, SRI, console errors
Interface
Directory
Language
Type
Tengu Web
/ (monorepo root)
Rust (Axum) + Angular 19
Web application (standalone or Docker)
Quick Start
Web Version (Docker Compose)
docker compose up -d --build
- Web UI:
http://localhost:8080
Standalone (No Docker)
cargo run --release
Web UI at http://localhost:8080.
Environment Variables
VariableDefaultDescription
PORT8080HTTP listen port
RUST_LOGtengu=info,tower_http=infoLogging verbosity
Related Documents
DocumentDescription
docs/manual.mdDeployment and usage manual
docs/ui-architecture.mdFrontend architecture overview
docs/rust-libraries.mdRust backend dependency inventory
docs/uses/audit.mdAudit usage guide
ROADMAP.mdDevelopment phases and milestones
CHANGELOG.mdRelease history and version log
Project Structure
tengu/
├── src/
│ ├── main.rs # Axum server entry point
│ ├── config.rs # Audit configuration, category filters
│ ├── api/
│ │ └── routes.rs # REST API + WebSocket audit endpoint
│ ├── auditor/
│ │ ├── mod.rs # Audit orchestrator + Finding model
│ │ ├── performance.rs # Page weight, resources, images, fonts
│ │ ├── seo.rs # Meta tags, structured data, sitemaps
│ │ ├── a11y.rs # WCAG compliance, ARIA, contrast
│ │ └── best_practices.rs # Security headers, cookies, HTML validation
│ ├── extractor/
│ │ └── html.rs # HTML metadata extraction
│ └── storage/
│ └── mod.rs # In-memory audit record store
├── frontend/ # Angular 19 SPA source
│ ├── package.json
│ ├── angular.json
│ └── src/app/
│ ├── components/ # App shell, sidebar, theme toggle
│ └── features/
│ ├── audit/ # Audit configuration and results
│ └── history/ # Past audit records
├── docs/ # Technical documentation
├── Dockerfile # Multi-stage Rust build
├── docker-compose.yml # Single service Docker deployment
├── Cargo.toml # Rust dependencies
├── ROADMAP.md # Development roadmap
└── CHANGELOG.md # Release history
API Endpoints
MethodPathDescription
GET/api/healthHealth check
GET/api/audit/liveWebSocket endpoint for real-time audit
GET/api/auditsList all past audits
GET/api/audits/:idGet audit details
DELETE/api/audits/:idDelete an audit record
GET/api/audits/exportExport all audit records as JSON
POST/api/audits/importImport audit records from JSON
Launch Script
./tengu.sh # Standalone ephemeral (privacy-first)
./tengu.sh --docker # via docker-compose
./tengu.sh --docker -e # Docker ephemeral (--rm)
./tengu.sh --export file.json # Save export to ./exports/
./tengu.sh --import file.json # Import audit JSON into running instance