Skip to content

Commit c422261

Browse files
committed
docs: refine a lot of things
1 parent d9b385d commit c422261

32 files changed

+326
-103
lines changed

.cursorrules

+27-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
You are an expert full-stack web developer focused on producing clear, readable TypeScript code.
2+
3+
You always use the latest stable versions of everything, Tailwind CSS, and TypeScript, and you are familiar with the latest features and best practices.
4+
5+
You carefully provide accurate, factual, thoughtful answers, and are a genius at reasoning.
6+
7+
Technical preferences:
8+
9+
- Use semantic HTML elements where possible
10+
- Always use kebab-case for component names (e.g. my-component.tsx)
11+
- Follow docs from the official TypeScript, React, Remix, Next.js for Data Fetching, Rendering, and Routing
12+
- Favour using React Server Components features where possible
13+
- Minimize the usage of client components ('use client') to small, isolated components
14+
- Always add loading and error states to data fetching components
15+
- Implement error handling and error logging
16+
17+
General preferences:
18+
19+
- Follow the user's requirements carefully & to the letter.
20+
- Always write correct, up-to-date, bug-free, fully functional and working, secure, performant and efficient code.
21+
- Focus on readability over being performant.
22+
- Fully implement all requested functionality.
23+
- Leave NO todo's, placeholders or missing pieces in the code.
24+
- Be sure to reference file names.
25+
- Be concise. Minimize any other prose.
26+
- If you think there might not be a correct answer, you say so. If you do not know the answer, say so instead of guessing.
27+
128
Code Style and Structure:
229

330
- Write concise, technical TypeScript code with accurate examples
@@ -52,5 +79,3 @@ Key Conventions:
5279
- Favor server components and Next.js SSR
5380
- Use only for Web API access in small components
5481
- Avoid for data fetching or state management
55-
56-
Follow React docs, Remix docs, and Next.js docs for Data Fetching, Rendering, and Routing

.env.example

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Database URL
2+
DATABASE_URL="postgresql://change_user:change_password@localhost:5432/change_db"
3+
4+
# General
5+
DB_USER="change_user"
6+
DB_PASSWORD="change_password"
7+
DB_NAME="change_db"
8+
9+
# Postgres-spefic
10+
POSTGRES_USER="change_user"
11+
POSTGRES_PASSWORD="change_password"
12+
POSTGRES_DB="change_db"
13+
14+
# MySQL-specipfic
15+
MYSQL_USER="change_user"
16+
MYSQL_PASSWORD="change_password"
17+
MYSQL_DATABASE="change_db"
18+
MYSQL_ROOT_PASSWORD="change_password"

.github/dependabot.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version: 2
2+
updates:
3+
# Maintain dependencies for GitHub Actions
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
open-pull-requests-limit: 10
7+
schedule:
8+
interval: "monthly"
9+
10+
# Maintain dependencies for npm
11+
- package-ecosystem: "npm"
12+
directory: "/"
13+
open-pull-requests-limit: 10
14+
schedule:
15+
interval: "monthly"

README.md

+61-51
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@
1313

1414
## Goal
1515

16-
🐶Dogokit Akita is a comprehensive, opinionated full stack application development kit. Encompassing JavaScript, TypeScript, Node.js, Bun, and more. It serves as a versatile reference for constructing robust web applications, that can scale from zero to millions of users.
16+
🐶Dogokit Akita is a comprehensive and opinionated full stack application development kit. Encompassing JavaScript/TypeScript, Node.js/Deno/Bun, and more. It serves as a versatile reference for constructing robust web applications, that can scale from zero to millions of users.
1717

1818
- Default frontend web with React and Tailwind CSS.
19-
- Optional backend API with GraphQL or REST API.
19+
- Optional full-stack web with Next.js or Remix (React Router).
20+
- Optional backend API with REST API or GraphQL.
2021
- Interchangeable ORM with Prisma or Drizzle.
2122
- Bring your own thing from non-JS ecosystem.
2223

@@ -26,7 +27,7 @@
2627
2. Optionally scale API complexity with GraphQL/REST/tRPC.
2728
3. Customize architecture flexibly, with the defaults should not use any 3rd party services.
2829
4. Deploy anywhere from a single VPS to any cloud provider, no vendor lock-in.
29-
5. Demonstrate the JavaScript developer experience ecosystem capability, as alternative to existing one like RedwoodJS, and the others such as PHP with Laravel, Ruby with Rails, Python with Django, etc.
30+
5. Demonstrate the JavaScript developer experience (DX) ecosystem capability. As an alternative to existing one like RedwoodJS, and the others such as PHP with Laravel, Ruby with Rails, Python with Django, etc.
3031

3132
## Tech Stack
3233

@@ -57,12 +58,15 @@
5758
- Icon: [unplugin-icons](docs/unplugin-icons.md)
5859
- Email: [React Email](docs/react-email.md)
5960
- Test: [Storybook](docs/storybook.md)
60-
6. Format and Lint: [Prettier](docs/prettier.md) / [ESLint](docs/eslint.md) / [Biome](docs/biome.md) / [Oxc](docs/oxc.md)
61-
7. Bundler: [Vite](docs/vite.md) / [Turbopack](docs/turbopack.md)
62-
8. Auth: [Better Auth](docs/better-auth.md)
63-
9. Database ORM: [Prisma](docs/prisma.md) with [ZenStack](docs/zenstack.md)
64-
10. Database/DBMS: [PostgreSQL](docs/postgresql.md)
65-
11. Container: [Docker](docs/docker.md) with [Docker Compose](docs/docker-compose.md), using [OrbStack](docs/orbstack.md) or [Docker Desktop](docs/docker-desktop.md)
61+
6. Format and Lint: [Biome](docs/biome.md) + [Ultracite](docs/ultracite.md) / [Prettier](docs/prettier.md) / [ESLint](docs/eslint.md) / [Oxc](docs/oxc.md)
62+
7. Release: [autorc](docs/autorc.md)
63+
8. Bundler: [Vite](docs/vite.md) / [Turbopack](docs/turbopack.md)
64+
9. Auth: [Better Auth](docs/better-auth.md)
65+
10. Database ORM: [Prisma](docs/prisma.md) + [ZenStack](docs/zenstack.md)
66+
11. Database/DBMS: [PostgreSQL](docs/postgresql.md)
67+
12. Database Management: [TablePlus](docs/tableplus.md)
68+
13. Container: [Docker](docs/docker.md) + [Docker Compose](docs/docker-compose.md)
69+
14. Container Management: [OrbStack](docs/orbstack.md) / [Docker Desktop](docs/docker-desktop.md)
6670

6771
### Optional: Alternative
6872

@@ -81,7 +85,7 @@ Manual:
8185

8286
1. Cloud: [Google Cloud](docs/google-cloud.md) / [Amazon Web Services](docs/amazon-web-services.md)
8387
2. PaaS in VPS: [Dokku](docs/dokku.md) / [Coolify](docs/coolify.md)
84-
3. VPS: [Linode](docs/linode.md) / [DigitalOcean](docs/digitalocean.md) / [Amazon Lightsail](docs/amazon-lightsail.md)
88+
3. VPS: [IONOS](docs/ionos.md) / [Linode](docs/linode.md) / [DigitalOcean](docs/digitalocean.md) / [Amazon Lightsail](docs/amazon-lightsail.md)
8589
4. Bare Metal: [Hetzner](docs/hetzner.md) / [Vultr](docs/vultr.md) / [Scaleway](docs/scaleway.md)
8690
5. Automation: [Kamal Deploy](docs/kamal-deploy.md) / [Ansible](docs/ansible.md)
8791
6. OS: [Debian](docs/debian.md) / [Ubuntu](docs/ubuntu.md)
@@ -103,56 +107,61 @@ Manual:
103107
2. Secrets and Environment Variables: [.env](docs/env.md) / [t3-env](docs/t3-env.md) / [unplugin-environment](docs/unplugin-environment.md)
104108
3. Data Validation: [Zod](docs/zod.md)
105109
4. Form Validation: [Conform](docs/conform.md)
106-
5. Testing: [Vitest](docs/vitest.md) with [Testing Library](docs/testing-library.md), [Playwright](docs/playwright.md), [MSW](docs/msw.md)
107-
6. CLI and Prompt: [Term.Ink](docs/term-ink.md) / [Clack](docs/clack.md) / [Commander.js](docs/commanderjs.md) / [oclif](docs/oclif.md) / [Inquirer](docs/inquirer.md)
108-
7. Performance: [Million.js](docs/millionjs.md)
109-
8. Search: [Meilisearch](docs/meilisearch.md) / [Typesense](docs/typesense.md)
110-
9. Process: [Effect](docs/effect.md)
111-
10. Dependency: [Knip](docs/knip.md)
112-
11. Logging: [pino](docs/pino.md)
113-
12. Internationalization (i18n): [Lingui](docs/lingui.md)
114-
13. Accessibility (a11y): [Lighthouse](docs/lighthouse.md)
115-
14. Realtime: [SSE](docs/sse.md) / [Socket.IO](docs/socket-io.md) / [Liveblocks](docs/liveblocks.md) / [InstantDB](docs/instantdb.md) / [Electric](docs/electric.md)
116-
15. Cache and Message Queues: [Redis](docs/redis.md) / [BullMQ](docs/bullmq.md) / In-Memory
117-
16. Mobile: [React Native](docs/react-native.md) with [Expo](docs/expo.md)
118-
17. Storage: Unix File System
119-
18. Mailers: SMTP
120-
19. Documentation: [Nextra](docs/nextra.md)
110+
5. Utility: [es-toolkit](docs/es-toolkit.md)
111+
6. Testing: [Vitest](docs/vitest.md) with [Testing Library](docs/testing-library.md), [Playwright](docs/playwright.md), [MSW](docs/msw.md)
112+
7. CLI and Prompt: [Term.Ink](docs/term-ink.md) / [Clack](docs/clack.md) / [Commander.js](docs/commanderjs.md) / [oclif](docs/oclif.md) / [Inquirer](docs/inquirer.md)
113+
8. Performance: [Million.js](docs/millionjs.md)
114+
9. Search: [Meilisearch](docs/meilisearch.md) / [Typesense](docs/typesense.md)
115+
10. Process: [Effect](docs/effect.md)
116+
11. Dependency: [Knip](docs/knip.md)
117+
12. Logging: [pino](docs/pino.md)
118+
13. Internationalization (i18n): [Lingui](docs/lingui.md)
119+
14. Accessibility (a11y): [Lighthouse](docs/lighthouse.md)
120+
15. Realtime: [SSE](docs/sse.md) / [Socket.IO](docs/socket-io.md) / [Liveblocks](docs/liveblocks.md) / [InstantDB](docs/instantdb.md) / [Electric](docs/electric.md)
121+
16. Cache and Message Queues: [Redis](docs/redis.md) / [BullMQ](docs/bullmq.md) / In-Memory
122+
17. Mobile: [React Native](docs/react-native.md) with [Expo](docs/expo.md)
123+
18. Storage: Unix File System
124+
19. Mailers: SMTP
125+
20. Documentation: [Nextra](docs/nextra.md)
121126

122127
### Optional: 3rd Party Services
123128

124129
1. Secrets and Environment Variables: [Infisical](docs/infisical.md) / [Doppler](docs/doppler.md)
125130
2. Analytics: [PostHog](docs/posthog.md) / [Openpanel.dev](docs/openpanel.md) / [Simple Analytics](docs/simpleanalytics.md) / [Plausible](docs/plausible.md)
126-
3. Service Monitoring: [OpenStatus](docs/openstatus.md)
127-
4. APM, Observability, Error Tracking: [Sentry](docs/sentry.md) and [OpenTelemetry](docs/opentelemetry.md)
128-
5. Email: [Nodemailer](docs/nodemailer.md) / [Plunk](docs/plunk.md) / [Resend](docs/resend.md) / [Amazon SES](docs/amazon-ses.md)
129-
6. Auth: [WorkOS](docs/workos.md)
130-
7. File Storage/Upload: [Uploadcare](docs/uploadcare.md) / [Cloudinary](docs/cloudinary.md)
131-
8. Background Jobs: [Quirrel.dev](docs/quirrel-dev.md) / [Trigger.dev](docs/trigger-dev.md)
132-
9. Link/URL Shortener/Management: [Dub.co](docs/dub-co.md)
133-
10. Full-Text Search: [Meilisearch](docs/meilisearch.md)
134-
11. Notification: [Novu](docs/novu.md)
135-
12. Documentation: [Mintlify](docs/mintlify.md)
136-
13. Payment: [Polar](docs/polar.md) / [Lemon Squeezy](docs/lemonsqueezy.md) / [Stripe](docs/stripe.md)
137-
14. Automation: [n8n](docs/n8n.md)
138-
15. API Key Management: [Unkey](docs/unkey.md)
131+
3. Service Monitoring: [OpenStatus](docs/openstatus.md) / [BetterStack](docs/betterstack.md)
132+
4. File Storage/Upload: [Uploadcare](docs/uploadcare.md) / [Cloudinary](docs/cloudinary.md)
133+
5. Email Transactional: [Nodemailer](docs/nodemailer.md) / [Plunk](docs/plunk.md) / [Resend](docs/resend.md) / [Amazon SES](docs/amazon-ses.md)
134+
6. Email Marketing/Newsletter: [Loops.so](docs/loops.md) / [Beehiiv](docs/beehiiv.md) / [Bento](docs/bento.md)
135+
7. APM, Observability, Error Tracking: [Sentry](docs/sentry.md) + [OpenTelemetry](docs/opentelemetry.md)
136+
8. Payment: [Polar](docs/polar.md) / [Lemon Squeezy](docs/lemonsqueezy.md) / [Stripe](docs/stripe.md)
137+
9. Auth: [WorkOS](docs/workos.md) / [Clerk](docs/clerk.md)
138+
10. Business Intelligence (BI): [Metabase](docs/metabase.md) / [Index.app](docs/index-app.md)
139+
11. Webhook: [Svix](docs/svix.md)
140+
12. Background Jobs: [Quirrel.dev](docs/quirrel-dev.md) / [Trigger.dev](docs/trigger-dev.md)
141+
13. Link/URL Shortener/Management: [Dub.co](docs/dub-co.md)
142+
14. Full-Text Search: [Meilisearch](docs/meilisearch.md)
143+
15. Notification: [Novu](docs/novu.md)
144+
16. Documentation: [Mintlify](docs/mintlify.md)
145+
17. Automation: [n8n](docs/n8n.md)
146+
18. API Key Management: [Unkey](docs/unkey.md)
139147

140148
### Optional: Tools
141149

142150
1. Email: [Gmail](docs/gmail.md) / [HEY](docs/hey.md) / [ProtonMail](docs/protonmail.md)
143151
2. Credentials: [Bitwarden](docs/bitwarden.md) / [Passbolt](docs/passbolt.md)
144-
3. UI/UX Design: [Figma](docs/figma.md)
145-
4. Communication & Community: [Telegram](docs/telegram.md) / [Discord](docs/discord.md) / [X (Twitter)](docs/x.md)
146-
5. Business Database & MVP Builder: [Airtable](docs/airtable.md) / [Baserow](docs/baserow.md) / [NocoDB](docs/nocodb.md)
147-
6. Project/Product Management: [Linear](docs/linear.md) / [Plane.so](docs/plane.md) / [Basecamp](docs/basecamp.md)
148-
7. Social Media Management: [Buffer](docs/buffer.md) / [Mixpost](docs/mixpost.md) / [Postiz](docs/postiz.md)
149-
8. Blog: [Hashnode](docs/hashnode.md) / [Ghost](docs/ghost.md)
150-
9. Document: [DocuSeal](docs/docuseal.md) / [Papermark](docs/papermark.md)
151-
10. Launcher: [Raycast](docs/raycast.md)
152-
11. Code Editor: [VS Code](docs/vscode.md) / [NeoVim](docs/neovim.md)
153-
12. AI Tool: [ChatGPT](docs/chatgpt.md) / [Claude](docs/claude.md) / [Perplexity](docs/perplexity.md) / [Galileo AI](docs/galileo-ai.md)
154-
13. AI Code Editor: [Cursor AI](docs/cursor.md) / [Supermaven](docs/supermaven.md) / [GitHub CoPilot](docs/github-copilot.md) / [Tabnine](docs/tabnine.md)
155-
14. AI Code Generator: [v0.dev](docs/v0.md) / [Marblism](docs/marblism.md)
152+
3. Code Editor: [VS Code](docs/vscode.md) / [NeoVim](docs/neovim.md)
153+
4. AI Tool: [ChatGPT](docs/chatgpt.md) / [Claude](docs/claude.md) / [Perplexity](docs/perplexity.md) / [Galileo AI](docs/galileo-ai.md)
154+
5. AI Code Editor: [Cursor AI](docs/cursor.md) / [Supermaven](docs/supermaven.md) / [GitHub CoPilot](docs/github-copilot.md) / [Tabnine](docs/tabnine.md)
155+
6. AI Code Generator: [v0.dev](docs/v0.md) / [Marblism](docs/marblism.md)
156+
7. UI/UX Design: [Figma](docs/figma.md)
157+
8. Communication & Community: [Telegram](docs/telegram.md) / [Discord](docs/discord.md) / [X (Twitter)](docs/x.md)
158+
9. Business Database & MVP Builder: [Airtable](docs/airtable.md) / [Baserow](docs/baserow.md) / [NocoDB](docs/nocodb.md)
159+
10. Project/Product Management: [Linear](docs/linear.md) / [Plane.so](docs/plane.md) / [Basecamp](docs/basecamp.md)
160+
11. Social Media Management: [Buffer](docs/buffer.md) / [Mixpost](docs/mixpost.md) / [Postiz](docs/postiz.md)
161+
12. Blog: [Hashnode](docs/hashnode.md) / [Ghost](docs/ghost.md)
162+
13. Document: [DocuSeal](docs/docuseal.md) / [Papermark](docs/papermark.md)
163+
14. Launcher: [Raycast](docs/raycast.md)
164+
15. Accounting: [Bigcapital](docs/bigcapital.md)
156165

157166
## Guides
158167

@@ -173,11 +182,12 @@ Manual:
173182
- [Blitz.js](https://blitzjs.com)
174183
- [T3 Stack](https://create.t3.gg)
175184
- [Built At Lightspeed](https://builtatlightspeed.com)
185+
- [Next-Forge](https://next-forge.com)
186+
- [LaunchFast](https://launchfa.st)
176187
- [`lmsqueezy/nextjs-billing`](https://github.com/lmsqueezy/nextjs-billing)
177188
- [`midday-ai/v1`](https://github.com/midday-ai/v1)
178189
- [`ixahmedxi/orbitkit`](https://github.com/ixahmedxi/orbitkit)
179190
- [`shadcn-ui/taxonomy`](https://github.com/shadcn-ui/taxonomy)
180-
- [LaunchFast — Astro, Next.js and SvelteKit Starter Kits](https://launchfa.st)
181191

182192
## Credits
183193

apps/web/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ Default configuration:
66
- React
77
- Remix
88
- Tailwind CSS
9-
- shadcn UI
9+
- shadcn/ui

docker-compose.prod.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
services:
2+
postgres:
3+
container_name: example-postgres
4+
image: postgres:alpine
5+
restart: always
6+
volumes:
7+
- postgres_data:/var/lib/postgres
8+
ports:
9+
- ${POSTGRES_HOST_PORT}:${POSTGRES_CONTAINER_PORT}
10+
env_file:
11+
- path: .env
12+
required: true
13+
api:
14+
image: example-api:latest
15+
build:
16+
context: .
17+
ports:
18+
- "3000:3000"
19+
depends_on:
20+
- database
21+
env_file:
22+
- path: .env
23+
required: true
24+
25+
volumes:
26+
postgres_data:

docker-compose.yml

+5-8
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
1-
# Docker Compose
2-
# https://docs.docker.com/engine/reference/commandline/compose_up
3-
41
services:
52
postgres:
6-
image: postgres:alpine
7-
container_name: dogokit-akita-postgres
8-
hostname: database
3+
container_name: example-postgres
4+
image: postgres:alpine # latest = postgres:14.15-alpine3.20
95
restart: no
106
volumes:
117
- postgres_data:/var/lib/postgres
128
ports:
13-
- ${POSTGRES_HOST_PORT}:${POSTGRES_CONTAINER_PORT}
9+
- "5432:5432"
1410
env_file:
15-
- .env
11+
- path: .env
12+
required: true
1613

1714
volumes:
1815
postgres_data:

docs/arcjet.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Arcjet
2+
3+
- https://arcjet.com

docs/autorc.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# autorc
2+
3+
`auto` is a tool designed to seamlessly automate the release workflow. It is powered by semantic version labels on pull requests. This approach does not require you to change your code or make any drastic changes to your current workflow.
4+
5+
While intended to run in a continuous integration (CI) environment, all auto commands can run locally as well.
6+
7+
Links:
8+
9+
- [auto](https://intuit.github.io/auto)
10+
- [intuit/auto](https://github.com/intuit/auto)

docs/bento.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Bento
2+
3+
Email Marketing & Automation Platform for Startups.
4+
5+
Bento's easy-to-use email platform helps small teams and marketing professionals get more out of their email with less stress, effort, and cost.
6+
7+
Links:
8+
9+
- [Bento](https://bentonow.com)

docs/betterstack.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Better Stack

docs/bigcapital.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Bigcapital
2+
3+
Modern core accounting software

docs/clerk.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Clerk

docs/contentlayer.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Contentlayer
2+
3+
Content Layer is a CMS-agnostic content modeling framework for JavaScript and TypeScript.
4+
5+
Links:
6+
7+
- [Contentlayer](https://contentlayer.dev)

docs/es-toolkit.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# es-toolkit
2+
3+
ES Toolkit is a collection of utilities for working with JavaScript and TypeScript.
4+
5+
Links:
6+
7+
- [es-toolkit](https://es-toolkit.slash.page)

docs/guides/components.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Components
2+
3+
Required UI components for various applications.
4+
5+
- Button
6+
- Card
7+
- Tooltip
8+
- Dropdown
9+
- Accordion
10+
- Tabs
11+
- Input
12+
- Checkbox
13+
- Radio
14+
- Switch
15+
- Progress
16+
- Spinner
17+
- Toast
18+
- Alert
19+
- Alert Dialog / Modal
20+
- Badge
21+
- Avatar
22+
- Table
23+
- List
24+
- Slider
25+
- Pagination
26+
- Tiptap
27+
- Sortable
28+
- Chart
29+
- Stepperize
30+
- Carousel

docs/guides/inspirations.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Links:
1010
- [Stripe Stack by Daniel Kanem](https://github.com/dev-xo/stripe-stack)
1111
- [Synthwave Stack by I4O Open Source](https://github.com/i4o-oss/synthwave-stack)
1212
- [Ship Fast](https://shipfa.st)
13-
- [shadcn UI](https://github.com/shadcn/ui)
13+
- [shadcn/ui](https://github.com/shadcn-ui/ui)
1414
- [Taxonomy](https://tx.shadcn.com)
1515
- [MakerKit - SaaS Starter Kits based on React](https://makerkit.dev)
1616
- [SaasRock - The One-Man SaaS Framework](https://saasrock.com)

0 commit comments

Comments
 (0)