@dyrected/admin 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/package.json +3 -3
- package/src/pages/setup/setup-prompt.tsx +33 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @dyrected/admin
|
|
2
2
|
|
|
3
|
+
## 2.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 220818c: ### @dyrected/core
|
|
8
|
+
- **New Discovery Workflow**: Refined the AI setup prompt with a multi-step "Phase 0" discovery process to improve initial project scoping.
|
|
9
|
+
- **Nomenclature Standardization**: Updated all system prompts to use "Nuxt.js" nomenclature and improved schema definition examples.
|
|
10
|
+
|
|
11
|
+
### @dyrected/db-postgres & @dyrected/db-sqlite
|
|
12
|
+
- **Architecture Documentation**: Added source-level documentation explaining the use of raw SQL drivers (postgres.js/better-sqlite3) alongside Drizzle to support dynamic runtime schemas.
|
|
13
|
+
|
|
14
|
+
### @dyrected/admin
|
|
15
|
+
- **Internal Maintenance**: Synchronized internal documentation and field renderer context to support the latest core setup workflows.
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [220818c]
|
|
18
|
+
- @dyrected/core@2.1.0
|
|
19
|
+
|
|
3
20
|
## 2.0.0
|
|
4
21
|
|
|
5
22
|
### Major Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dyrected/admin",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.mjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"tailwind-merge": "^3.5.0",
|
|
61
61
|
"tailwindcss-animate": "^1.0.7",
|
|
62
62
|
"zod": "^3.25.76",
|
|
63
|
-
"@dyrected/
|
|
64
|
-
"@dyrected/
|
|
63
|
+
"@dyrected/core": "^2.1.0",
|
|
64
|
+
"@dyrected/sdk": "^2.0.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@eslint/js": "^10.0.1",
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "lucide-react";
|
|
10
10
|
import { cn } from "../../lib/utils";
|
|
11
11
|
import { Button } from "../../components/ui/button";
|
|
12
|
-
import { generateAIPrompt, type SetupPromptConfig } from "@dyrected/core";
|
|
12
|
+
import { generateAIPrompt, generateFreshSetupPrompt, type SetupPromptConfig } from "@dyrected/core";
|
|
13
13
|
|
|
14
14
|
export type { SetupPromptConfig };
|
|
15
15
|
|
|
@@ -19,9 +19,12 @@ export interface SetupPromptProps {
|
|
|
19
19
|
|
|
20
20
|
export function SetupPromptUI({ config }: SetupPromptProps) {
|
|
21
21
|
const [copied, setCopied] = useState<string | null>(null);
|
|
22
|
+
const [isFresh, setIsFresh] = useState(false);
|
|
22
23
|
const [activeTab, setActiveTab] = useState<"next" | "nuxt" | "react" | "vue">("next");
|
|
23
24
|
|
|
24
|
-
const promptText =
|
|
25
|
+
const promptText = isFresh
|
|
26
|
+
? generateFreshSetupPrompt(activeTab, config)
|
|
27
|
+
: generateAIPrompt(activeTab, config);
|
|
25
28
|
|
|
26
29
|
const copyToClipboard = (text: string, id: string) => {
|
|
27
30
|
navigator.clipboard.writeText(text);
|
|
@@ -40,7 +43,9 @@ export function SetupPromptUI({ config }: SetupPromptProps) {
|
|
|
40
43
|
Connect Your Application
|
|
41
44
|
</h1>
|
|
42
45
|
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
43
|
-
|
|
46
|
+
{isFresh
|
|
47
|
+
? "Get a conversational walkthrough to set up Dyrected from scratch."
|
|
48
|
+
: "Use the AI prompt below to set up your frontend automatically, or follow the steps manually."}
|
|
44
49
|
</p>
|
|
45
50
|
</div>
|
|
46
51
|
|
|
@@ -105,10 +110,34 @@ export function SetupPromptUI({ config }: SetupPromptProps) {
|
|
|
105
110
|
: "text-muted-foreground hover:text-foreground"
|
|
106
111
|
)}
|
|
107
112
|
>
|
|
108
|
-
{tab === "next" ? "Next.js" : tab === "nuxt" ? "Nuxt" : tab}
|
|
113
|
+
{tab === "next" ? "Next.js" : tab === "nuxt" ? "Nuxt.js" : tab}
|
|
109
114
|
</button>
|
|
110
115
|
))}
|
|
111
116
|
</div>
|
|
117
|
+
<div className="flex gap-2 bg-muted/50 p-1 rounded-lg w-fit">
|
|
118
|
+
<button
|
|
119
|
+
onClick={() => setIsFresh(false)}
|
|
120
|
+
className={cn(
|
|
121
|
+
"px-4 py-1.5 rounded-md text-xs font-medium transition-all",
|
|
122
|
+
!isFresh
|
|
123
|
+
? "bg-background text-foreground shadow-sm"
|
|
124
|
+
: "text-muted-foreground hover:text-foreground"
|
|
125
|
+
)}
|
|
126
|
+
>
|
|
127
|
+
Existing Project
|
|
128
|
+
</button>
|
|
129
|
+
<button
|
|
130
|
+
onClick={() => setIsFresh(true)}
|
|
131
|
+
className={cn(
|
|
132
|
+
"px-4 py-1.5 rounded-md text-xs font-medium transition-all",
|
|
133
|
+
isFresh
|
|
134
|
+
? "bg-background text-foreground shadow-sm"
|
|
135
|
+
: "text-muted-foreground hover:text-foreground"
|
|
136
|
+
)}
|
|
137
|
+
>
|
|
138
|
+
Fresh Installation
|
|
139
|
+
</button>
|
|
140
|
+
</div>
|
|
112
141
|
<p className="text-sm text-muted-foreground">
|
|
113
142
|
Copy and paste this into your AI developer to handle everything automatically
|
|
114
143
|
</p>
|