# Routing The Epic Stack uses file-based routing with React Router. However, it's not using the built-in routing convention of React Router and instead is using [react-router-auto-routes](https://github.com/kenn/react-router-auto-routes) which is a special implementation of the React Router convention that adds a few features. You'll find it configured for the application in the `app/routes.ts` file at the root of the app. We'll defer to the `react-router-auto-routes` documentation for specifics, but an important thing for you to know as you get used to this convention is you can always run `npx react-router routes` from the root of the app and it will output the routes of your application in a JSX-like output that will reveal the routes that will be generated based on your current file structure. Here's an example of the Epic Stack routes at the time of this writing: ``` app/routes ├── $.tsx ├── me.tsx ├── _auth │ ├── forgot-password.tsx │ ├── login.tsx │ ├── logout.tsx │ ├── reset-password.tsx │ ├── signup.tsx │ ├── verify.tsx │ ├── auth.$provider │ │ ├── callback.ts │ │ └── index.ts │ ├── onboarding │ │ ├── $provider.tsx │ │ └── index.tsx │ └── webauthn │ ├── authentication.ts │ └── registration.ts ├── _marketing │ ├── about.tsx │ ├── index.tsx │ ├── privacy.tsx │ ├── support.tsx │ ├── tos.tsx │ └── +logos │ ├── logos.ts │ └── ... ├── _seo │ ├── robots[.]txt.ts │ └── sitemap[.]xml.ts ├── admin │ └── cache │ ├── index.tsx │ ├── lru.$cacheKey.ts │ ├── sqlite.$cacheKey.ts │ └── sqlite.tsx ├── resources │ ├── download-user-data.tsx │ ├── healthcheck.tsx │ ├── images.tsx │ └── theme-switch.tsx ├── settings │ └── profile │ ├── _layout.tsx │ ├── change-email.tsx │ ├── connections.tsx │ ├── index.tsx │ ├── passkeys.tsx │ ├── password.tsx │ ├── password_.create.tsx │ ├── photo.tsx │ └── two-factor │ ├── _layout.tsx │ ├── disable.tsx │ ├── index.tsx │ └── verify.tsx └── users ├── index.tsx └── $username ├── index.tsx └── notes ├── $noteId.tsx ├── $noteId_.edit.tsx ├── _layout.tsx ├── index.tsx └── new.tsx 17 directories, 72 files ``` ```tsx ``` Basically, react-router-auto-routes allows us to get the best of both worlds: - Colocation of routes to the code they use - Organized folder structure to keep routes together as needed If you're familiar with the React Router routing convention, just think of it this way, react-router-auto-routes takes `+` prefix for colocated modules.