Skip to content

📚 TypeScript, Effect-powered SDK for book metadata APIs, such as HardCover, Open Library, and Google Books

Notifications You must be signed in to change notification settings

kevinmichaelchen/book-effect

Repository files navigation

book-effect

You've read books. They're on your bookshelf or Kindle. Maybe you've logged them in GoodReads. Unfortunately, GoodReads doesn't have an official API. But alternatives do, such as Google, Hardcover, Open Library, etc. This monorepo provides Effect-based clients for programmatic access to book metadata APIs.

Packages

Package Version Description
@book-effect/core npm Platform-agnostic types and abstractions
@book-effect/hardcover npm Hardcover GraphQL API client
@book-effect/open-library npm Open Library REST API client
@book-effect/google-books npm Google Books REST API client

Development

# Install dependencies
pnpm install

# Build all packages
nx run-many -t build

# Build a specific package
nx build core

Releasing

Releases are fully automated via GitHub Actions when commits are pushed to main. The workflow uses NX Release with conventional commits to determine version bumps:

Commit prefix Version bump
feat: Minor
fix: Patch
BREAKING CHANGE Major

On each push to main, the release workflow will:

  1. Analyze commits since the last release
  2. Bump package versions accordingly
  3. Update CHANGELOG.md
  4. Create a git tag and GitHub Release
  5. Publish packages to npm

About

📚 TypeScript, Effect-powered SDK for book metadata APIs, such as HardCover, Open Library, and Google Books

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •