A timeless way to build websites. For the thoughtful artist.
-
Clone the repository
git clone https://github.com/spjpgrd/bookplate.git cd bookplate
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser
Visit http://localhost:3000 to view your site.
This project is configured with TypeScript for better type safety and developer experience 👍
- Type Check:
npm run type-check
- Check types without emitting files - Type Check (Watch):
npm run type-check:watch
- Watch mode for type checking - Build:
npm run build
- Compile TypeScript to JavaScript - Build (Watch):
npm run build:watch
- Watch mode for building
To convert existing JavaScript files to TypeScript:
- Rename the file from
.js
to.ts
- Add proper type annotations
- Update imports to use
.ts
extensions where needed
This project includes Storybook for component development and documentation.
npm run storybook
This will start Storybook on port 2025. Visit http://localhost:2025 to view your component library.
npm run build-storybook
This creates a static build of Storybook for deployment.
This project is configured with Chromatic for automated visual testing and component deployment. Chromatic automatically captures visual snapshots of your components and detects visual regressions on every push.
- Automated Testing: Chromatic runs automatically via GitHub Actions on every push
- Visual Snapshots: Captures screenshots of your Storybook components
- Regression Detection: Alerts you to unexpected visual changes
- Change Review: Provides a visual diff interface for reviewing changes
You can run Chromatic locally to test changes before pushing:
npm run chromatic
This will capture snapshots and upload them to your Chromatic dashboard.
After each push, visit your Chromatic dashboard to:
- Review visual changes
- Approve or reject visual updates
- Track component history
- Collaborate with your team
The GitHub Actions workflow automatically handles the CI/CD integration, so visual testing happens seamlessly in your development workflow.
For more details, see the documentation or open an issue if you need help.