Multiple Entry Points Architecture
SkillDev toolsExpert guide for designing and implementing Multiple Entry Points architecture in web applications / Panduan ahli untuk merancang dan mengimplementasikan arsitektur Multiple Entry Points pada aplikasi web.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Multiple Entry Points Architecture skill
What this skill tells your AI
The instructions your AI receives, as published by roedyrustam/vibes-plug in skills/multiple-entry-points/SKILL.md and read by ahel’s review.
English | Bahasa Indonesia
English
Orchestration & Integration
Connects and orchestrates with relevant domain skills like brainstorming, zero-to-prod-orchestrator, and project-context-mapper to ensure cohesive execution.
Description
This skill outlines the architectural pattern of using Multiple Entry Points in a web application. Instead of forcing all traffic through a single Front Controller (like a monolithic index.php), the application separates traffic logically into distinct entry files such as index.php (public), admin.php, and api.php. This provides stronger isolation, optimized loading, and stricter security boundaries.
Core Principles of Multiple Entry Points
- Logical Separation: Isolate different application domains into their own entry files. For example:
public/index.phpfor user-facing pages,public/admin.phpfor back-office operations, andpublic/api.phpfor stateless API routes. - Dedicated Bootstrapping: Each entry point can bootstrap only the necessary dependencies, configurations, and middlewares it requires. For example,
api.phpdoes not need to initialize HTML template engines or stateful session cookies, whileadmin.phpcan enforce strict authentication middleware immediately upon execution. - Security Boundaries: By physically separating entry points, you can apply distinct server-level security rules (via
.htaccess, Nginx configurations, or WAF). For example, you can restrict access toadmin.phpto specific internal IP addresses or enforce mutual TLS. - Frontend Asset Bundling (Vite / Webpack): In a modern frontend context (especially for MPAs), define multiple entry points in the bundler configuration. This generates separate, optimized JavaScript and CSS bundles for the public site versus the complex admin dashboard, drastically reducing overall payload sizes for general users.
Implementation Checklist
- Create separate HTML entry points in the root/public directory (e.g.,
index.html,admin.html). - Configure the frontend bundler (Vite/Webpack) to output multiple bundles.
- Set up server-side routing (Nginx or Node.js) to serve the correct entry HTML based on the URL path.
- Ensure shared components and utilities are properly tree-shaken and split into common chunks.
Example: Vite Config for Multiple Entries
import { defineConfig } from 'vite';
import { resolve } from 'path';
export default defineConfig({
build: {
rollupOptions: {
input: {
main: resolve(__dirname, 'index.html'),
admin: resolve(__dirname, 'admin.html'),
app: resolve(__dirname, 'app.html')
}
}
}
});
Orchestration with Other Skills
- With
mpa-orchestrator: In a Multi-Page Application, multiple entry points allow you to split heavy dashboard assets from fast-loading public marketing pages, enhancing both SEO and performance. - With
mvc-expert: Each entry point acts as a distinct Front Controller, initiating its own lightweight Router instance configured specifically for that domain's controllers (e.g., an AdminRouter vs an ApiRouter). - With
saas-multi-tenant: You can design atenant.phpentry point that strictly mandates a validtenant_idresolution before bootstrapping the app, while alanding.phpentry point handles anonymous public traffic safely.
Trigger Conditions
- Active when building or refactoring applications that require strict separation between public, admin, and API traffic.
- Active when optimizing frontend bundler configurations (like Vite) for Multi-Page Applications.
Bahasa Indonesia
Integrasi Orkestrasi
Terhubung dan mengorkestrasi skill domain yang relevan seperti brainstorming, zero-to-prod-orchestrator, dan project-context-mapper untuk memastikan eksekusi yang kohesif.
Deskripsi
Skill ini menguraikan pola arsitektur menggunakan Multiple Entry Points dalam aplikasi web. Alih-alih memaksa semua lalu lintas (traffic) melalui satu Front Controller tunggal (seperti index.php monolitik), aplikasi memisahkan lalu lintas secara logis ke dalam file entri yang berbeda seperti index.php (publik), admin.php, dan api.php. Pola ini memberikan isolasi yang lebih kuat, pemuatan (loading) yang dioptimalkan, dan batas keamanan yang lebih ketat.
Prinsip Inti Multiple Entry Points
- Pemisahan Logis: Isolasi domain aplikasi yang berbeda ke dalam file entrinya masing-masing. Contoh:
public/index.phpuntuk pengguna umum,public/admin.phpuntuk operasional back-office, danpublic/api.phpuntuk rute API yang stateless. - Bootstrapping Terdedikasi: Setiap titik masuk (entry point) hanya memuat dependensi, konfigurasi, dan middleware yang benar-benar diperlukannya. Contohnya,
api.phptidak perlu menginisialisasi template engine HTML atau session cookies, sementaraadmin.phpdapat langsung memberlakukan middleware autentikasi secara ketat sejak awal file dieksekusi. - Batas Keamanan (Security Boundaries): Dengan memisahkan titik masuk secara fisik, Anda dapat menerapkan aturan keamanan tingkat server yang berbeda (melalui
.htaccess, konfigurasi Nginx, atau WAF). Misalnya, membatasi akses keadmin.phphanya untuk alamat IP internal tertentu. - Bundling Aset Frontend (Vite / Webpack): Dalam konteks frontend modern (khususnya untuk MPA), tentukan beberapa entry points pada konfigurasi bundler. Ini akan menghasilkan bundel JavaScript dan CSS yang terpisah dan optimal antara situs publik dan dashboard admin, sehingga secara drastis mengurangi ukuran payload bagi pengguna umum.
Checklist Implementasi
- Buat titik entri HTML terpisah di direktori utama/publik (misal:
index.html,admin.html). - Konfigurasi bundler frontend (Vite/Webpack) untuk menghasilkan multiple bundle.
- Siapkan routing di sisi server (Nginx atau Node.js) untuk menyajikan HTML entri yang benar berdasarkan path URL.
- Pastikan komponen dan utilitas yang dipakai bersama dioptimalkan (tree-shaking) dan dipisah ke dalam common chunks.
Orkestrasi dengan Skill Lain
- Dengan
mpa-orchestrator: Dalam aplikasi MPA, penggunaan beberapa entry point memungkinkan Anda memisahkan aset dashboard yang berat dari halaman marketing publik yang butuh kecepatan muat tinggi, sehingga meningkatkan SEO dan performa sekaligus. - Dengan
mvc-expert: Setiap entry point bertindak sebagai Front Controller yang terpisah, menginisiasi instans Router yang ringan dan dikonfigurasi khusus untuk controller di domain tersebut (misalnya AdminRouter vs ApiRouter). - Dengan
saas-multi-tenant: Anda dapat memiliki entry pointtenant.phpyang secara ketat mewajibkan resolusitenant_idyang valid sebelum memuat aplikasi, sementara entry pointlanding.phpmelayani lalu lintas publik anonim dengan aman.
Kondisi Pemicu
- Aktif saat membangun atau melakukan refaktor aplikasi yang membutuhkan pemisahan ketat antara lalu lintas publik, admin, dan API.
- Aktif saat mengoptimalkan konfigurasi bundler frontend (seperti Vite) untuk proyek Multi-Page Application.
Signals
- GitHub stars
- 50
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
multiple-entry-points- Source
- github.com/roedyrustam/vibes-plug