tideway_cli/commands/
templates.rs1use anyhow::Result;
4use colored::Colorize;
5
6use crate::is_json_output;
7
8pub fn run() -> Result<()> {
9 if is_json_output() {
10 return Ok(());
11 }
12 println!("\n{}\n", "Available Templates".cyan().bold());
13
14 println!("{}", "Auth Module:".yellow());
15 println!(" - LoginForm.vue Email/password login with MFA support");
16 println!(" - RegisterForm.vue User + organization registration");
17 println!(" - ForgotPassword.vue Request password reset");
18 println!(" - ResetPassword.vue Complete password reset");
19 println!(" - MfaVerify.vue MFA code verification");
20 println!(" - useAuth.ts Auth composable");
21
22 println!("\n{}", "Billing Module:".yellow());
23 println!(" - SubscriptionStatus.vue Current plan and trial info");
24 println!(" - CheckoutButton.vue Redirect to Stripe Checkout");
25 println!(" - BillingPortalButton.vue Redirect to Stripe Portal");
26 println!(" - InvoiceHistory.vue List past invoices");
27 println!(" - PlanSelector.vue Display available plans");
28 println!(" - useBilling.ts Billing composable");
29
30 println!("\n{}", "Organizations Module:".yellow());
31 println!(" - OrgSwitcher.vue Switch between organizations");
32 println!(" - OrgSettings.vue Edit organization details");
33 println!(" - MemberList.vue List members with roles");
34 println!(" - InviteMember.vue Send email invitations");
35 println!(" - useOrganization.ts Organization composable");
36
37 println!("\n{}", "Shared:".yellow());
38 println!(" - types/index.ts TypeScript types for API");
39 println!(" - useApi.ts Base API composable");
40
41 println!("\n{}", "Styling Options:".cyan());
42 println!(
43 " --style shadcn {} shadcn-vue components",
44 "(default)".dimmed()
45 );
46 println!(" --style tailwind Plain Tailwind CSS classes");
47 println!(" --style unstyled Minimal HTML, no styling");
48
49 println!("\n{}", "Usage:".cyan());
50 println!(" tideway generate auth --style shadcn");
51 println!(" tideway generate billing --output ./src/components");
52 println!(" tideway generate all --framework vue");
53
54 println!();
55
56 Ok(())
57}