Imported from maul-lq/Pebel-Perpus (
AGENTS.md). Install upstream withnpx skills add maul-lq/Pebel-Perpus. Copyright stays with the author.
AGENTS.md
Overview
This is the root folder of BookEZ (PBL-Perpustakaan), a PHP-based MVC web application for library room booking and management at PNJ (Politeknik Negeri Jakarta). The application provides authentication, room booking (for members and external users), check-in workflows, reporting, feedback, and admin management features. It follows a classic MVC architecture with controller/, model/, and view/ folders, supported by client-side assets and centralized configuration. Tailwind CSS is used for styling (built via CLI), and the project is served from an Apache-compatible htdocs directory with URL routing handled through .htaccess and a single index.php entry point.
Key Components
-
index.php: The application's single entry point (front controller). All HTTP requests are routed through this file (via
.htaccessrewriting), which dispatches to the appropriate controller and action. It bootstraps configuration, session handling, and request routing for the entire application. -
.htaccess: Apache URL rewrite configuration that directs all incoming requests to
index.php, enabling clean URLs and centralized routing. Critical for the front-controller pattern used by the application. -
.gitignore: Version control exclusion rules for the project, filtering out environment-specific and generated files from the repository.
-
.hintrc: Linting/hint configuration file for the project, likely used for code quality tooling in the development environment.
-
package.json: Node.js project manifest defining the project as
pbl-perpustakaanv1.0.0. It declarestailwindcssand@tailwindcss/clias dependencies, and provides two npm scripts:build:css(minified Tailwind build fromassets/css/input.csstoassets/css/main.css) andwatch:css(continuous rebuild during development). -
FLOW_FITUR.md: Comprehensive feature-flow documentation mapping each application feature (Login/Register, Booking, Dashboard, Admin, Feedback, etc.) to its corresponding View, Controller, Model, and JS/CSS files. Serves as a developer guide for understanding end-to-end data flow across the MVC layers.
-
langkah.md: Step-by-step Apache JMeter load/performance testing guide for BookEZ test case F-KR-01, including automatic once-per-thread admin login using the fixed testing CAPTCHA, 10 concurrent users, ten distinct per-process bandwidth profiles, assertions, CLI execution, and report analysis.
-
.codex/skills/bookez-ez/SKILL.md: Local repository skill configuration for deep BookEZ task execution. It is designed to trigger on explicit skill calls or
EZ:prefixed requests and guides end-to-end analysis across MVC, assets, and documentation updates. -
.codex/skills/mccabe-complexity/SKILL.md: Repo-local McCabe/cyclomatic complexity skill for JavaScript and TypeScript analysis. It provides BookEZ-ready commands for scanning
assets/js, ships the bundledmccabe-scan.jsanalyzer, and documents repo-safe usage that excludes.codexfrom root-level hotspot summaries. -
favicon.ico: The browser tab icon for the application.
Sub-folders
-
assets/: Client-side static resources including JavaScript files for admin UI interactions, authentication, and booking check-in workflows, bundled CAPTCHA font assets, as well as CSS assets built with Tailwind CSS.
-
assets/fonts/: Bundled font assets used by the server-rendered CAPTCHA endpoint so distorted glyphs render consistently across environments.
-
config/: Infrastructure configuration files for email settings and database connectivity (with an example/template connection file).
-
controller/: PHP controller files organized by feature domain (Admin, Account, Booking, Dashboard, Login, Profile, Register), handling request routing and coordinating model/view interactions.
-
model/: PHP model-layer files for data access across core entities — accounts, bookings (internal and external), members, rooms, schedules, reports, feedback, and application settings.
-
view/: Page-level PHP view files for the presentation layer, including authentication pages, dashboard, feedback, error handling, and organized sub-folders for admin, booking, profile, and shared components.
-
sql/: Database schema or migration SQL files for the application's data layer. No AGENTS.md documentation exists for this sub-folder.
-
.github/: GitHub-specific configuration (e.g., workflows, issue templates, PR templates) for CI/CD and repository management.
-
.vscode/: VS Code workspace settings for consistent editor configuration across developers.
-
.codex/: Repository-local Codex skill storage. Contains project-specific automation guidance and references under
.codex/skills/so skills are versioned with this codebase instead of global user scope. -
jmeter-f-kr-01/: Apache JMeter assets for load/performance testing test case F-KR-01. The
F-KR-01.jmxplan performs once-per-thread Admin login and repeatedly measures the Kelola Ruangan page;run-10-users-different-speeds.ps1launches ten parallel one-user JMeter engines with ten distinct CPS profiles and writes a consolidated result summary.
For More Details
- For client-side JavaScript and CSS assets: See assets/AGENTS.md
- For application configuration (email, database): See config/AGENTS.md
- For request handling and routing logic: See controller/AGENTS.md
- For data access and domain models: See model/AGENTS.md
- For UI templates and page views: See view/AGENTS.md
- For local project skill behavior: See .codex/skills/bookez-ez/SKILL.md
- For local JS/TS complexity analysis skill behavior: See .codex/skills/mccabe-complexity/SKILL.md
Related Folders/Files
- assets/css/input.css → assets/css/main.css: Tailwind CSS build pipeline defined in
package.json; thebuild:cssandwatch:cssscripts transform the input CSS into the production stylesheet consumed by views. - FLOW_FITUR.md: Documents the complete feature-to-file mapping across controller, model, view, and JS layers — essential reference when tracing end-to-end feature flows.
📝 Maintenance Instructions
When making changes to this folder, please update this AGENTS.md file:
- Add new files to the Key Components section
- Update descriptions if file responsibilities change significantly
- Document new sub-folders when they are added
- Keep the overview current with architectural changes
This documentation helps future developers (and AI agents) understand the codebase quickly.