An open API service indexing awesome lists of open source software.

https://github.com/xscriptor/tengu


https://github.com/xscriptor/tengu

Last synced: 9 days ago
JSON representation

Awesome Lists containing this project

README

          

Tengu


Web quality auditor -- Performance, SEO, Accessibility, Best Practices



English | Espanol

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



X


X Web

&

X Github Profile

&

Xscriptor web