✨ Feature Description
Add a well-structured Project Structure section to the README.md file.
Currently, the README provides project information, but it lacks a clear overview of the repository’s folder and file organization. A dedicated project structure section would help contributors understand the codebase faster and navigate important directories with ease.
🤔 Problem It Solves
New contributors often need time to understand where routes, components, APIs, modules, tests, configuration files, and templates are located.
This feature would help:
- New open-source contributors
- GSSoC participants
- Maintainers reviewing documentation
- Developers trying to understand the project architecture quickly
A documented file structure improves onboarding and makes the repository more contributor-friendly.
💡 Proposed Solution
Add the following Project Structure section to the README.md file:
Project Structure
Editron/
├── .github/ # CI workflows, issue & PR templates
├── app/ # Next.js App Router
│ ├── (auth)/ # Authenticated route group
│ │ └── auth/
│ │ ├── components/ # Auth-specific UI components
│ │ ├── layout.tsx
│ │ └── sign-in/
│ │ └── page.tsx
│ ├── (root)/ # Public route group
│ │ ├── docs/
│ │ │ ├── layout.tsx
│ │ │ └── page.tsx
│ │ ├── privacy/
│ │ │ └── page.tsx
│ │ ├── templates/
│ │ │ ├── layout.tsx
│ │ │ └── page.tsx
│ │ ├── terms/
│ │ │ └── page.tsx
│ │ ├── layout.tsx
│ │ └── page.tsx # Home page
│ ├── api/
│ │ ├── auth/[...nextauth]/route.ts
│ │ ├── chat/
│ │ │ ├── route.ts # Streaming AI chat endpoint
│ │ │ ├── tools.ts # Tool definitions for AI
│ │ │ └── chat.test.ts
│ │ ├── collab-token/[id]/route.ts
│ │ ├── completion/route.ts # Code completion endpoint
│ │ ├── delete-account/route.ts
│ │ ├── deploy/
│ │ │ ├── cloudflare/route.ts
│ │ │ ├── netlify/route.ts
│ │ │ └── vercel/route.ts
│ │ ├── projects/[id]/download/route.ts
│ │ ├── template/[id]/route.ts
│ │ ├── templates/meta/route.ts
│ │ └── upload-zip/route.ts
│ ├── dashboard/
│ │ ├── layout.tsx
│ │ └── page.tsx
│ ├── playground/[id]/
│ │ └── page.tsx # Main editor shell
│ ├── preview/
│ │ └── page.tsx # Sandbox preview route
│ ├── error.tsx
│ ├── icon.tsx
│ ├── layout.tsx
│ └── page.tsx
├── components/
│ ├── marketing/ # Landing page components
│ │ ├── home-page-client.tsx
│ │ ├── template-card.tsx
│ │ └── template-grid.tsx
│ ├── providers/ # React context providers
│ │ ├── query-provider.tsx
│ │ └── theme-providers.tsx
│ └── ui/ # shadcn/ui primitives and custom components
├── lib/
│ ├── constants/
│ │ ├── config.ts
│ │ ├── template-summaries.ts
│ │ └── templates.ts # Starter template registry
│ ├── templates/
│ │ ├── actions.ts
│ │ ├── actions.test.ts
│ │ └── types.ts
│ ├── api-utils.ts # HTTP client helpers
│ ├── collab-token.ts # Collaboration token utilities
│ ├── db.ts # Prisma client singleton
│ ├── playground-auth.ts # Playground access control
│ ├── template.ts # Template mapping and processing
│ ├── user-data.ts # User data helpers
│ ├── utils.ts # General utilities
│ └── yjs.ts # Yjs document helpers
├── modules/
│ ├── auth/
│ │ ├── actions/
│ │ ├── components/
│ │ ├── hooks/
│ │ └── types.ts
│ ├── dashboard/
│ │ ├── actions/
│ │ ├── components/
│ │ └── types.ts
│ ├── home/ # Home page sections and components
│ ├── playground/
│ │ ├── components/
│ │ ├── hooks/
│ │ └── lib/
│ │ ├── editor-config.ts
│ │ ├── index.ts
│ │ └── path-to-json.ts
│ ├── profile/
│ │ ├── actions.ts
│ │ ├── components/
│ │ └── data/
│ └── webcontainers/
│ ├── components/
│ └── hooks/
├── server/
│ └── collab.ts # Standalone Yjs/WebSocket collaboration server
├── editron-starters/ # Bundled starter templates
│ ├── frontend/
│ ├── full-stack/
│ ├── backend/
│ └── tooling/
├── prisma/
│ └── schema.prisma
├── public/
├── tests/
│ ├── __mocks__/
│ ├── smoke/
│ ├── collab-token.test.ts
│ ├── env-manager.test.tsx
│ └── setup.ts
├── types/
│ ├── next-auth.d.ts
│ └── y-websocket.d.ts
├── .env.example
├── next.config.ts
└── package.json
This section can be placed after the setup instructions or before the contribution guidelines so contributors can easily find it.
🔄 Alternatives Considered
An alternative would be to create a separate ARCHITECTURE.md file for explaining the repository structure in more detail.
However, adding a concise project structure directly to the README is more accessible for new contributors because the README is usually the first file they read.
📸 Mockups / Examples
Not applicable, as this is a documentation improvement.
✅ Acceptance Criteria
📋 Additional Context
This improvement will make the repository easier to understand for first-time contributors and open-source participants, especially those contributing through GSSoC.
🌱 Contributor Checklist
✨ Feature Description
Add a well-structured Project Structure section to the
README.mdfile.Currently, the README provides project information, but it lacks a clear overview of the repository’s folder and file organization. A dedicated project structure section would help contributors understand the codebase faster and navigate important directories with ease.
🤔 Problem It Solves
New contributors often need time to understand where routes, components, APIs, modules, tests, configuration files, and templates are located.
This feature would help:
A documented file structure improves onboarding and makes the repository more contributor-friendly.
💡 Proposed Solution
Add the following Project Structure section to the
README.mdfile:Project Structure
This section can be placed after the setup instructions or before the contribution guidelines so contributors can easily find it.
🔄 Alternatives Considered
An alternative would be to create a separate
ARCHITECTURE.mdfile for explaining the repository structure in more detail.However, adding a concise project structure directly to the README is more accessible for new contributors because the README is usually the first file they read.
📸 Mockups / Examples
Not applicable, as this is a documentation improvement.
✅ Acceptance Criteria
README.md📋 Additional Context
This improvement will make the repository easier to understand for first-time contributors and open-source participants, especially those contributing through GSSoC.
🌱 Contributor Checklist