Skip to content

ginny100/ZenCycle

Repository files navigation

🪷 ZenCycle

GitHub action badge GitHub action badge

hits
Theme

Table of Contents

Intro

🪷 ZenCycle is a Chrome extension designed to help you regain focus and boost productivity by incorporating the Pomodoro technique with website-blocking feature. With customizable focus and break durations, this extension empowers you to manage distractions and stay on track with your tasks.

Features

🪷 Customizable focus duration, break duration, and list of blocked websites and countdown timer

ZenCycle Setting

🪷 Dark mode and light mode

ZenCycle Dark Mode ZenCycle Dark Mode

🪷 Focus mode with website-blocking feature

ZenCycle Focus Mode

🪷 Push notification with sound after each focus and break

ZenCycle Push Notification ZenCycle Push Notification

Tech Stacks

Getting started

  1. When you're using Windows run this:

    • git config --global core.eol lf
    • git config --global core.autocrlf input

    This will set the EOL (End of line) character to be the same as on Linux/macOS. Without this, our bash script won't work, and you will have conflicts with developers on Linux/macOS.

  2. Clone this repository.

  3. Edit /packages/i18n/locales/{your locale(s)}/messages.json

  4. In the objects extensionDescription and extensionName, change the message fields (leave description alone)

  5. In /.package.json, change the version to the desired version of your extension.

  6. Install pnpm globally: npm install -g pnpm (check your node version >= 18.19.1)

  7. Run pnpm install

Then, depending on the target browser:

For Chrome:

  1. Run: nvm install stable && nvm use stable
    • Dev: pnpm dev (on Windows, you should run as administrator; see issue#456)
    • Prod: pnpm build
  2. Open in browser - chrome://extensions
  3. Check - Developer mode
  4. Click - Load unpacked in the upper left corner
  5. Select the dist directory from the boilerplate project

Install dependency for turborepo:

For root:

  1. Run pnpm i <package> -w

For module:

  1. Run pnpm i <package> -F <module name>

package - Name of the package you want to install e.g. nodemon
module-name - You can find it inside each package.json under the key name, e.g. @extension/content-script, you can use only content-script without @extension/ prefix

Troubleshooting

Hot module reload seems to have frozen

If saving source files doesn't cause the extension HMR code to trigger a reload of the browser page, try this:

  1. Ctrl+C the development server and restart it (pnpm run dev)
  2. If you get a grpc error, kill the turbo process and run pnpm dev again.

Reference

About

Regain your focus, regain your life

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors