Folder structure from GitRay - jonasyr/gitray GitHub Wiki
██████╗ ██╗████████╗██████╗ █████╗ ██╗ ██╗
██╔════╝ ██║╚══██╔══╝██╔══██╗██╔══██╗╚██╗ ██╔╝
██║ ███╗██║ ██║ ██████╔╝███████║ ╚████╔╝
██║ ██║██║ ██║ ██╔══██╗██╔══██║ ╚██╔╝
╚██████╔╝██║ ██║ ██║ ██║██║ ██║ ██║
╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝
Official Wiki of the GitRay Repository!
Table of Contents
Description
This is a structure of folder structure from GitRay. It is constantly updated.
Each file deals with:
- Purpose of the folder / file
- Content & Responsibilities
- Important functions & variables
- Dependencies
- Note comments in the code
Structure
gitray/
├── package.json
├── tsconfig.json
├── sonar-project.properties
├── prettier.config.js
├── .npmrc
├── CLAUDE.md
├── eslint.config.mjs
├── AGENTS.md
├── .markdownlint-cli2.yaml
├── README.md
├── pnpm-workspace.yaml
├── jest.config.cjs
├── .gitignore
├── Strategy.md
├── .husky/
│ ├── pre-commit
│ └── _/
│ ├── husky.sh
│ └── .gitignore
├── apps/
│ ├── frontend/
│ │ ├── tsconfig.jest.json
│ │ ├── package.json
│ │ ├── tsconfig.json
│ │ ├── tsconfig.node.json
│ │ ├── jest.setup.react19.ts
│ │ ├── postcss.config.cjs
│ │ ├── tailwind.config.cjs
│ │ ├── jest.setup.ts
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── jest.config.cjs
│ │ ├── index.html
│ │ ├── vite.config.ts
│ │ ├── .gitignore
│ │ ├── tsconfig.app.json
│ │ ├── src/
│ │ │ ├── main.tsx
│ │ │ ├── index.css
│ │ │ ├── App.css
│ │ │ ├── App.tsx
│ │ │ ├── vite-env.d.ts
│ │ │ ├── styles/
│ │ │ │ └── heatmap.css
│ │ │ ├── types/
│ │ │ │ └── react-calendar-heatmap.d.ts
│ │ │ ├── services/
│ │ │ │ └── api.ts
│ │ │ ├── pages/
│ │ │ │ └── MainPage.tsx
│ │ │ ├── components/
│ │ │ │ ├── CommitList.tsx
│ │ │ │ ├── RepoInput.tsx
│ │ │ │ └── ActivityHeatmap.tsx
│ │ │ ├── utils/
│ │ │ │ └── dateUtils.ts
│ │ │ └── assets/
│ │ │ └── react.svg
│ │ ├── __tests__/
│ │ │ ├── main.test.tsx
│ │ │ ├── App.test.tsx
│ │ │ ├── services/
│ │ │ │ ├── api.test.tsx
│ │ │ │ └── apiExtended.test.tsx
│ │ │ ├── pages/
│ │ │ │ └── MainPage.test.tsx
│ │ │ ├── components/
│ │ │ │ ├── ActivityHeatmap.test.tsx
│ │ │ │ └── CommitList.test.tsx
│ │ │ └── utils/
│ │ │ └── dateUtils.test.tsx
│ │ ├── __mocks__/
│ │ │ ├── fileMock.cjs
│ │ │ └── ansi-styles.cjs
│ │ └── public/
│ │ └── vite.svg
│ └── backend/
│ ├── package.json
│ ├── tsconfig.json
│ ├── package-lock.json
│ ├── .npmrc
│ ├── jest.config.js
│ ├── .tsbuildinfo
│ ├── .env
│ ├── src/
│ │ ├── config.ts
│ │ ├── index.ts
│ │ ├── middlewares/
│ │ │ ├── errorHandler.ts
│ │ │ ├── validation.ts
│ │ │ └── requestId.ts
│ │ ├── services/
│ │ │ ├── metrics.ts
│ │ │ ├── logger.ts
│ │ │ ├── gitService.ts
│ │ │ └── cache.ts
│ │ ├── routes/
│ │ │ ├── healthRoutes.ts
│ │ │ ├── repositoryRoutes.ts
│ │ │ ├── commitRoutes.js
│ │ │ ├── index.ts
│ │ │ └── commitRoutes.ts
│ │ └── utils/
│ │ ├── withTempRepository.ts
│ │ ├── gitUtils.ts
│ │ ├── gracefulShutdown.ts
│ │ └── cleanupScheduler.ts
│ ├── $HOME/
│ │ └── .cache/
│ │ └── gitray/
│ │ ├── ad257aadd1e63e268755a631bb610cccb8d16fa6/
│ │ ├── 00f621adc21aab65c84c0a78547518d8441edca7/
│ │ ├── 631e334753f9e9c72af943bdf54c06ab7283b2ec/
│ │ └── f51d9f4ea9c2c0afa0833a3e6f468966c8cd57f6/
│ ├── __tests__/
│ │ ├── aggregateCommits.test.ts
│ │ ├── index.test.ts
│ │ ├── middlewares/
│ │ │ └── errorHandler.test.ts
│ │ ├── services/
│ │ │ ├── cache.test.ts
│ │ │ └── gitService.test.ts
│ │ ├── routes/
│ │ │ ├── healthRoutes.test.ts
│ │ │ ├── commitRoutes.test.ts
│ │ │ ├── repositoryRoutes.test.ts
│ │ │ └── index.test.ts
│ │ └── utils/
│ │ └── gracefulShutdown.test.ts
│ ├── perf/
│ │ ├── report.json
│ │ ├── tsconfig.json
│ │ ├── install-k6.sh
│ │ ├── test-repos.csv
│ │ ├── load-test.ts
│ │ ├── README.md
│ │ ├── examples.sh
│ │ ├── .gitignore
│ │ └── report.html
│ └── coverage/
│ ├── clover.xml
│ ├── coverage-final.json
│ ├── lcov.info
│ └── lcov-report/
│ ├── prettify.css
│ ├── prettify.js
│ ├── favicon.png
│ ├── sorter.js
│ ├── base.css
│ ├── block-navigation.js
│ ├── index.html
│ └── sort-arrow-sprite.png
├── coverage/
│ ├── clover.xml
│ ├── coverage-final.json
│ ├── lcov.info
│ ├── lcov-report/
│ │ ├── prettify.css
│ │ ├── prettify.js
│ │ ├── favicon.png
│ │ ├── sorter.js
│ │ ├── base.css
│ │ ├── block-navigation.js
│ │ ├── index.html
│ │ ├── sort-arrow-sprite.png
│ │ ├── frontend/
│ │ │ └── src/
│ │ │ ├── App.tsx.html
│ │ │ ├── index.html
│ │ │ └── services/
│ │ │ ├── api.ts.html
│ │ │ └── index.html
│ │ └── apps/
│ │ ├── frontend/
│ │ │ └── src/
│ │ │ ├── App.tsx.html
│ │ │ ├── index.html
│ │ │ ├── services/
│ │ │ │ ├── api.ts.html
│ │ │ │ └── index.html
│ │ │ ├── pages/
│ │ │ │ ├── MainPage.tsx.html
│ │ │ │ └── index.html
│ │ │ ├── components/
│ │ │ │ ├── ActivityHeatmap.tsx.html
│ │ │ │ ├── CommitList.tsx.html
│ │ │ │ ├── index.html
│ │ │ │ └── RepoInput.tsx.html
│ │ │ └── utils/
│ │ │ ├── dateUtils.ts.html
│ │ │ └── index.html
│ │ └── backend/
│ │ └── src/
│ │ ├── config.ts.html
│ │ ├── index.ts.html
│ │ ├── index.html
│ │ ├── middlewares/
│ │ │ ├── validation.ts.html
│ │ │ ├── index.html
│ │ │ ├── errorHandler.ts.html
│ │ │ └── requestId.ts.html
│ │ ├── services/
│ │ │ ├── metrics.ts.html
│ │ │ ├── gitService.ts.html
│ │ │ ├── logger.ts.html
│ │ │ ├── cache.ts.html
│ │ │ └── index.html
│ │ ├── routes/
│ │ │ ├── healthRoutes.ts.html
│ │ │ ├── commitRoutes.ts.html
│ │ │ ├── repositoryRoutes.ts.html
│ │ │ ├── index.ts.html
│ │ │ └── index.html
│ │ └── utils/
│ │ ├── withTempRepository.ts.html
│ │ ├── cleanupScheduler.ts.html
│ │ ├── gitUtils.ts.html
│ │ ├── gracefulShutdown.ts.html
│ │ └── index.html
│ └── backend/
│ └── src/
│ ├── services/
│ │ ├── index.html
│ │ └── gitService.js.html
│ └── routes/
│ ├── index.html
│ └── repositoryRoutes.js.html
│ └── packages/
│ └── shared-types/
│ └── src/
│ ├── index.ts.html
│ └── index.html
├── packages/
│ └── shared-types/
│ ├── package.json
│ ├── tsconfig.json
│ ├── tsconfig.esm.json
│ ├── tsconfig.tsbuildinfo
│ └── src/
│ ├── index.ts
│ ├── tsconfig.esm.tsbuildinfo
│ ├── tsconfig.tsbuildinfo
│ ├── cjs/
│ │ ├── index.js
│ │ ├── index.d.ts.map
│ │ └── index.d.ts
│ └── esm/
│ ├── index.js
│ ├── index.d.ts.map
│ └── index.d.ts
└── .github/
├── ISSUE_TEMPLATE/
│ └── best-practice-issue-template.md
└── workflows/
└── ci.yml