initial commit: project structure and turborepo setup

This commit is contained in:
divyap 2026-03-25 22:49:00 +05:30
commit 1a7920ffb4
11 changed files with 2235 additions and 0 deletions

42
.gitignore vendored Normal file
View File

@ -0,0 +1,42 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# Dependencies
node_modules
.pnp
.pnp.js
# Local env files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Testing
coverage
# Turbo
.turbo
# Vercel
.vercel
# Build Outputs
.next/
out/
build
dist
# Debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Misc
.DS_Store
*.pem
.npmrc

159
README.md Normal file
View File

@ -0,0 +1,159 @@
# Turborepo starter
This Turborepo starter is maintained by the Turborepo core team.
## Using this example
Run the following command:
```sh
npx create-turbo@latest
```
## What's inside?
This Turborepo includes the following packages/apps:
### Apps and Packages
- `docs`: a [Next.js](https://nextjs.org/) app
- `web`: another [Next.js](https://nextjs.org/) app
- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
### Utilities
This Turborepo has some additional tools already setup for you:
- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting
### Build
To build all apps and packages, run the following command:
With [global `turbo`](https://turborepo.dev/docs/getting-started/installation#global-installation) installed (recommended):
```sh
cd my-turborepo
turbo build
```
Without global `turbo`, use your package manager:
```sh
cd my-turborepo
npx turbo build
yarn dlx turbo build
pnpm exec turbo build
```
You can build a specific package by using a [filter](https://turborepo.dev/docs/crafting-your-repository/running-tasks#using-filters):
With [global `turbo`](https://turborepo.dev/docs/getting-started/installation#global-installation) installed:
```sh
turbo build --filter=docs
```
Without global `turbo`:
```sh
npx turbo build --filter=docs
yarn exec turbo build --filter=docs
pnpm exec turbo build --filter=docs
```
### Develop
To develop all apps and packages, run the following command:
With [global `turbo`](https://turborepo.dev/docs/getting-started/installation#global-installation) installed (recommended):
```sh
cd my-turborepo
turbo dev
```
Without global `turbo`, use your package manager:
```sh
cd my-turborepo
npx turbo dev
yarn exec turbo dev
pnpm exec turbo dev
```
You can develop a specific package by using a [filter](https://turborepo.dev/docs/crafting-your-repository/running-tasks#using-filters):
With [global `turbo`](https://turborepo.dev/docs/getting-started/installation#global-installation) installed:
```sh
turbo dev --filter=web
```
Without global `turbo`:
```sh
npx turbo dev --filter=web
yarn exec turbo dev --filter=web
pnpm exec turbo dev --filter=web
```
### Remote Caching
> [!TIP]
> Vercel Remote Cache is free for all plans. Get started today at [vercel.com](https://vercel.com/signup?utm_source=remote-cache-sdk&utm_campaign=free_remote_cache).
Turborepo can use a technique known as [Remote Caching](https://turborepo.dev/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup?utm_source=turborepo-examples), then enter the following commands:
With [global `turbo`](https://turborepo.dev/docs/getting-started/installation#global-installation) installed (recommended):
```sh
cd my-turborepo
turbo login
```
Without global `turbo`, use your package manager:
```sh
cd my-turborepo
npx turbo login
yarn exec turbo login
pnpm exec turbo login
```
This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
With [global `turbo`](https://turborepo.dev/docs/getting-started/installation#global-installation) installed:
```sh
turbo link
```
Without global `turbo`:
```sh
npx turbo link
yarn exec turbo link
pnpm exec turbo link
```
## Useful Links
Learn more about the power of Turborepo:
- [Tasks](https://turborepo.dev/docs/crafting-your-repository/running-tasks)
- [Caching](https://turborepo.dev/docs/crafting-your-repository/caching)
- [Remote Caching](https://turborepo.dev/docs/core-concepts/remote-caching)
- [Filtering](https://turborepo.dev/docs/crafting-your-repository/running-tasks#using-filters)
- [Configuration Options](https://turborepo.dev/docs/reference/configuration)
- [CLI Usage](https://turborepo.dev/docs/reference/command-line-reference)

10
Week-1/GeneralNotes.md Normal file
View File

@ -0,0 +1,10 @@
# General Notes - Week 1
## Day 1
-
## Day 2
-
## Day 3
-
## Day 4
-

60
Week-1/Task-1/report.md Normal file
View File

@ -0,0 +1,60 @@
# Task: [Feature Name]
## Objective
What is the feature trying to do?
## Vanilla three.js
-Possible: Yes / Partial / No
-Notes:
-Key concepts:
-Complexity: Easy / Medium / Hard
## R3F
-Possible: Yes / Partial / No
-Notes:
-What R3F abstracted:
-Complexity: Easy / Medium / Hard
## Thob Page Builder
-Possible: Yes / Partial / No
-Notes:
-Builder steps:
-Complexity: Easy / Medium / Hard
## Comparison Summary
-Possible in all 3? Yes / Partial / No
-Main differences:
-Where Thob is better:
-Where Thob is weaker:
-What feels awkward or unclear:
## Limitation Type (if any)
-[ ] Editor UX limitation
-[ ] Runtime limitation
-[ ] Schema / data model limitation
-[ ] Component limitation
-[ ] Event system limitation
-[ ] Asset pipeline limitation
-[ ] Unknown / needs investigation
## Workaround
-Is there a workaround?
-If yes, what is it?
## Suggested Improvement
-What should improve in Thob?
-Is it:
-editor
-runtime
-component
-UX
-schema/data
## Difficulty Estimate
-Easy / Medium / Hard
## Business Value
-Low / Medium / High
## Recommendation
Should Thob support this better? Why?

60
Week-1/Task-2/report.md Normal file
View File

@ -0,0 +1,60 @@
# Task: [Feature Name]
## Objective
What is the feature trying to do?
## Vanilla three.js
-Possible: Yes / Partial / No
-Notes:
-Key concepts:
-Complexity: Easy / Medium / Hard
## R3F
-Possible: Yes / Partial / No
-Notes:
-What R3F abstracted:
-Complexity: Easy / Medium / Hard
## Thob Page Builder
-Possible: Yes / Partial / No
-Notes:
-Builder steps:
-Complexity: Easy / Medium / Hard
## Comparison Summary
-Possible in all 3? Yes / Partial / No
-Main differences:
-Where Thob is better:
-Where Thob is weaker:
-What feels awkward or unclear:
## Limitation Type (if any)
-[ ] Editor UX limitation
-[ ] Runtime limitation
-[ ] Schema / data model limitation
-[ ] Component limitation
-[ ] Event system limitation
-[ ] Asset pipeline limitation
-[ ] Unknown / needs investigation
## Workaround
-Is there a workaround?
-If yes, what is it?
## Suggested Improvement
-What should improve in Thob?
-Is it:
-editor
-runtime
-component
-UX
-schema/data
## Difficulty Estimate
-Easy / Medium / Hard
## Business Value
-Low / Medium / High
## Recommendation
Should Thob support this better? Why?

60
Week-1/Task-3/report.md Normal file
View File

@ -0,0 +1,60 @@
# Task: [Feature Name]
## Objective
What is the feature trying to do?
## Vanilla three.js
-Possible: Yes / Partial / No
-Notes:
-Key concepts:
-Complexity: Easy / Medium / Hard
## R3F
-Possible: Yes / Partial / No
-Notes:
-What R3F abstracted:
-Complexity: Easy / Medium / Hard
## Thob Page Builder
-Possible: Yes / Partial / No
-Notes:
-Builder steps:
-Complexity: Easy / Medium / Hard
## Comparison Summary
-Possible in all 3? Yes / Partial / No
-Main differences:
-Where Thob is better:
-Where Thob is weaker:
-What feels awkward or unclear:
## Limitation Type (if any)
-[ ] Editor UX limitation
-[ ] Runtime limitation
-[ ] Schema / data model limitation
-[ ] Component limitation
-[ ] Event system limitation
-[ ] Asset pipeline limitation
-[ ] Unknown / needs investigation
## Workaround
-Is there a workaround?
-If yes, what is it?
## Suggested Improvement
-What should improve in Thob?
-Is it:
-editor
-runtime
-component
-UX
-schema/data
## Difficulty Estimate
-Easy / Medium / Hard
## Business Value
-Low / Medium / High
## Recommendation
Should Thob support this better? Why?

60
Week-1/Task-4/report.md Normal file
View File

@ -0,0 +1,60 @@
# Task: [Feature Name]
## Objective
What is the feature trying to do?
## Vanilla three.js
-Possible: Yes / Partial / No
-Notes:
-Key concepts:
-Complexity: Easy / Medium / Hard
## R3F
-Possible: Yes / Partial / No
-Notes:
-What R3F abstracted:
-Complexity: Easy / Medium / Hard
## Thob Page Builder
-Possible: Yes / Partial / No
-Notes:
-Builder steps:
-Complexity: Easy / Medium / Hard
## Comparison Summary
-Possible in all 3? Yes / Partial / No
-Main differences:
-Where Thob is better:
-Where Thob is weaker:
-What feels awkward or unclear:
## Limitation Type (if any)
-[ ] Editor UX limitation
-[ ] Runtime limitation
-[ ] Schema / data model limitation
-[ ] Component limitation
-[ ] Event system limitation
-[ ] Asset pipeline limitation
-[ ] Unknown / needs investigation
## Workaround
-Is there a workaround?
-If yes, what is it?
## Suggested Improvement
-What should improve in Thob?
-Is it:
-editor
-runtime
-component
-UX
-schema/data
## Difficulty Estimate
-Easy / Medium / Hard
## Business Value
-Low / Medium / High
## Recommendation
Should Thob support this better? Why?

View File

@ -0,0 +1,26 @@
# Divya — Week 1 Summary
## Tasks Completed
-Task 1:
-Task 2:
-Task 3:
-Task 4:
## What Thob Supports Well
-1.
-2.
-3.
## What Feels Weak / Awkward
-1.
-2.
-3.
## Most Product-Relevant Discovery
-
## Best Improvement Recommendation
-
## What I Learned About Vanilla vs R3F vs Thob
-

23
package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "thob-capability-map",
"private": true,
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev",
"lint": "turbo run lint",
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
"check-types": "turbo run check-types"
},
"devDependencies": {
"prettier": "^3.7.4",
"turbo": "^2.8.20",
"typescript": "5.9.2"
},
"engines": {
"node": ">=18"
},
"packageManager": "yarn@1.22.22",
"workspaces": [
"Week-1/**"
]
}

21
turbo.json Normal file
View File

@ -0,0 +1,21 @@
{
"$schema": "https://turborepo.dev/schema.json",
"ui": "tui",
"tasks": {
"build": {
"dependsOn": ["^build"],
"inputs": ["$TURBO_DEFAULT$", ".env*"],
"outputs": [".next/**", "!.next/cache/**"]
},
"lint": {
"dependsOn": ["^lint"]
},
"check-types": {
"dependsOn": ["^check-types"]
},
"dev": {
"cache": false,
"persistent": true
}
}
}

1714
yarn.lock Normal file

File diff suppressed because it is too large Load Diff