diff --git a/docs/data/toolpad/core/introduction/examples.md b/docs/data/toolpad/core/introduction/examples.md
index 975af850692..587a877e407 100644
--- a/docs/data/toolpad/core/introduction/examples.md
+++ b/docs/data/toolpad/core/introduction/examples.md
@@ -7,6 +7,26 @@ title: Examples
Browse a collection of Toolpad Core examples to help you get started quickly.
+## Installation
+
+You can create a new project based on any of these examples using the `create-toolpad-app` command:
+
+
+
+```bash npm
+npx create-toolpad-app@latest --example "example-name"
+```
+
+```bash pnpm
+pnpm create toolpad-app --example "example-name"
+```
+
+```bash yarn
+yarn create toolpad-app --example "example-name"
+```
+
+
+
## Featured examples
{{"component": "modules/components/examples/CoreFeaturedExamples.tsx"}}
diff --git a/docs/data/toolpad/core/introduction/tutorial.md b/docs/data/toolpad/core/introduction/tutorial.md
index 2da0269d33c..8cae1c5e245 100644
--- a/docs/data/toolpad/core/introduction/tutorial.md
+++ b/docs/data/toolpad/core/introduction/tutorial.md
@@ -19,7 +19,7 @@ npx create-toolpad-app@latest --example tutorial
```
```bash pnpm
-pnpm dlx create toolpad-app --example tutorial
+pnpm create toolpad-app --example tutorial
```
```bash yarn
diff --git a/docs/src/modules/components/examples/ExamplesFeatured.tsx b/docs/src/modules/components/examples/ExamplesFeatured.tsx
index 96015ca917d..38026a299ee 100644
--- a/docs/src/modules/components/examples/ExamplesFeatured.tsx
+++ b/docs/src/modules/components/examples/ExamplesFeatured.tsx
@@ -15,6 +15,9 @@ import CodeRoundedIcon from '@mui/icons-material/CodeRounded';
import OpenInNewRoundedIcon from '@mui/icons-material/OpenInNewRounded';
import { useTheme } from '@mui/material/styles';
import { sxChip } from 'docs/src/modules/components/AppNavDrawerItem';
+import ContentCopyRounded from '@mui/icons-material/ContentCopyRounded';
+import CheckRounded from '@mui/icons-material/CheckRounded';
+import copy from 'clipboard-copy';
import { Example, versionGitHubLink } from './examplesUtils';
interface FeaturedExamplesProps {
@@ -23,6 +26,13 @@ interface FeaturedExamplesProps {
export default function ExamplesFeatured(props: FeaturedExamplesProps) {
const t = useTranslate();
+ const [copiedId, setCopiedId] = React.useState(null);
+
+ const handleCopy = React.useCallback((text: string, id: string) => {
+ copy(text);
+ setCopiedId(id);
+ setTimeout(() => setCopiedId(null), 2000);
+ }, []);
const examples = props.examples.filter((example: Example) => example.featured === true);
const docsTheme = useTheme();
@@ -32,6 +42,9 @@ export default function ExamplesFeatured(props: FeaturedExamplesProps) {
{examples.map((example: Example) => {
const computedSrc =
docsTheme?.palette?.mode === 'dark' && example.srcDark ? example.srcDark : example.src;
+ const exampleName = example.source.split('/').pop();
+ const installCommand = `pnpm create toolpad-app --example ${exampleName}`;
+
return (
@@ -160,6 +173,22 @@ export default function ExamplesFeatured(props: FeaturedExamplesProps) {
+
+
+