better-notify
All your notifications from one library. For Node.js and Bun.
파일 탐색기
최종 버전 다운로드 (.zip)- LICENSE.txt
- SKILL.md
- openai.yaml
- adapt.md
- animate.md
- audit.md
- bolder.md
- brand.md
- clarify.md
- codex.md
- cognitive-load.md
- color-and-contrast.md
- colorize.md
- craft.md
- critique.md
- delight.md
- distill.md
- document.md
- extract.md
- harden.md
- heuristics-scoring.md
- interaction-design.md
- layout.md
- live.md
- motion-design.md
- onboard.md
- optimize.md
- overdrive.md
- personas.md
- polish.md
- product.md
- quieter.md
- responsive-design.md
- shape.md
- spatial-design.md
- teach.md
- typeset.md
- typography.md
- ux-writing.md
- SKILL.md
- 01-introductory.md
- 02-elementary-rules-of-usage.md
- 03-elementary-principles-of-composition.md
- 04-a-few-matters-of-form.md
- 05-words-and-expressions-commonly-misused.md
- README.md
- signs-of-ai-writing.md
- SKILL.md
- category-concept.md
- category-guide.md
- category-implementation.md
- category-reference.md
- SKILL.md
- frontend-design
- impeccable
- writing-clearly-and-concisely
- action.yml
- action.yml
- action.yml
- action.yml
- add_your_company.yml
- bug_report.yml
- config.yml
- feature_request.yml
- general_question.yml
- check-jobs-for-errors.cjs
- canary.yml
- ci.yml
- pr-title.yml
- preview-cleanup.yml
- release.yml
- renovate.yml
- CODEOWNERS
- pull_request_template.md
- renovate-config.js
- commit-msg
- post-checkout
- extensions.json
- settings.json
- 5-new-transports-2-channels-bun-support.mdx
- introducing-betternotify.mdx
- nodejs-send-email-smtp.mdx
- failover-and-middleware.mdx
- meta.json
- custom-channels.mdx
- discord.mdx
- email.mdx
- github.mdx
- meta.json
- push.mdx
- slack.mdx
- sms.mdx
- telegram.mdx
- web-push.mdx
- whatsapp.mdx
- zapier.mdx
- catalog-and-procedures.mdx
- channels.mdx
- hooks.mdx
- meta.json
- middleware.mdx
- plugins.mdx
- standard-schema.mdx
- transports.mdx
- examples.mdx
- installation.mdx
- meta.json
- quick-start.mdx
- why-betternotify.mdx
- bullmq.mdx
- cloudflare.mdx
- index.mdx
- meta.json
- logger.mdx
- mcp.mdx
- meta.json
- sinks.mdx
- stores.mdx
- tracers.mdx
- webhook-router.mdx
- custom-middleware.mdx
- meta.json
- with-dry-run.mdx
- with-event-logger.mdx
- with-idempotency.mdx
- with-rate-limit.mdx
- with-tag-inject.mdx
- with-tracing.mdx
- error-handling.mdx
- meta.json
- testing.mdx
- custom-adapters.mdx
- handlebars.mdx
- index.mdx
- meta.json
- mjml.mdx
- react-email.mdx
- cf-account-id.png
- cf-token-permissions.png
- autosend.mdx
- cloudflare-email.mdx
- custom-transports.mdx
- discord.mdx
- github.mdx
- index.mdx
- mailchimp.mdx
- meta.json
- mock.mdx
- multi-transport.mdx
- onesignal-email.mdx
- onesignal-push.mdx
- onesignal-sms.mdx
- resend.mdx
- selligent.mdx
- ses.mdx
- slack.mdx
- smtp.mdx
- telegram.mdx
- twilio.mdx
- unosend.mdx
- vapid.mdx
- whatsapp-meta.mdx
- zapier.mdx
- index.mdx
- meta.json
- new-updates-5-transports-2-channels-bun-support.png
- nodejs-send-email-smtp.png
- favicon.ico
- favicon.svg
- lucas-reis.png
- generate-changelog.ts
- generate-openapi.ts
- cross-transport.tsx
- email.tsx
- push.tsx
- sms.tsx
- telegram.tsx
- whatsapp.tsx
- announcement-strip.tsx
- author.tsx
- channels.tsx
- cli-preview.tsx
- comparison.tsx
- faq-cta.tsx
- features.tsx
- footer.tsx
- header.tsx
- hero-diagram.tsx
- hero.tsx
- install.tsx
- marquee.tsx
- mcp.tsx
- pipeline.tsx
- runtime-badges.tsx
- syntax.tsx
- trusted-by.tsx
- veloz.tsx
- accordion.tsx
- alert-dialog.tsx
- alert.tsx
- avatar.tsx
- badge.tsx
- breadcrumb.tsx
- button.tsx
- card.tsx
- checkbox.tsx
- collapsible.tsx
- command.tsx
- dialog.tsx
- dropdown-menu.tsx
- flow-field-background.tsx
- input-group.tsx
- input.tsx
- label.tsx
- navigation-menu.tsx
- popover.tsx
- scroll-area.tsx
- select.tsx
- separator.tsx
- sheet.tsx
- sidebar.tsx
- skeleton.tsx
- switch.tsx
- tabs.tsx
- textarea.tsx
- toggle-group.tsx
- toggle.tsx
- tooltip.tsx
- code-editor.tsx
- idempotency-demo.tsx
- mdx.tsx
- mermaid.tsx
- not-found.tsx
- package-install.tsx
- pipeline-flow.tsx
- queue-flow.tsx
- rate-limit-demo.tsx
- retry-layers.tsx
- signal-flow.tsx
- use-analytics.ts
- use-in-view.ts
- use-local-storage.ts
- use-mobile.ts
- use-posthog-client.ts
- use-reduced-motion.ts
- use-star-count.ts
- blog-source.ts
- brand-assets.ts
- cn.ts
- highlight.ts
- icons.ts
- integrations.ts
- layout.shared.tsx
- openapi.ts
- personas.ts
- seo.ts
- shared.ts
- source.ts
- utils.ts
- zip.ts
- search.ts
- $.tsx
- index.tsx
- $.tsx
- $slug.tsx
- index.tsx
- $slug.tsx
- index.tsx
- __root.tsx
- brand-assets[.]zip.ts
- index.tsx
- llms-full[.]txt.ts
- llms[.]mdx.docs.$.ts
- llms[.]txt.ts
- mcp.tsx
- og.$.tsx
- ph.$.ts
- robots[.]txt.ts
- sitemap[.]xml.ts
- app.css
- router.tsx
- routeTree.gen.ts
- vite-env.d.ts
- .env.example
- .gitignore
- CHANGELOG.md
- components.json
- openapi.json
- package.json
- source.config.ts
- tsconfig.json
- turbo.json
- vite.config.ts
- wrangler.canary.jsonc
- wrangler.jsonc
- index.ts
- package.json
- tsconfig.json
- package.json
- app.js
- index.html
- sw.js
- index.ts
- package.json
- tsconfig.json
- package.json
- advanced-middleware.ts
- advanced-plugins.ts
- bullmq.ts
- cloudflare.ts
- mock.ts
- batch.ts
- cloudflare-email-attachment.ts
- cloudflare-email-logger-evlog.ts
- cloudflare-email.ts
- custom-channel-no-input.ts
- custom-channel.ts
- discord-attachment.ts
- discord-handlebars.ts
- discord-zapier.ts
- discord.ts
- dry-run.ts
- email-autosend.ts
- email-custom-handlebars.ts
- email-mailchimp.ts
- email-multi-onesignal-smtp.ts
- email-onesignal.ts
- email-selligent.ts
- email-smtp-failover.ts
- email-unosend-attachment.ts
- email-unosend-template.ts
- email-unosend.ts
- email-zapier.ts
- github-issue-comment.ts
- github-issue-handlebars.ts
- github-issue.ts
- github-pr-comment.ts
- github-pr-line-comment.ts
- github-pr-review.ts
- hooks.ts
- http-transport.ts
- kitchen-sink.ts
- multi-channel.ts
- multi-failover.ts
- multi-mirrored.ts
- multi-parallel.ts
- multi-race.ts
- multi-random.ts
- multi-round-robin.ts
- per-transport-from.ts
- plugins.ts
- push-onesignal.ts
- rate-limited.ts
- react-email.ts
- resend-attachment.ts
- resend-handlebars.ts
- resend-mjml.ts
- resend.ts
- single.ts
- slack-attachment.ts
- slack-handlebars.ts
- slack.ts
- sms-onesignal.ts
- sms-twilio.ts
- smtp-handlebars.ts
- smtp-mjml.ts
- smtp.ts
- telegram-cross-transport.ts
- telegram.ts
- whatsapp-meta.ts
- whatsapp-mock.ts
- with-observability.ts
- zapier.ts
- welcome.tsx
- example-mp3.mp3
- example-pdf.pdf
- index.ts
- mock-transport.ts
- env.ts
- index.ts
- .env.example
- package.json
- tsconfig.json
- package.json
- .gitkeep
- package.json
- tsconfig.json
- welcome.ts
- base.ts
- env.d.ts
- package.json
- base.json
- package.json
- logo-short-white.svg
- logo-short.svg
- logo-stacked-white.svg
- logo-stacked.svg
- logo-wide-white.svg
- logo-wide.svg
- bun.tsx
- cloudflare-workers.tsx
- index.ts
- model-context-protocol.tsx
- nodejs.tsx
- unosend.tsx
- vercel.tsx
- index.ts
- logo-short.tsx
- logo-stacked.tsx
- logo-wide.tsx
- package.json
- tsconfig.json
- turbo.json
- index.test.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.test.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- index.test.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- define-channel.test-d.ts
- define-channel.test.ts
- define-channel.ts
- types.test-d.ts
- types.ts
- handle-promise.test.ts
- handle-promise.ts
- obscure-email.test.ts
- obscure-email.ts
- obscure-string.test.ts
- obscure-string.ts
- wait-for.test.ts
- wait-for.ts
- create-middleware.test.ts
- create-middleware.ts
- index.ts
- types.ts
- with-dry-run.test.ts
- with-dry-run.ts
- with-event-logger.test.ts
- with-event-logger.ts
- with-event-logger.types.ts
- with-idempotency.test.ts
- with-idempotency.ts
- with-idempotency.types.ts
- with-rate-limit.test.ts
- with-rate-limit.ts
- with-rate-limit.types.ts
- with-tag-inject.test.ts
- with-tag-inject.ts
- with-tag-inject.types.ts
- with-tracing.test.ts
- with-tracing.ts
- with-tracing.types.ts
- create-plugin.test.ts
- create-plugin.ts
- index.ts
- types.ts
- index.ts
- types.test.ts
- types.ts
- worker.test.ts
- worker.ts
- console-event-sink.test.ts
- console-event-sink.ts
- create-event-sink.test.ts
- create-event-sink.ts
- in-memory-event-sink.test.ts
- in-memory-event-sink.ts
- index.ts
- types.ts
- create-idempotency-store.test.ts
- create-idempotency-store.ts
- create-rate-limit-store.test.ts
- create-rate-limit-store.ts
- create-suppression-list.test.ts
- create-suppression-list.ts
- in-memory-idempotency-store.test.ts
- in-memory-idempotency-store.ts
- in-memory-rate-limit-store.test.ts
- in-memory-rate-limit-store.ts
- in-memory-suppression-list.test.ts
- in-memory-suppression-list.ts
- index.ts
- types.ts
- in-memory-tracer.test.ts
- in-memory-tracer.ts
- index.ts
- types.ts
- create-transport.ts
- http-status-code.ts
- http.test.ts
- http.ts
- index.ts
- is-provider-retriable.test.ts
- is-provider-retriable.ts
- map-http-status.test.ts
- map-http-status.ts
- map-transport.ts
- mock-transport.ts
- multi.ts
- multi.types.ts
- transports.test.ts
- types.ts
- catalog.test.ts
- catalog.ts
- client.multichannel.test.ts
- client.no-input.test.ts
- client.test-d.ts
- client.ts
- config.test.ts
- config.ts
- errors.test.ts
- errors.ts
- index.ts
- logger.test.ts
- logger.ts
- notify.test.ts
- notify.ts
- pipeline.test.ts
- pipeline.ts
- schema.test.ts
- schema.ts
- transport.ts
- types.ts
- webhook.test.ts
- webhook.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- copy-templates.ts
- index.ts
- inject-versions.test.ts
- inject-versions.ts
- pm.test.ts
- pm.ts
- prompts.ts
- scaffold.test.ts
- scaffold.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- discord.test.ts
- discord.ts
- discord.types.ts
- index.ts
- mock.ts
- types.ts
- channel.test.ts
- channel.ts
- index.ts
- integration.test.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- format-address.test.ts
- format-address.ts
- normalize-address.test.ts
- normalize-address.ts
- resolve-from.test.ts
- resolve-from.ts
- test-utils.ts
- with-suppression-list.test.ts
- with-suppression-list.ts
- with-suppression-list.types.ts
- create-transport.test.ts
- create-transport.ts
- index.ts
- mock.test.ts
- mock.ts
- multi.test.ts
- multi.ts
- multi.types.ts
- types.ts
- channel.test.ts
- channel.ts
- client.batch.test.ts
- client.test.ts
- index.ts
- plugins-integration.test.ts
- template.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- github.actions.ts
- github.errors.ts
- github.repo.ts
- github.test.ts
- github.ts
- github.types.ts
- index.ts
- mock.ts
- types.ts
- channel.schemas.ts
- channel.test.ts
- channel.ts
- index.ts
- integration.test.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- index.test.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- index.test.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- api-key-auth.test.ts
- api-key-auth.ts
- bearer-auth.test.ts
- bearer-auth.ts
- create-auth.test.ts
- create-auth.ts
- index.ts
- types.ts
- index.ts
- ring-buffer.test.ts
- ring-buffer.ts
- types.ts
- filter-routes.test.ts
- filter-routes.ts
- index.ts
- index.ts
- list-overrides.test.ts
- list-overrides.ts
- register-tools.test.ts
- register-tools.ts
- to-mcp-input-schema.test.ts
- to-mcp-input-schema.ts
- http-handler.test.ts
- http-handler.ts
- index.ts
- types.ts
- index.ts
- server.test.ts
- server.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- index.test.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- email.test.ts
- email.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- push.test.ts
- push.ts
- shared.ts
- sms.test.ts
- sms.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- index.ts
- mock.ts
- multi.test.ts
- multi.ts
- types.ts
- channel.test.ts
- channel.ts
- index.ts
- integration.test.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.test.ts
- index.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- index.test.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- index.test.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- index.ts
- mock.ts
- slack.test.ts
- slack.ts
- slack.types.ts
- types.ts
- channel.test.ts
- channel.ts
- index.ts
- integration.test.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.ts
- mock.ts
- multi.test.ts
- multi.ts
- types.ts
- channel.test.ts
- channel.ts
- index.ts
- integration.test.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.test.ts
- index.ts
- integration.test.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.ts
- mock.ts
- telegram.test.ts
- telegram.ts
- telegram.types.ts
- types.ts
- channel.test.ts
- channel.ts
- escape.test.ts
- escape.ts
- index.ts
- integration.test.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- twilio.test.ts
- twilio.ts
- twilio.types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.test.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- index.ts
- mock.test.ts
- mock.ts
- multi.ts
- types.ts
- vapid.test.ts
- vapid.ts
- vapid.types.ts
- channel.test.ts
- channel.ts
- crypto.test.ts
- crypto.ts
- index.ts
- integration.test.ts
- types.ts
- webcrypto.d.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- index.ts
- whatsapp-meta.test.ts
- whatsapp-meta.ts
- whatsapp-meta.types.ts
- index.ts
- mock.ts
- types.ts
- validate-rendered.test.ts
- validate-rendered.ts
- channel.schemas.ts
- channel.test.ts
- channel.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- post-webhook.test.ts
- post-webhook.ts
- validate-url.test.ts
- validate-url.ts
- channel-transport.test.ts
- channel-transport.ts
- channel-transport.types.ts
- index.ts
- mock.test.ts
- mock.ts
- types.ts
- zapier.test.ts
- zapier.ts
- zapier.types.ts
- channel.test-d.ts
- channel.test.ts
- channel.ts
- index.ts
- is-retriable.test.ts
- is-retriable.ts
- types.ts
- CHANGELOG.md
- package.json
- README.md
- rolldown.config.ts
- tsconfig.json
- turbo.json
- vitest.config.ts
- best-practices.md
- setup.md
- SKILL.md
- welcome.tsx
- notify.ts
- rpc.ts
- server.ts
- .env.example
- _gitignore
- package.json
- tsconfig.json
- index.ts.hbs
- package.json.hbs
- tsconfig.json.hbs
- index.ts.hbs
- package.json.hbs
- tsconfig.json.hbs
- package.json.hbs
- index.test.ts.hbs
- index.ts.hbs
- package.json.hbs
- README.md.hbs
- rolldown.config.ts.hbs
- tsconfig.json.hbs
- config.ts
- .gitignore
- .nvmrc
- .oxfmtrc.json
- .oxlintrc.json
- .prettierignore
- .release-please-manifest.json
- CLAUDE.md
- commitlint.config.cjs
- LICENSE
- package.json
- pnpm-lock.yaml
- pnpm-workspace.yaml
- PRODUCT.md
- README.md
- RELEASE-NOTES-GUIDE.md
- release-please-config.json
- RELEASING.md
- renovate.json
- skills-lock.json
- tsconfig.base.json
- turbo.json
- vitest.config.ts
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/better-notify/better-notify
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd better-notify
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Node.js
쉬움 추천사전 준비물
npm install @betternotify/core @betternotify/email zod
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
명령어 실행 후 터미널에 나타나는 주소(보통 http://localhost:3000 형태)를 브라우저에서 열어보세요.
이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.
// repository documentation
Was this content helpful?
(0 ratings)
