chore: remove stale agent reports and add PYTHONDONTWRITEBYTECODE export to Makefile
Delete four stale SEO and style agent report JSON/MD files from agents/reports/ that had zero findings or were superseded. Export PYTHONDONTWRITEBYTECODE=1 in the Makefile so all make targets suppress bytecode generation, and add a `tree` target that lists the repository file tree via git ls-tree. Update AGENTS.md and CLAUDE.md documentation to reflect that routers now form a directory tree mirroring URL paths and that bytecode writing is disabled project-wide.
This commit is contained in:
@@ -0,0 +1,469 @@
|
||||
# retoor <retoor@molodetz.nl>
|
||||
|
||||
from devplacepy.docs_api import api_doc_pages
|
||||
|
||||
SECTION_GENERAL = "General"
|
||||
SECTION_COMPONENTS = "Components"
|
||||
SECTION_STYLES = "Styles"
|
||||
SECTION_API = "API"
|
||||
SECTION_ADMIN = "Administration"
|
||||
SECTION_DEVII = "Devii internals"
|
||||
SECTION_BOTS = "Bots internals"
|
||||
SECTION_SERVICES = "Services"
|
||||
SECTION_ARCH = "Architecture"
|
||||
SECTION_TESTING = "Testing"
|
||||
SECTION_PROD = "Production"
|
||||
SECTION_MAINTENANCE = "Maintenance agents"
|
||||
|
||||
DOCS_PAGES = [
|
||||
# General - how to use the site and Devii (everyone)
|
||||
{"slug": "index", "title": "Overview", "kind": "prose", "section": SECTION_GENERAL},
|
||||
{
|
||||
"slug": "devii",
|
||||
"title": "Devii Assistant",
|
||||
"kind": "prose",
|
||||
"section": SECTION_GENERAL,
|
||||
},
|
||||
{
|
||||
"slug": "dashboard",
|
||||
"title": "Your dashboard",
|
||||
"kind": "live",
|
||||
"section": SECTION_GENERAL,
|
||||
},
|
||||
{
|
||||
"slug": "media-gallery",
|
||||
"title": "Media gallery",
|
||||
"kind": "prose",
|
||||
"section": SECTION_GENERAL,
|
||||
},
|
||||
{
|
||||
"slug": "notification-settings",
|
||||
"title": "Notification settings",
|
||||
"kind": "prose",
|
||||
"section": SECTION_GENERAL,
|
||||
},
|
||||
# Maintenance agents - the self-maintaining quality fleet (public)
|
||||
{
|
||||
"slug": "maintenance-agents",
|
||||
"title": "Maintenance agents",
|
||||
"kind": "prose",
|
||||
"section": SECTION_MAINTENANCE,
|
||||
},
|
||||
{
|
||||
"slug": "maintenance-usage",
|
||||
"title": "Running the agents",
|
||||
"kind": "prose",
|
||||
"section": SECTION_MAINTENANCE,
|
||||
},
|
||||
# Components - custom HTML web components with live examples (everyone)
|
||||
{
|
||||
"slug": "components",
|
||||
"title": "Components overview",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-avatar",
|
||||
"title": "dp-avatar",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-code",
|
||||
"title": "dp-code",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-content",
|
||||
"title": "dp-content",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-upload",
|
||||
"title": "dp-upload",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-toast",
|
||||
"title": "dp-toast",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-dialog",
|
||||
"title": "dp-dialog",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-context-menu",
|
||||
"title": "dp-context-menu",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-dp-lightbox",
|
||||
"title": "dp-lightbox",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-devii-terminal",
|
||||
"title": "devii-terminal",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-devii-avatar",
|
||||
"title": "devii-avatar",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
{
|
||||
"slug": "component-emoji-picker",
|
||||
"title": "emoji-picker",
|
||||
"kind": "prose",
|
||||
"section": SECTION_COMPONENTS,
|
||||
},
|
||||
# Styles - the design system: colors, layout, responsiveness, and hard structural rules (everyone)
|
||||
{
|
||||
"slug": "styles",
|
||||
"title": "Design system overview",
|
||||
"kind": "prose",
|
||||
"section": SECTION_STYLES,
|
||||
},
|
||||
{
|
||||
"slug": "styles-colors",
|
||||
"title": "Colors",
|
||||
"kind": "prose",
|
||||
"section": SECTION_STYLES,
|
||||
},
|
||||
{
|
||||
"slug": "styles-layout",
|
||||
"title": "Layout",
|
||||
"kind": "prose",
|
||||
"section": SECTION_STYLES,
|
||||
},
|
||||
{
|
||||
"slug": "styles-responsiveness",
|
||||
"title": "Responsiveness",
|
||||
"kind": "prose",
|
||||
"section": SECTION_STYLES,
|
||||
},
|
||||
{
|
||||
"slug": "styles-consistency",
|
||||
"title": "Consistency rules",
|
||||
"kind": "prose",
|
||||
"section": SECTION_STYLES,
|
||||
},
|
||||
# API - developer reference (everyone); admin-only groups are routed to Administration below
|
||||
{
|
||||
"slug": "authentication",
|
||||
"title": "Authentication",
|
||||
"kind": "prose",
|
||||
"section": SECTION_API,
|
||||
},
|
||||
*[
|
||||
{**page, "section": (SECTION_ADMIN if page.get("admin") else SECTION_API)}
|
||||
for page in api_doc_pages()
|
||||
],
|
||||
# Administration - operational guides (admins only)
|
||||
{
|
||||
"slug": "media-moderation",
|
||||
"title": "Media moderation",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ADMIN,
|
||||
},
|
||||
{
|
||||
"slug": "soft-delete",
|
||||
"title": "Soft delete and data retention",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ADMIN,
|
||||
},
|
||||
# Devii internals - technical reference for the Devii assistant (admins only)
|
||||
{
|
||||
"slug": "audit-log",
|
||||
"title": "Audit Log",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ADMIN,
|
||||
},
|
||||
{
|
||||
"slug": "devii-internals",
|
||||
"title": "Devii internals",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_DEVII,
|
||||
},
|
||||
{
|
||||
"slug": "devii-architecture",
|
||||
"title": "Architecture and sessions",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_DEVII,
|
||||
},
|
||||
{
|
||||
"slug": "devii-tools",
|
||||
"title": "Tools and scopes",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_DEVII,
|
||||
},
|
||||
{
|
||||
"slug": "devii-data",
|
||||
"title": "Data and persistence",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_DEVII,
|
||||
},
|
||||
{
|
||||
"slug": "devii-security",
|
||||
"title": "Security and limits",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_DEVII,
|
||||
},
|
||||
{
|
||||
"slug": "devii-config",
|
||||
"title": "Configuration and CLI",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_DEVII,
|
||||
},
|
||||
# Bots internals - deep technical reference for the autonomous bot fleet (admins only)
|
||||
{
|
||||
"slug": "bots-internals",
|
||||
"title": "Bots internals",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_BOTS,
|
||||
},
|
||||
{
|
||||
"slug": "bots-architecture",
|
||||
"title": "Architecture and lifecycle",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_BOTS,
|
||||
},
|
||||
{
|
||||
"slug": "bots-personas",
|
||||
"title": "Personas and voice",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_BOTS,
|
||||
},
|
||||
{
|
||||
"slug": "bots-content",
|
||||
"title": "Content generation and quality",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_BOTS,
|
||||
},
|
||||
{
|
||||
"slug": "bots-engagement",
|
||||
"title": "Engagement and interaction",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_BOTS,
|
||||
},
|
||||
{
|
||||
"slug": "bots-realism",
|
||||
"title": "Realism and design decisions",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_BOTS,
|
||||
},
|
||||
{
|
||||
"slug": "bots-config",
|
||||
"title": "Configuration and operations",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_BOTS,
|
||||
},
|
||||
# Services - the background service framework and every service in detail (admins only)
|
||||
{
|
||||
"slug": "services-overview",
|
||||
"title": "Services overview",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-framework",
|
||||
"title": "Service framework",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-data",
|
||||
"title": "Reading service data",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-gateway",
|
||||
"title": "GatewayService (AI)",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-devii",
|
||||
"title": "DeviiService",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-news",
|
||||
"title": "NewsService",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-bots",
|
||||
"title": "BotsService",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-zip",
|
||||
"title": "ZipService",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
{
|
||||
"slug": "services-containers",
|
||||
"title": "Container Manager",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_SERVICES,
|
||||
},
|
||||
# Architecture - platform design, structure, and development process (admins only)
|
||||
{
|
||||
"slug": "architecture",
|
||||
"title": "Architecture overview",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ARCH,
|
||||
},
|
||||
{
|
||||
"slug": "architecture-backend",
|
||||
"title": "Backend and request pipeline",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ARCH,
|
||||
},
|
||||
{
|
||||
"slug": "architecture-frontend",
|
||||
"title": "Frontend and components",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ARCH,
|
||||
},
|
||||
{
|
||||
"slug": "architecture-styling",
|
||||
"title": "Styling and templates",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ARCH,
|
||||
},
|
||||
{
|
||||
"slug": "architecture-conventions",
|
||||
"title": "Conventions and rules",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ARCH,
|
||||
},
|
||||
{
|
||||
"slug": "architecture-workflow",
|
||||
"title": "Development workflow",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ARCH,
|
||||
},
|
||||
{
|
||||
"slug": "architecture-jobs",
|
||||
"title": "Async job services",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_ARCH,
|
||||
},
|
||||
# Testing - test framework, load testing, and make targets (admins only)
|
||||
{
|
||||
"slug": "testing",
|
||||
"title": "Testing overview",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_TESTING,
|
||||
},
|
||||
{
|
||||
"slug": "testing-framework",
|
||||
"title": "Test framework and rules",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_TESTING,
|
||||
},
|
||||
{
|
||||
"slug": "testing-locust",
|
||||
"title": "Load testing with Locust",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_TESTING,
|
||||
},
|
||||
{
|
||||
"slug": "testing-make",
|
||||
"title": "Running tests via make",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_TESTING,
|
||||
},
|
||||
{
|
||||
"slug": "testing-cicd",
|
||||
"title": "Coverage and CI/CD",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_TESTING,
|
||||
},
|
||||
# Production - deployment and operations reference (admins only)
|
||||
{
|
||||
"slug": "production",
|
||||
"title": "Production overview",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_PROD,
|
||||
},
|
||||
{
|
||||
"slug": "production-deploy",
|
||||
"title": "Deploy and update",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_PROD,
|
||||
},
|
||||
{
|
||||
"slug": "production-nginx",
|
||||
"title": "nginx and networking",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_PROD,
|
||||
},
|
||||
{
|
||||
"slug": "production-concurrency",
|
||||
"title": "Multi-worker and concurrency",
|
||||
"kind": "prose",
|
||||
"admin": True,
|
||||
"section": SECTION_PROD,
|
||||
},
|
||||
]
|
||||
|
||||
PAGES_BY_SLUG = {page["slug"]: page for page in DOCS_PAGES}
|
||||
Reference in New Issue
Block a user