{"_id":"@academy-sdk/starter","name":"@academy-sdk/starter","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.1":{"name":"@academy-sdk/starter","version":"1.0.1","description":"Starter kit for building custom Academy learner templates","scripts":{"dev":"node build.mjs --watch","build":"node build.mjs","zip":"node build.mjs && node zip.mjs","preview":"node preview.mjs"},"dependencies":{"@academy/sdk":"file:../sdk"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"devDependencies":{"@tailwindcss/postcss":"^4.2.1","archiver":"^7.0.0","class-variance-authority":"0.7.1","clsx":"2.1.1","esbuild":"^0.25.0","lucide-react":"0.555.0","postcss":"^8.5.8","react":"19.2.0","react-dom":"19.2.0","tailwind-merge":"3.4.0","tailwindcss":"^4.2.1","typescript":"5.9.3"},"_id":"@academy-sdk/starter@1.0.1","gitHead":"cc222c828d62a772b90d160092f533c4515c71d2","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-kI7h0zVTlue5Os1D+W1OIUogA10QkJKIdgp9NjDzhNgq9LXtu2PuHtOKgpgbwy4U31qIsSu5IHxre+S5hch4Nw==","shasum":"97c88d22a90d3caab6cbf637154e72d5c6b78c83","tarball":"https://registry.npmjs.org/@academy-sdk/starter/-/starter-1.0.1.tgz","fileCount":40,"unpackedSize":233504,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDHem8C8YW2lpNvHTK4LAb9BROfzeWdT39NZ2GGkv6LGQIgGYRHWiea7sNrb1bjTAX5cO/l0+EVJfA6fgjnpxTyHKM="}]},"_npmUser":{"name":"hamzeh010","email":"hamzehsalhi92@gmail.com"},"directories":{},"maintainers":[{"name":"hamzeh010","email":"hamzehsalhi92@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/starter_1.0.1_1773863323955_0.9591935181416942"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-18T19:48:43.872Z","1.0.1":"2026-03-18T19:48:44.152Z","modified":"2026-03-18T19:48:44.369Z"},"maintainers":[{"name":"hamzeh010","email":"hamzehsalhi92@gmail.com"}],"description":"Starter kit for building custom Academy learner templates","readme":"# @academy-sdk/starter\n\nA minimal starter template for building custom Academy learner templates with the `@academy-sdk/sdk`.\n\n## Installation\n\n```bash\nnpm install @academy-sdk/starter\n```\n\nOr clone and customize:\n\n```bash\ngit clone <repo-url>\ncd template-starter\nnpm install\n```\n\n## Usage\n\n### As an npm dependency\n\n```tsx\nimport template from '@academy-sdk/starter';\n\n// Register the template with the Academy platform\nregisterTemplate(template);\n```\n\n### As a standalone template\n\n1. Edit `src/manifest.json` with your template name\n2. Customize pages in `src/pages/` (copy from SDK defaults as starting point)\n3. Update `src/index.tsx` to register your custom pages\n4. Build and package:\n\n```bash\nnpm run build    # Compile to dist/bundle.js\nnpm run zip      # Create deployable .zip package\nnpm run preview  # Local preview at http://localhost:3000\nnpm run dev      # Watch mode for development\n```\n\n5. Upload the `.zip` file in **Academy Creator Dashboard → Settings → Learner Template**\n\n## What's Included\n\nThis is a **minimal starter** — it customizes only a few pages and uses SDK defaults for the rest:\n\n| Page | Source |\n|---|---|\n| Course Detail | Custom (`src/pages/CourseDetailPage.tsx`) |\n| Course Player | Custom (`src/pages/CoursePlayerPage.tsx`) |\n| All other pages | SDK defaults |\n\n### Custom Components\n\n- **CustomSidebar** — Navigation sidebar\n- **CustomNavbar** — Top navigation bar\n- **DefaultLayout** — Layout wrapper\n\n## Customizing a Page\n\n1. Copy the SDK default page or start from the examples in `src/pages/`\n2. Modify the JSX — change layout, colors, components\n3. Import your page in `src/index.tsx`:\n\n```typescript\nimport { CustomMyLearningPage } from './pages/MyLearningPage';\n\nconst template: TemplateManifest = {\n  ...defaults,\n  pages: {\n    ...defaults.pages,\n    MyLearningPage: CustomMyLearningPage,\n  },\n};\n```\n\n## How It Works\n\n- All data comes through **props** — no API calls needed\n- Use `@academy-sdk/sdk` components as building blocks, or build from scratch\n- Only customize the **view layer** — the platform handles routing, data, and logic\n\n## Available SDK Components\n\n| Category | Components |\n|---|---|\n| Atoms | Button, Input, Card, Badge, Avatar, ProgressBar, Tabs |\n| Molecules | CourseCard, Pagination, PageHeader, SearchInput, EmptyState, LoadingSpinner |\n| Organisms | LearnerNavbar, LearnerSidebar, CourseSidebar, LessonNotes, LessonBookmarks |\n| Pages | MyLearningPage, CatalogCoursesPage, CourseDetailPage, CoursePlayerPage, MessagesPage, ... |\n\n## Preview Mode\n\nPreview locally with mock data:\n\n```bash\nnpm run preview            # starts at http://localhost:3000\nPORT=4000 npm run preview  # custom port\n```\n\nThe preview toolbar lets you switch between all pages. Edit `preview/mock-data.ts` to customize test data.\n\nFiles in `preview/` are **never** included in the production bundle.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-67fe6639361db82c3ebb82f6480519fc"}