Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/strong-rings-hide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@proofkit/cli": patch
---

Limit `proofkit add` to supported ProofKit add-ons and remove the unused registry-backed install path.
37 changes: 4 additions & 33 deletions apps/docs/content/docs/cli/guides/adding-components/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,12 @@ import { CliCommand } from "@/components/CliCommand";
After initializing a new ProofKit project, prefer agents or package-native tools such as shadcn and `@proofkit/typegen` for most post-init changes.

<Callout title="Major changes in v2!">
The old `proofkit add` flows are being phased out. This page is now legacy guidance only.
`proofkit add` is now limited to ProofKit add-ons. Legacy component-install flows are no longer supported.
</Callout>

The ProofKit package is installed in your project, and as a script in your `package.json`, so you can run the following command (as long as your current directory is your project root):
The supported `add` flow is:


<CliCommand command="proofkit"/>
<CliCommand command="proofkit add addon webviewer" />


This will prompt you with a list of available components and features to add to your project.

## Adding a Page

ProofKit includes many page templates to help you build out your web app. Use this command to select one.

<CliCommand command="proofkit add page" />

If the template you select requires data, you may be prompted to select which data source and schema to use. (If there is only one, it will be selected by default without prompting)

## Adding a Data Source

If you need to connect to a new database or FileMaker file, use this command.

<CliCommand command="proofkit add data" />

For FileMaker data sources, a single "Data Source" consists of:

- A FileMaker Server
- A FileMaker File
- An OttoFMS API Key (representing a single account name with permission to the file)

If you need to change any one of these (i.e. to connect to a different file on the same server), you'll want to add a new data source.

## Adding Schema

When you want to interact with data from a new table or layout, you'll need to add a `schema`.

<CliCommand command="proofkit add schema" />
Use package-native tools or agents for everything else.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"title": "Adding Components",
"icon": "puzzle",
"pages": ["templates"],
"pages": [],
"defaultOpen": true
}

This file was deleted.

4 changes: 2 additions & 2 deletions apps/docs/content/docs/cli/guides/auth/add-on.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ While FileMaker Add-on Auth is built to be secure, it is more advanced than a ty

From within a ProofKit project, run the following command:

<CliCommand command="proofkit add auth --type=fmaddon" frame="none" />
<CliCommand command="proofkit add addon auth" frame="none" />

This auth integration requires that some specific tables and layouts exist in your FileMaker file. The CLI will detect if these layouts and not in your file, and notify you to install the FileMaker Add-on if they are missing. The FileMaker Add-on encapsulates all of the changes needed and makes it easy to add the requirements to your file.

Expand Down Expand Up @@ -94,4 +94,4 @@ By default, the layout for the password reset table should be named `proofkit_au

### Alternative Authentication Methods

At this time, FileMaker Add-on Auth will only setup email/password authentication for you, but any other authentication methods can be added by modifying the code yourself. Guides for integrating OAuth providers, passkeys (WebAuthn), two-factor, and more are available in the [Lucia documentation](https://lucia-auth.com/). Just keep in mind that you'll likely need to add more fields to the tables and layouts as mentioned above to support those additional features.
At this time, FileMaker Add-on Auth will only setup email/password authentication for you, but any other authentication methods can be added by modifying the code yourself. Guides for integrating OAuth providers, passkeys (WebAuthn), two-factor, and more are available in the [Lucia documentation](https://lucia-auth.com/). Just keep in mind that you'll likely need to add more fields to the tables and layouts as mentioned above to support those additional features.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix wording typo: use “set up” (verb), not “setup”.

This is user-facing docs copy, so it’s worth tightening.

✏️ Proposed copy fix
-At this time, FileMaker Add-on Auth will only setup email/password authentication for you, but any other authentication methods can be added by modifying the code yourself. Guides for integrating OAuth providers, passkeys (WebAuthn), two-factor, and more are available in the [Lucia documentation](https://lucia-auth.com/). Just keep in mind that you'll likely need to add more fields to the tables and layouts as mentioned above to support those additional features.
+At this time, FileMaker Add-on Auth will only set up email/password authentication for you, but any other authentication methods can be added by modifying the code yourself. Guides for integrating OAuth providers, passkeys (WebAuthn), two-factor, and more are available in the [Lucia documentation](https://lucia-auth.com/). Just keep in mind that you'll likely need to add more fields to the tables and layouts as mentioned above to support those additional features.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
At this time, FileMaker Add-on Auth will only setup email/password authentication for you, but any other authentication methods can be added by modifying the code yourself. Guides for integrating OAuth providers, passkeys (WebAuthn), two-factor, and more are available in the [Lucia documentation](https://lucia-auth.com/). Just keep in mind that you'll likely need to add more fields to the tables and layouts as mentioned above to support those additional features.
At this time, FileMaker Add-on Auth will only set up email/password authentication for you, but any other authentication methods can be added by modifying the code yourself. Guides for integrating OAuth providers, passkeys (WebAuthn), two-factor, and more are available in the [Lucia documentation](https://lucia-auth.com/). Just keep in mind that you'll likely need to add more fields to the tables and layouts as mentioned above to support those additional features.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/docs/content/docs/cli/guides/auth/add-on.mdx` at line 97, Fix the
wording typo in the sentence that currently reads "FileMaker Add-on Auth will
only setup email/password authentication for you" by changing "setup" to the
verb form "set up"; update the copy in the doc content (the sentence containing
"FileMaker Add-on Auth will only setup email/password authentication for you,
but any other...") so it reads "FileMaker Add-on Auth will only set up
email/password authentication for you..." and leave the rest unchanged.

9 changes: 1 addition & 8 deletions apps/docs/content/docs/cli/guides/auth/clerk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,10 @@ description: How to add Clerk authentication to your ProofKit project

---

import { CliCommand } from "@/components/CliCommand";


## What is Clerk?

[Clerk](https://clerk.com/) is a hosted authentication service that is extremely easy to set up and use. It's a great choice to secure most customer-facing web apps, including built-in features such as Social logins, magic link, multi-factor authentication, and more.

## Adding Clerk to your ProofKit project

To add Clerk to your ProofKit project, run the following command:

<CliCommand command="proofkit add auth --type=clerk" frame="none" />

For further details on how to use Clerk, see the [Clerk documentation](https://clerk.com/docs/references/nextjs/overview).
ProofKit no longer installs Clerk through `proofkit add`. Set up Clerk directly in your app using the [Clerk documentation](https://clerk.com/docs/references/nextjs/overview).
12 changes: 0 additions & 12 deletions apps/docs/content/docs/cli/registry/index.mdx

This file was deleted.

10 changes: 5 additions & 5 deletions apps/docs/content/docs/cli/v2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,25 @@ description: In this major release, the ProofKit CLI has been reimagined as a mo

When you start a new app using the ProofKit CLI, the new template is based on shadcn and tailwindcss instead of Mantine. This new simple template still includes the best practices from the Proof team, but now with even more flexibility.

### A new way to add [anything]
### A new starting point for add-ons

The `proofkit add` command leverages the shadcn CLI to install any component or utility into your app, or you can use the shadcn CLI directly to install any component from any compatible library. Even better, these templates are now published right here on the docs site, so we can more easily release updates and new components that you can use right away.
The CLI still supports ProofKit-specific add-ons where that workflow makes sense, but general component installation should use package-native tools directly.

### A new level of compatibility

You can now use the ProofKit CLI in an existing Next.js app, even if it wasn’t bootstrapped with the CLI, as long as it's already using shadcn. This unlocks the ability for more advanced developers to leverage the power of ProofKit, while still trying out the latest and greatest in the JavaScript ecosystem.

# Why the change?

Adding new templates to the ProofKit CLI was always a challenge, and arguably the most lacking of the whole system. The templates are meant to be just a starting place, so they needed to be generic to fit any project, yet useful enough to warrant inclusion in the binary everyone downloads to run the CLI. That wasn’t scalable. But shadcn has taken the JavaScript world by storm over the past few years, especially with the rise of AI and especially tools like v0. We needed to unlock the ability to easily add anything to your JavaScript projects, whether it was a template from Proof, shadcn, v0 (AI-generated), or from any of the other emerging UI libraries built on the shadcn CLI.
Adding new templates to the ProofKit CLI was always a challenge, and arguably the most lacking of the whole system. The templates are meant to be just a starting place, so they needed to be generic to fit any project, yet useful enough to warrant inclusion in the binary everyone downloads to run the CLI. That wasn’t scalable.

But this required a new starting point. While mantine and tailwind can be used together in the same project, they get in each other’s way. At Proof, we’ve been building new projects without ProofKit for a few months now, so it was time to bring those learnings back to the framework so we could all move more quickly. New projects will start with a new foundation based on tailwindcss. It’s easier for AI to understand, and more compatible with any UI component built for shadcn to install for you.

But the shadcn CLI isn’t just about UI components. It can install any utility or set of components into your app. Take the new `@proofkit/better-auth` package that was recently released. It’s the best way to quickly and easily add self-hosted authentication to your web app, without having to compromise on login options or pay for an external auth service. But setting it up was not easy...until now! Check out our @proofkit/better-auth [guide](/docs/better-auth/installation) for more details.
Take the new `@proofkit/better-auth` package that was recently released. It’s the best way to quickly and easily add self-hosted authentication to your web app, without having to compromise on login options or pay for an external auth service. Check out our @proofkit/better-auth [guide](/docs/better-auth/installation) for more details.

# Upgrade from v1

Unfortunately, there is not an easy path for you to upgrade projects that were created with v1 to be fully compatible with v2. But if you are able to setup tailwindcss and shadcn in your existing project, you can still use the ProofKit CLI to add new components and utilities to your app.
Unfortunately, there is not an easy path for you to upgrade projects that were created with v1 to be fully compatible with v2. But if you are able to setup tailwindcss and shadcn in your existing project, you can still use package-native tools directly alongside ProofKit.

Basic steps:

Expand Down
10 changes: 1 addition & 9 deletions apps/docs/content/docs/meta.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
{
"pages": [
"cli",
"templates",
"fmdapi",
"fmodata",
"webviewer",
"typegen",
"better-auth"
]
"pages": ["cli", "fmdapi", "fmodata", "webviewer", "typegen", "better-auth"]
}
3 changes: 0 additions & 3 deletions apps/docs/content/docs/templates/index.mdx

This file was deleted.

6 changes: 0 additions & 6 deletions apps/docs/content/docs/templates/meta.json

This file was deleted.

11 changes: 2 additions & 9 deletions apps/docs/next.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const withMDX = createMDX();
const config: NextConfig = {
reactStrictMode: true,
serverExternalPackages: ["typescript", "twoslash", "shiki"],
transpilePackages: ["@proofkit/fmdapi", "@proofkit/registry", "@proofkit/typegen"],
transpilePackages: ["@proofkit/fmdapi", "@proofkit/typegen"],
turbopack: {
root: path.resolve(__dirname, "../.."),
},
Expand All @@ -21,14 +21,7 @@ const config: NextConfig = {
return config;
},
async redirects() {
return [
{
source: "/registry/:path*",
destination: "/r/:path*",
permanent: true,
},
{ source: "/docs", destination: "/docs/cli", permanent: false },
];
return [{ source: "/docs", destination: "/docs/cli", permanent: false }];
},
};

Expand Down
3 changes: 1 addition & 2 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"type": "module",
"private": true,
"scripts": {
"build": "pnpm --filter @proofkit/typegen build && node scripts/bundle-registry-templates.js && next build",
"build": "pnpm --filter @proofkit/typegen build && next build",
"dev": "next dev -p 3005",
"start": "next start -p 3005",
"postinstall": "fumadocs-mdx",
Expand All @@ -14,7 +14,6 @@
},
"dependencies": {
"@base-ui-components/react": "1.0.0-rc.0",
"@proofkit/registry": "workspace:*",
"@proofkit/typegen": "workspace:*",
"@proofkit/webviewer": "workspace:*",
"@radix-ui/react-collapsible": "^1.1.12",
Expand Down
100 changes: 0 additions & 100 deletions apps/docs/scripts/bundle-registry-templates.js

This file was deleted.

2 changes: 1 addition & 1 deletion apps/docs/src/app/(home)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export default function HomePage() {

<Cards className="px-4 text-left">
<Card href="/docs/cli" icon={<Terminal />} title="ProofKit CLI">
A command line tool to start a new project, or easily apply templates and common patterns with{" "}
A command line tool to start a new project, or manage ProofKit-specific workflows with{" "}
<span className="underline">no JavaScript experience</span> required.
</Card>
<Card href="/docs/typegen" icon={<Code />} title={"Typegen"}>
Expand Down
Loading
Loading