Noumenon Front
Relevant source files
The following files were used as context for generating this wiki page:
Noumenon Front is a web application designed as a search service for Final Fantasy XIV data. Its primary goal is to provide a high level of convenience for users seeking game-specific information. The project is currently in early development and is part of a larger ecosystem that includes specialized data extraction and orchestration tools.
Sources: apps/noumenon-front/README.en.md:3-6, README.md:14
System Ecosystem
Noumenon Front relies on a multi-tiered architecture within a monorepo to handle data processing from raw game files to a searchable frontend interface.
Architecture Overview
The system is composed of the frontend application supported by two critical backend packages:
- noumenon-gleaner: A Rust-based CLI tool responsible for extracting data and generating TypeScript schemas.
- noumenon-librarian: An orchestrator that manages the data pipeline.
The following diagram illustrates the relationship between these components:
The diagram shows the flow from raw data through the librarian and gleaner tools to the final frontend application.
Sources: AGENTS.md:25-33, packages/noumenon-librarian/README.md:1-12, README.md:21-22
Data Pipeline Components
Noumenon Gleaner (Data Extraction)
The Gleaner is a Rust CLI tool that performs the heavy lifting of data extraction. It converts CSV source data into structured formats and generates corresponding TypeScript interfaces to ensure type safety in the frontend.
Key Responsibilities:
- Extracting data schemas from source files.
- Generating TypeScript interfaces (e.g.,
schemas.ts). - Validating CSV formats against expected structures (key, description, type, and data rows).
Sources: packages/noumenon-gleaner/README.md:5-7, packages/noumenon-gleaner/src/main.rs:27-37, packages/noumenon-gleaner/src/main.rs:69-82
Noumenon Librarian (Orchestration)
The Librarian serves as the pipeline orchestrator. It is responsible for managing the lifecycle of data before it reaches the frontend.
Planned Workflow:
| Step | Description |
|---|---|
| Load | Retrieve raw data from external repositories. |
| Process | Execute noumenon-gleaner using the raw data. |
| Distribute | Copy generated schema files to the noumenon-data-schema package. |
| Version | Create changesets for data schema updates. |
Sources: packages/noumenon-librarian/README.md:6-12, packages/noumenon-librarian/package.json:15-18
Technical Implementation
The project utilizes a modern stack to ensure performance and maintainability.
Core Technology Stack
- Language: TypeScript (Frontend/Orchestration) and Rust (CLI tools).
- Package Management: Bun (version 1.3.4+).
- Build Orchestration: Turborepo.
- Data Handling: Effect TS (used within the Librarian for functional effects and SQL interactions).
Sources: AGENTS.md:7-10, AGENTS.md:39-46, packages/noumenon-librarian/package.json:12-20
Execution Sequence
The following sequence diagram depicts the initialization and build process for the data tools that support Noumenon Front:
The diagram represents the build-time dependency where the Librarian utilizes the Gleaner's output.
Sources: packages/noumenon-gleaner/package.json:10-13, packages/noumenon-librarian/package.json:6-18, AGENTS.md:62-67
Conclusion
Noumenon Front is the presentation layer of a sophisticated data pipeline designed for Final Fantasy XIV. While the frontend provides the user interface for searching, the underlying Rust and TypeScript infrastructure (Gleaner and Librarian) ensures that game data is accurately extracted, typed, and updated through an automated orchestration process.