mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
implement auth add or remove logic
This commit is contained in:
95
apps/cli/src/helpers/create-readme.ts
Normal file
95
apps/cli/src/helpers/create-readme.ts
Normal file
@@ -0,0 +1,95 @@
|
||||
import path from "node:path";
|
||||
import fs from "fs-extra";
|
||||
import type { ProjectConfig } from "../types";
|
||||
|
||||
export async function createReadme(projectDir: string, config: ProjectConfig) {
|
||||
const readmePath = path.join(projectDir, "README.md");
|
||||
const projectName = path.basename(projectDir);
|
||||
|
||||
const authSection = config.auth
|
||||
? `
|
||||
## Authentication
|
||||
|
||||
This project uses [Better-Auth](https://www.better-auth.com/) for authentication.
|
||||
|
||||
To complete setup:
|
||||
1. Create necessary auth tables: \`npx @better-auth/cli migrate\`
|
||||
2. Configure environment variables in \`.env\` files
|
||||
3. Check the auth documentation: https://www.better-auth.com/
|
||||
`
|
||||
: "";
|
||||
|
||||
const databaseSection =
|
||||
config.database !== "none"
|
||||
? `
|
||||
## Database
|
||||
|
||||
This project uses ${config.database === "sqlite" ? "SQLite (via Turso)" : "PostgreSQL"} with ${config.orm} ORM.
|
||||
|
||||
${
|
||||
config.database === "sqlite"
|
||||
? "Ensure your Turso connection details are set in `packages/server/.env`."
|
||||
: "Ensure your PostgreSQL connection string is set in `packages/server/.env`."
|
||||
}
|
||||
`
|
||||
: "";
|
||||
|
||||
const featuresSection =
|
||||
config.features.length > 0
|
||||
? `
|
||||
## Features
|
||||
|
||||
This project includes:
|
||||
${config.features.map((feature) => `- ${feature}`).join("\n")}
|
||||
`
|
||||
: "";
|
||||
|
||||
const readme = `# ${projectName}
|
||||
|
||||
A modern web application built with the Better-T Stack.
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Frontend**: React, TanStack Router, TanStack Query
|
||||
- **Backend**: Hono, tRPC
|
||||
- **Styling**: Tailwind CSS with shadcn/ui components
|
||||
${databaseSection}${authSection}${featuresSection}
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Install dependencies:
|
||||
\`\`\`
|
||||
${config.packageManager} install
|
||||
\`\`\`
|
||||
|
||||
2. Start the development server:
|
||||
\`\`\`
|
||||
${config.packageManager} run dev
|
||||
\`\`\`
|
||||
|
||||
## Project Structure
|
||||
|
||||
\`\`\`
|
||||
packages/
|
||||
├── client/ # React frontend application
|
||||
└── server/ # Hono + tRPC backend server
|
||||
\`\`\`
|
||||
|
||||
## Commands
|
||||
|
||||
- \`${config.packageManager} run dev\`: Start development servers
|
||||
- \`${config.packageManager} run build\`: Build for production
|
||||
- \`${config.packageManager} run dev:client\`: Start only frontend server
|
||||
- \`${config.packageManager} run dev:server\`: Start only backend server
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Check \`.env.example\` files in each package directory for required environment variables.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
`;
|
||||
|
||||
await fs.writeFile(readmePath, readme);
|
||||
}
|
||||
Reference in New Issue
Block a user