Dashboard
41 |48 | Projects: 49 |
-
50 | {projects.map((project) => (
51 |
-
52 |
53 |
{project.name}
54 | 55 |
56 | ))}
57 |
59 |
├── .eslintrc.json ├── .github └── workflows │ ├── ci.yml │ ├── production.yml │ └── staging.yml ├── .gitignore ├── .husky └── pre-commit ├── .prettierrc ├── .vscode └── settings.json ├── DEVELOPERS.md ├── README.md ├── components.json ├── cypress.config.ts ├── cypress.env.json ├── cypress ├── e2e │ ├── dashboard.cy.ts │ └── public-api.cy.ts ├── fixtures │ └── example.json └── support │ ├── commands.ts │ └── e2e.ts ├── next.config.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── public ├── architecture.png ├── flow.png ├── next.svg ├── sqd-dark-trans.png ├── sqd-light-trans.png ├── steps.png └── vercel.svg ├── src ├── app │ ├── api │ │ ├── chat │ │ │ ├── completions │ │ │ │ └── route.ts │ │ │ └── rag │ │ │ │ └── route.ts │ │ ├── docs │ │ │ └── page.tsx │ │ ├── documents │ │ │ └── route.ts │ │ ├── indexes │ │ │ ├── route.ts │ │ │ └── search │ │ │ │ └── route.ts │ │ └── route.ts │ ├── auth │ │ ├── callback │ │ │ └── route.ts │ │ ├── sign-in │ │ │ └── route.ts │ │ ├── sign-out │ │ │ └── route.ts │ │ ├── sign-up-early │ │ │ └── route.ts │ │ └── sign-up │ │ │ └── route.ts │ ├── components │ │ └── nav.tsx │ ├── dashboard │ │ ├── page.tsx │ │ └── projects │ │ │ └── [projectId] │ │ │ ├── indexes │ │ │ └── [indexId] │ │ │ │ ├── page.tsx │ │ │ │ └── upload │ │ │ │ └── route.ts │ │ │ └── page.tsx │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ ├── login │ │ ├── components │ │ │ └── user-auth-form.tsx.tsx │ │ └── page.tsx │ ├── page.tsx │ └── thank-you │ │ └── page.tsx ├── components │ ├── Button │ │ └── index.tsx │ ├── Input │ │ └── index.tsx │ ├── NewIndex │ │ └── index.tsx │ ├── NewProject │ │ └── index.tsx │ └── ui │ │ ├── accordion.tsx │ │ ├── avatar.tsx │ │ ├── badge.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── checkbox.tsx │ │ ├── dialog.tsx │ │ ├── form.tsx │ │ └── label.tsx ├── lib │ ├── public-api │ │ ├── auth.ts │ │ ├── database.ts │ │ ├── llm.ts │ │ ├── openapi.ts │ │ └── validation.ts │ └── utils.ts ├── middleware.ts ├── providers │ └── ThemeProvider │ │ └── index.tsx └── types │ ├── supabase-entities.ts │ └── supabase.ts ├── supabase ├── .gitignore ├── config.toml ├── migrations │ ├── 20231014182810_initial.sql │ ├── 20231015132106_feature.sql │ ├── 20231027154727_feature.sql │ ├── 20231027155201_feature.sql │ └── 20231027163314_feature.sql └── seed.sql ├── tailwind.config.ts └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: 5 | workflow_dispatch: 6 | 7 | jobs: 8 | test: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - uses: actions/checkout@v3 13 | 14 | - uses: supabase/setup-cli@v1 15 | with: 16 | version: 1.99.5 17 | 18 | - name: Start Supabase local development setup 19 | run: supabase start 20 | 21 | - name: Verify generated types are checked in 22 | run: | 23 | supabase gen types typescript --local > types.gen.ts 24 | if ! git diff --ignore-space-at-eol --exit-code --quiet types.gen.ts; then 25 | echo "Detected uncommitted changes after build. See status below:" 26 | git diff 27 | exit 1 28 | fi 29 | -------------------------------------------------------------------------------- /.github/workflows/production.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Migrations to Production 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | workflow_dispatch: 8 | 9 | jobs: 10 | deploy: 11 | runs-on: ubuntu-latest 12 | 13 | env: 14 | SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} 15 | SUPABASE_DB_PASSWORD: ${{ secrets.PRODUCTION_DB_PASSWORD }} 16 | SUPABASE_PROJECT_ID: ${{ secrets.PRODUCTION_PROJECT_ID }} 17 | 18 | steps: 19 | - uses: actions/checkout@v3 20 | 21 | - uses: supabase/setup-cli@v1 22 | with: 23 | version: 1.99.5 24 | 25 | - run: supabase link --project-ref ${{ secrets.PRODUCTION_PROJECT_ID }} 26 | - run: supabase db push 27 | -------------------------------------------------------------------------------- /.github/workflows/staging.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Migrations to preview 2 | 3 | on: 4 | push: 5 | branches: 6 | - preview 7 | workflow_dispatch: 8 | 9 | jobs: 10 | deploy: 11 | runs-on: ubuntu-latest 12 | 13 | env: 14 | SUPABASE_ACCESS_TOKEN: ${{ secrets.SUPABASE_ACCESS_TOKEN }} 15 | SUPABASE_DB_PASSWORD: ${{ secrets.PREVIEW_DB_PASSWORD }} 16 | SUPABASE_PROJECT_ID: ${{ secrets.PREVIEW_PROJECT_ID }} 17 | 18 | steps: 19 | - uses: actions/checkout@v3 20 | 21 | - uses: supabase/setup-cli@v1 22 | with: 23 | version: 1.99.5 24 | 25 | - run: supabase link --project-ref ${{ secrets.PREVIEW_PROJECT_ID }} 26 | - run: supabase db push 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env*.local 29 | 30 | # vercel 31 | .vercel 32 | 33 | # typescript 34 | *.tsbuildinfo 35 | next-env.d.ts 36 | 37 | # enviroment variables 38 | .env -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npm run pretty-staged 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "singleQuote": true 4 | } 5 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": ["DATACRUNCH"] 3 | } 4 | -------------------------------------------------------------------------------- /DEVELOPERS.md: -------------------------------------------------------------------------------- 1 | Developing SquareDev 2 | 3 | ## Getting started 4 | 5 | Thank you for expressing your interest in SquareDev and your willingness to contribute! 6 | 7 | This guide will be populated soon enough. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
{project.name}
54 | 55 |Upload document
106 | 116 |135 | {document.content.slice(0, 50) + 136 | (document.content.length > 15 ? '...' : '')} 137 |
138 |Indexes:
93 |{index.name}
98 | 99 |49 |55 |50 | “This platform helped go to production fast, without 51 | having to study a line of AI.” 52 |
53 | 54 |
64 | Enter your credentials below to create your account 65 |
66 |69 | By clicking continue, you agree to our{' '} 70 | 74 | Terms of Service 75 | {' '} 76 | and{' '} 77 | 81 | Privacy Policy 82 | 83 | . 84 |
*/} 85 |49 |55 |50 | “We want to create the best developer experience for 51 | people developing with AI.” 52 |
53 | 54 |
64 | Enter your credentials below to create your account 65 |
66 |36 |42 |37 | “We want to create the best developer experience for 38 | people developing with AI.” 39 |
40 | 41 |
51 | We will get back to you as soon as possible with how to use your 52 | account. 53 |
54 |162 | {body} 163 |
164 | ); 165 | }); 166 | FormMessage.displayName = 'FormMessage'; 167 | 168 | export { 169 | useFormField, 170 | Form, 171 | FormItem, 172 | FormLabel, 173 | FormControl, 174 | FormDescription, 175 | FormMessage, 176 | FormField, 177 | }; 178 | -------------------------------------------------------------------------------- /src/components/ui/label.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import * as React from 'react'; 4 | import * as LabelPrimitive from '@radix-ui/react-label'; 5 | import { cva, type VariantProps } from 'class-variance-authority'; 6 | 7 | import { cn } from '@/lib/utils'; 8 | 9 | const labelVariants = cva( 10 | 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70' 11 | ); 12 | 13 | const Label = React.forwardRef< 14 | React.ElementRef