├── .eslintrc.json
├── .gitignore
├── .vscode
└── settings.json
├── LICENSE
├── README.md
├── components
├── charts
│ └── bar-chart
│ │ └── index.tsx
├── dialogs
│ └── Confirm.tsx
├── examples
│ └── analytics.tsx
├── files
│ ├── FileDnd.tsx
│ ├── GitHub.tsx
│ └── Playground.tsx
├── icons
│ ├── AngelList.tsx
│ ├── Cal.tsx
│ ├── Check.tsx
│ ├── CheckFull.tsx
│ ├── Discord.tsx
│ ├── GitHub.tsx
│ ├── Markprompt.tsx
│ ├── Motif.tsx
│ ├── Replo.tsx
│ ├── Spinner.tsx
│ ├── Sync.tsx
│ └── Twitter.tsx
├── layouts
│ ├── AppNavbar.tsx
│ ├── LandingNavbar.tsx
│ ├── NavLayout.tsx
│ ├── NavSubtabsLayout.tsx
│ ├── ProjectSettingsLayout.tsx
│ ├── SubTabs.tsx
│ └── TeamSettingsLayout.tsx
├── onboarding
│ ├── AddFiles.tsx
│ ├── Onboarding.tsx
│ └── Query.tsx
├── pages
│ ├── App.tsx
│ └── Landing.tsx
├── team
│ └── TeamProjectPicker.tsx
├── ui
│ ├── Blurs.tsx
│ ├── Button.tsx
│ ├── Checkbox.tsx
│ ├── Code.tsx
│ ├── Flashing.tsx
│ ├── Forms.tsx
│ ├── Input.tsx
│ ├── ListItem.tsx
│ ├── LoadingDots.tsx
│ ├── MDX.tsx
│ ├── Pattern.tsx
│ ├── Segment.tsx
│ ├── SettingsCard.tsx
│ ├── Slash.tsx
│ ├── Tag.tsx
│ ├── Toaster.tsx
│ └── ToggleMessage.tsx
└── user
│ ├── AuthPage.tsx
│ ├── ChatWindow.tsx
│ └── ProfileMenu.tsx
├── config
└── schema.sql
├── example.env
├── lib
├── api.ts
├── constants.ts
├── context
│ ├── app.tsx
│ └── training.tsx
├── generate-embeddings.ts
├── github.ts
├── hooks
│ ├── use-domains.ts
│ ├── use-files.ts
│ ├── use-project.ts
│ ├── use-projects.ts
│ ├── use-team.ts
│ ├── use-teams.ts
│ ├── use-tokens.ts
│ └── use-user.ts
├── middleware
│ ├── app.ts
│ ├── common.ts
│ ├── completions.ts
│ └── train.ts
├── openai.edge.ts
├── rate-limits.ts
├── redis.ts
├── stripe
│ ├── client.ts
│ ├── server.ts
│ └── tiers.ts
├── supabase.ts
├── utils.node.ts
└── utils.ts
├── middleware.ts
├── next.config.js
├── package.json
├── packages
└── markprompt-react
│ ├── .gitignore
│ ├── README.md
│ ├── build
│ └── index.cjs
│ ├── jest.config.cjs
│ ├── jest.setup.js
│ ├── package.json
│ ├── scripts
│ ├── build.sh
│ ├── resolve-files.js
│ └── rewrite-imports.js
│ ├── src
│ ├── Markprompt.tsx
│ ├── index.ts
│ └── types.ts
│ ├── tsconfig.json
│ ├── types
│ └── jest.d.ts
│ └── yarn.lock
├── pages
├── [team]
│ ├── [project]
│ │ ├── [analytics].tsx
│ │ ├── component.tsx
│ │ ├── data.tsx
│ │ ├── index.tsx
│ │ ├── playground.tsx
│ │ ├── settings.tsx
│ │ └── usage.tsx
│ └── index.tsx
├── _app.tsx
├── _document.tsx
├── api
│ ├── openai
│ │ ├── completions
│ │ │ └── [project].ts
│ │ ├── train-file.ts
│ │ └── train
│ │ │ └── [project].ts
│ ├── project
│ │ └── [id]
│ │ │ ├── checksums.ts
│ │ │ ├── domains.ts
│ │ │ ├── files.ts
│ │ │ ├── index.ts
│ │ │ └── tokens.ts
│ ├── slug
│ │ ├── generate-project-slug.ts
│ │ ├── generate-team-slug.ts
│ │ ├── is-project-slug-available.ts
│ │ └── is-team-slug-available.ts
│ ├── subscriptions
│ │ ├── cancel.ts
│ │ ├── create-checkout-session.ts
│ │ └── webhook.ts
│ ├── team
│ │ └── [id]
│ │ │ ├── index.ts
│ │ │ └── projects.ts
│ ├── teams
│ │ └── index.ts
│ └── user
│ │ ├── index.ts
│ │ ├── init.ts
│ │ └── jwt.ts
├── home.tsx
├── index.tsx
├── legal
│ ├── privacy.mdx
│ └── terms.mdx
├── login.tsx
├── settings
│ └── [team]
│ │ ├── index.tsx
│ │ ├── plans.tsx
│ │ ├── projects
│ │ └── new.tsx
│ │ ├── team.tsx
│ │ └── usage.tsx
└── signup.tsx
├── postcss.config.js
├── prettier.config.js
├── public
└── static
│ ├── cover.png
│ └── favicons
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── apple-touch-icon.png
│ ├── favicon.ico
│ ├── favicon.png
│ ├── favicon.svg
│ └── site.webmanifest
├── styles
├── Home.module.css
├── globals.css
└── prism.css
├── tailwind.config.js
├── tsconfig.json
├── types
├── supabase.ts
└── types.ts
└── yarn.lock
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
--------------------------------------------------------------------------------
/.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 | .pnpm-debug.log*
27 |
28 | # local env files
29 | .env.*
30 |
31 | # vercel
32 | .vercel
33 |
34 | # typescript
35 | *.tsbuildinfo
36 | next-env.d.ts
37 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "typescript.tsdk": "node_modules/typescript/lib",
3 | "typescript.enablePromptUseWorkspaceTsdk": true
4 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Motif
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Markprompt
4 |
5 |
6 | Markprompt is a platform for building GPT-powered prompts. It scans Markdown, Markdoc and MDX files in your GitHub repo and creates embeddings that you can use to create a prompt, for instance using the companion [Markprompt React](https://github.com/motifland/markprompt/blob/main/packages/markprompt-react/README.md) component. Markprompt also offers analytics, so you can gain insights on how visitors interact with your docs.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
223
35 |What is an RUV?
36 |185
39 |When do I need to submit by 83b?
40 |159
43 |What are preferred rights?
44 |152
47 |What is the difference between a SAFE and an RUV?
48 |152
51 |What is the difference between a SAFE and an RUV?
52 |99
62 |Roll-ups
63 |87
66 |Manage your Raise
67 |152
70 |Cap Tables
71 |151
74 |409A Valuations
75 |133
78 |Data Rooms
79 |9
88 |How do I send an update?
89 |8
92 |What is a SAFE?
93 |5
96 |Where can I see my cap table?
97 |Step 1: Import files
54 |
55 | Accepted:
or
71 |or
75 |
91 | 0, 99 | }, 100 | )} 101 | onClick={() => onNext()} 102 | > 103 | {pluralize(files?.length || 0, 'file', 'files')} ready. Go to 104 | playground → 105 |
106 |Step 2: Query docs
45 |46 | Trained on {pluralize(files?.length || 0, 'file', 'files')}.{' '} 47 | 51 | Add more files 52 | 53 |
54 |
82 |
100 | setShowCode(false)} 122 | > 123 | Playground 124 |
125 |setShowCode(true)} 131 | > 132 | Code 133 |
134 |16 | {tokens.map((line, i) => ( 17 |27 | )} 28 |18 | {line.map((token, key) => ( 19 | 23 | ))} 24 |25 | ))} 26 |
34 | {children} 35 |
36 |26 | {message1} 27 |
28 |37 | {message2} 38 |
39 |You are already signed in.
55 | 58 | 61 |{user.full_name}
47 |{user.email}
48 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
extends AppProps
{
22 | Component: NextComponentType