Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 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
8 changes: 8 additions & 0 deletions .changeset/cold-chairs-tease.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@db-ux/core-foundations": patch
"@db-ux/core-components": patch
"@db-ux/agent-cli": patch
---

chore: update instructions files for better copilot outputs
fix: add some missing variables
7 changes: 6 additions & 1 deletion packages/agent-cli/src/copilot/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,12 @@ export const generateCopilot = (rootPath: string) => {
).trim();
}

copilotFileContent += `\n${startMarker}\n${copilotInstructionsContent}\n${endMarker}\n`;
copilotFileContent += `
${startMarker}
> **NOTE**: Always use "DB UX" components and variables as project's conventions
${copilotInstructionsContent}
${endMarker}
`;

fs.writeFileSync(copilotInstructionsPath, copilotFileContent);
}
Expand Down
9 changes: 5 additions & 4 deletions packages/agent-cli/test/__snapshots__/index.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

exports[`default > check if docs are created 1`] = `
"
--- START: DB UX Copilot Instructions – do not edit below ---

--- START: DB UX Copilot Instructions – do not edit below ---
> **NOTE**: Always use "DB UX" components and variables as project's conventions

# @db-ux/components
- use y for frontend/node_modules/@db-ux/components/test.md

Expand All @@ -12,6 +13,6 @@ exports[`default > check if docs are created 1`] = `
- use x for frontend/node_modules/@db-ux/foundations/test.md


--- END: DB UX Copilot Instructions – do not edit above ---
"
--- END: DB UX Copilot Instructions – do not edit above ---
"
`;
9 changes: 7 additions & 2 deletions packages/components/agent/_instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@

### `DBButton` or `db-button`

- available variants are `outline`, `brand`, `filled`, `ghost`
- always use variant `outline` as default
- available variants are `outlined`, `brand`, `filled`, `ghost`
- always use variant `outlined` as default
- use variant `brand` as CTA or primary action
- if `noText`/`no-text` property is used add a `DBTooltip` or `db-tooltip` inside the Button
- always add a `type` as property as best practise

### `DBStack` or `db-stack`

- there is no property `gap="fix-md"`, available values are `small`, `medium`, etc.
- there is no property `direction="horizontal"`, available values are `row`, `column`, etc.
46 changes: 43 additions & 3 deletions packages/foundations/agent/_instructions.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,55 @@
## CSS

- If you use CSS, follow these rules:
- for `variables` like, sizing, spacing, elevation, border or container-size use the file **agent-path**/agent/css/Variables.md
- Always reference the file `**agent-path**/agent/css/Variables.md` for variables like sizing, spacing, elevation, border, or container-size. This file contains the authoritative list of available variables.
- Use the examples provided in `Variables.md` to ensure correct usage like:
- `padding: var(--db-spacing-fixed-md);`
- `height: var(--db-sizing-md);`
- `width: var(--db-container-xs);`
- `color: var(--db-adaptive-on-bg-basic-emphasis-90-default);`
- `background-color: var(--db-adaptive-bg-basic-level-2-default);`
- `font: var(--db-type-body-sm);`

## SCSS

- If you use SCSS, follow these rules:
- for `variables` like, sizing, spacing, elevation, border or container-size use the file **agent-path**/agent/scss/Variables.md
- Always reference the file `**agent-path**/agent/scss/Variables.md` for variables like sizing, spacing, elevation, border, or container-size. This file contains the authoritative list of available variables.
- Use the examples provided in `Variables.md` to ensure correct usage.
- Always use `@use` for imports:
- Variables: `@use "@db-ux/core-foundations/build/styles/variables";`
- Colors: `@use "@db-ux/core-foundations/build/styles/colors";`
- Fonts: `@use "@db-ux/core-foundations/build/styles/fonts";`
- Never use `as *` for the `@use`, use it like this:
- `padding: variables.$db-spacing-fixed-md;`
- `height: variables.$db-sizing-md;`
- `width: variables.$db-container-xs;`
- `color: colors.$db-adaptive-on-bg-basic-emphasis-90-default;`
- `background-color: colors.$db-adaptive-bg-basic-level-2-default;`
- `font: fonts.$db-type-body-sm;`

## Tailwind

- If you use Tailwind, follow these rules:
- for `variables` like, sizing, spacing, elevation, border or container-size use the file **agent-path**/agent/tailwind/Variables.md
- Always reference the file `**agent-path**/agent/tailwind/Variables.md` for variables like sizing, spacing, elevation, border, or container-size. This file contains the authoritative list of available variables.
- Use the examples provided in `Variables.md` to ensure correct usage like:
- padding: `p-fix-md`
- height: `h-siz-md`
- width: `w-container-xs`
- color: `text-adaptive-on-bg-basic-emphasis-90-default`
- background-color: `bg-adaptive-bg-basic-level-2-default`
- font: `text-body-sm`
- Always stick to the variables. Don't use values like `p-4` or `m-[16px]`; use `p-fix-xs` or `m-fix-md` instead.

## Figma MCP

- If you use Figma MCP always generate code with adapt this code to your project's conventions, such as using @db-ux/core-components and @db-ux/core-foundations.
- If a code snippet from Figma MCP has a font-family with "DB Neo Screen Head" use HTML headlines (`<h1>`, `<h2>`, `<h3>`, `<h4>`, `<h5>`, `<h6>` HTML tags).
- If the headline has a `font-weight: 300;` use `data-variant="light"` additionally.
- If a code snippet has a Figma `Mode`, add it as `data-xxx`, where `xxx` is the mode in lower-case.

### Tailwind

If you use tailwind follow those rules as well:

- Don't use values like `p-4` or `m-[16px]`; use `p-fix-xs` or `m-fix-md` instead.
- Never use something like `font-['DB_Neo_Screen_Head']` and `leading-[48px]` instead use `text-head-xx` class, where `-xx` can be a t-shirt size from `3xs` to `3xl`; If it has a `font-wight:300;` use `text-head-light-xx` instead.
4 changes: 3 additions & 1 deletion packages/foundations/agent/css/Variables.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
```css
.my-component {
inline-size: var(--db-sizing-md); /* Use sizing for fixed widths */
inline-size: var(
--db-container-sm
); /* Use container for larger fixed widths */
block-size: var(--db-sizing-lg); /* Use sizing for fixed heights */
padding: var(--db-spacing-fixed-sm); /* Use fixed spacing for paddings */
margin: var(
Expand Down
2 changes: 1 addition & 1 deletion packages/foundations/agent/scss/Variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
@use "@db-ux/core-foundations/build/styles/variables";

.my-component {
inline-size: variables.$db-sizing-md; // Use sizing for fixed widths
inline-size: variables.$db-container-sm; // Use container for larger fixed widths
block-size: variables.$db-sizing-lg; // Use sizing for fixed heights
padding: variables.$db-spacing-fixed-sm; // Use fixed spacing for paddings
margin: variables.$db-spacing-responsive-md; // Use responsive spacing for margins
Expand Down
193 changes: 127 additions & 66 deletions packages/foundations/agent/tailwind/Variables.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,136 @@
```html
<div class="flex flex-col gap-md">
<div class="grid grid-cols-2 md:grid-cols-3 gap-xs">
<div class="w-siz-md h-siz-lg p-fix-md m-res-sm border-sm radius-md">
Example
<div
class="w-container-md h-siz-lg p-fix-md m-res-sm border-sm radius-md"
>
<h1 class="text-head-lg">Headline</h1>
<h2 class="text-head-light-md">Subline</h2>
<p class="text-body-md">Normal Text</p>
<p class="text-body-sm">Smaller Text</p>
</div>
</div>
</div>
```

## Available Variables
## Custom utility classes

```css
--spacing-fix-3xs: var(--db-spacing-fixed-3xs);
--spacing-fix-2xs: var(--db-spacing-fixed-2xs);
--spacing-fix-xs: var(--db-spacing-fixed-xs);
--spacing-fix-sm: var(--db-spacing-fixed-sm);
--spacing-fix-md: var(--db-spacing-fixed-md);
--spacing-fix-lg: var(--db-spacing-fixed-lg);
--spacing-fix-xl: var(--db-spacing-fixed-xl);
--spacing-fix-2xl: var(--db-spacing-fixed-2xl);
--spacing-fix-3xl: var(--db-spacing-fixed-3xl);
--spacing-res-3xs: var(--db-spacing-responsive-3xs);
--spacing-res-2xs: var(--db-spacing-responsive-2xs);
--spacing-res-xs: var(--db-spacing-responsive-xs);
--spacing-res-sm: var(--db-spacing-responsive-sm);
--spacing-res-md: var(--db-spacing-responsive-md);
--spacing-res-lg: var(--db-spacing-responsive-lg);
--spacing-res-xl: var(--db-spacing-responsive-xl);
--spacing-res-2xl: var(--db-spacing-responsive-2xl);
--spacing-res-3xl: var(--db-spacing-responsive-3xl);
--spacing-siz-3xs: var(--db-sizing-3xs);
--spacing-siz-2xs: var(--db-sizing-2xs);
--spacing-siz-xs: var(--db-sizing-xs);
--spacing-siz-sm: var(--db-sizing-sm);
--spacing-siz-md: var(--db-sizing-md);
--spacing-siz-lg: var(--db-sizing-lg);
--spacing-siz-xl: var(--db-sizing-xl);
--spacing-siz-2xl: var(--db-sizing-2xl);
--spacing-siz-3xl: var(--db-sizing-3xl);
--gap-3xs: var(--db-spacing-fixed-3xs);
--gap-2xs: var(--db-spacing-fixed-2xs);
--gap-xs: var(--db-spacing-fixed-xs);
--gap-sm: var(--db-spacing-fixed-sm);
--gap-md: var(--db-spacing-fixed-md);
--gap-lg: var(--db-spacing-fixed-lg);
--gap-xl: var(--db-spacing-fixed-xl);
--gap-2xl: var(--db-spacing-fixed-2xl);
--gap-3xl: var(--db-spacing-fixed-3xl);
--border: var(--db-border-width-3xs);
--border-3xs: var(--db-border-width-3xs);
--border-2xs: var(--db-border-width-2xs);
--border-xs: var(--db-border-width-xs);
--border-sm: var(--db-border-width-sm);
--border-md: var(--db-border-width-md);
--border-lg: var(--db-border-width-lg);
--border-xl: var(--db-border-width-xl);
--border-2xl: var(--db-border-width-2xl);
--border-3xl: var(--db-border-width-3xl);
--radius: var(--db-border-radius-xs);
--radius-3xs: var(--db-border-radius-3xs);
--radius-2xs: var(--db-border-radius-2xs);
--radius-xs: var(--db-border-radius-xs);
--radius-sm: var(--db-border-radius-sm);
--radius-md: var(--db-border-radius-md);
--radius-lg: var(--db-border-radius-lg);
--radius-xl: var(--db-border-radius-xl);
--radius-2xl: var(--db-border-radius-2xl);
--radius-3xl: var(--db-border-radius-3xl);
--radius-full: var(--db-border-radius-full);
--shadow: var(--db-elevation-md);
--shadow-sm: var(--db-elevation-sm);
--shadow-md: var(--db-elevation-md);
--shadow-lg: var(--db-elevation-lg);
```
### Padding

- `p-fix-3xs`
- `p-fix-2xs`
- `p-fix-xs`
- `p-fix-sm`
- `p-fix-md`
- `p-fix-lg`
- `p-fix-xl`
- `p-fix-2xl`
- `p-fix-3xl`
- `p-res-3xs`
- `p-res-2xs`
- `p-res-xs`
- `p-res-sm`
- `p-res-md`
- `p-res-lg`
- `p-res-xl`
- `p-res-2xl`
- `p-res-3xl`

### Margin

- `m-fix-3xs`
- `m-fix-2xs`
- `m-fix-xs`
- `m-fix-sm`
- `m-fix-md`
- `m-fix-lg`
- `m-fix-xl`
- `m-fix-2xl`
- `m-fix-3xl`
- `m-res-3xs`
- `m-res-2xs`
- `m-res-xs`
- `m-res-sm`
- `m-res-md`
- `m-res-lg`
- `m-res-xl`
- `m-res-2xl`
- `m-res-3xl`

### Width

- `w-container-3xs`
- `w-container-2xs`
- `w-container-xs`
- `w-container-sm`
- `w-container-md`
- `w-container-lg`
- `w-container-xl`
- `w-container-2xl`
- `w-container-3xl`
- `w-siz-3xs`
- `w-siz-2xs`
- `w-siz-xs`
- `w-siz-sm`
- `w-siz-md`
- `w-siz-lg`
- `w-siz-xl`
- `w-siz-2xl`
- `w-siz-3xl`

### Height

- `h-container-3xs`
- `h-container-2xs`
- `h-container-xs`
- `h-container-sm`
- `h-container-md`
- `h-container-lg`
- `h-container-xl`
- `h-container-2xl`
- `h-container-3xl`
- `h-siz-3xs`
- `h-siz-2xs`
- `h-siz-xs`
- `h-siz-sm`
- `h-siz-md`
- `h-siz-lg`
- `h-siz-xl`
- `h-siz-2xl`
- `h-siz-3xl`

### Border

- `border-3xs`
- `border-2xs`
- `border-xs`
- `border-sm`
- `border-md`
- `border-lg`
- `border-xl`
- `border-2xl`
- `border-3xl`

### Border Radius

- `radius-3xs`
- `radius-2xs`
- `radius-xs`
- `radius-sm`
- `radius-md`
- `radius-lg`
- `radius-xl`
- `radius-2xl`
- `radius-3xl`

### Gap

- `gap-3xs`
- `gap-2xs`
- `gap-xs`
- `gap-sm`
- `gap-md`
- `gap-lg`
- `gap-xl`
- `gap-2xl`
- `gap-3xl`
1 change: 1 addition & 0 deletions packages/foundations/scss/fonts/_index.scss
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
@forward "font-sizes";
@forward "variables";
23 changes: 23 additions & 0 deletions packages/foundations/scss/fonts/_variables.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/* Use for body tags like <p> */

$db-type-body-3xs: var(--db-type-body-3xs);
$db-type-body-2xs: var(--db-type-body-2xs);
$db-type-body-xs: var(--db-type-body-xs);
$db-type-body-sm: var(--db-type-body-sm);
$db-type-body-md: var(--db-type-body-md);
$db-type-body-lg: var(--db-type-body-lg);
$db-type-body-xl: var(--db-type-body-xl);
$db-type-body-2xl: var(--db-type-body-2xl);
$db-type-body-3xl: var(--db-type-body-3xl);

/* Use for headline tags like <h1> */

$db-type-headline-3xs: var(--db-type-headline-3xs);
$db-type-headline-2xs: var(--db-type-headline-2xs);
$db-type-headline-xs: var(--db-type-headline-xs);
$db-type-headline-sm: var(--db-type-headline-sm);
$db-type-headline-md: var(--db-type-headline-md);
$db-type-headline-lg: var(--db-type-headline-lg);
$db-type-headline-xl: var(--db-type-headline-xl);
$db-type-headline-2xl: var(--db-type-headline-2xl);
$db-type-headline-3xl: var(--db-type-headline-3xl);
14 changes: 14 additions & 0 deletions packages/foundations/tailwind/theme/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,20 @@
--spacing-siz-xl: var(--db-sizing-xl);
--spacing-siz-2xl: var(--db-sizing-2xl);
--spacing-siz-3xl: var(--db-sizing-3xl);
--spacing-screen-xs: var(--db-screen-xs);
--spacing-screen-sm: var(--db-screen-sm);
--spacing-screen-md: var(--db-screen-md);
--spacing-screen-lg: var(--db-screen-lg);
--spacing-screen-xl: var(--db-screen-xl);
--spacing-container-3xs: var(--db-container-3xs);
--spacing-container-2xs: var(--db-container-2xs);
--spacing-container-xs: var(--db-container-xs);
--spacing-container-sm: var(--db-container-sm);
--spacing-container-md: var(--db-container-md);
--spacing-container-lg: var(--db-container-lg);
--spacing-container-xl: var(--db-container-xl);
--spacing-container-2xl: var(--db-container-2xl);
--spacing-container-3xl: var(--db-container-3xl);
--gap-3xs: var(--db-spacing-fixed-3xs);
--gap-2xs: var(--db-spacing-fixed-2xs);
--gap-xs: var(--db-spacing-fixed-xs);
Expand Down
Loading
Loading