From df2a3b24bc2e20ef17347be437a5a65b4e50f39e Mon Sep 17 00:00:00 2001 From: RomanDenysov Date: Sat, 7 Feb 2026 14:25:26 +0100 Subject: [PATCH 1/4] docs: polish README with banner, comparison table, and CONTRIBUTING.md Add SVG banner, dynamic CI badge, "Why Consentify?" comparison table, expanded SaaS section, roadmap, and a CONTRIBUTING.md guide. Co-Authored-By: Claude Opus 4.6 --- CONTRIBUTING.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 26 +++++++++++++++++++++++++- assets/banner.svg | 5 +++++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 CONTRIBUTING.md create mode 100644 assets/banner.svg diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..25c24b1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,45 @@ +# Contributing to Consentify + +Thanks for your interest in contributing! + +## Prerequisites + +- Node.js 20+ +- pnpm 9+ + +## Setup + +```bash +git clone https://github.com/RomanDenysov/consentify.git +cd consentify +pnpm install +``` + +## Development + +```bash +# Build all packages +pnpm -r build + +# Run tests +pnpm test +``` + +## Code Style + +- TypeScript strict mode +- Zero runtime dependencies in `@consentify/core` +- All new features must include tests + +## Pull Request Process + +1. Fork the repository +2. Create a feature branch (`git checkout -b feat/my-feature`) +3. Make your changes and add tests +4. Run `pnpm -r build && pnpm test` to verify everything passes +5. Commit with a descriptive message (`feat: add my feature`) +6. Open a PR to `main` + +## License + +By contributing, you agree that your contributions will be licensed under the MIT License. diff --git a/README.md b/README.md index 2aaedbc..963ded8 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ +

consentify

+ # consentify **Headless cookie consent that actually blocks scripts.** [![npm version](https://img.shields.io/npm/v/@consentify/core.svg)](https://www.npmjs.com/package/@consentify/core) -[![tests](https://img.shields.io/badge/tests-48%20passing-brightgreen)](#) +[![CI](https://github.com/RomanDenysov/consentify/actions/workflows/ci.yml/badge.svg)](https://github.com/RomanDenysov/consentify/actions/workflows/ci.yml) [![bundle size](https://img.shields.io/bundlephobia/minzip/@consentify/core)](https://bundlephobia.com/package/@consentify/core) [![zero deps](https://img.shields.io/badge/dependencies-0-brightgreen)](#) [![TypeScript](https://img.shields.io/badge/TypeScript-100%25-blue.svg)](https://www.typescriptlang.org/) @@ -33,6 +35,17 @@ consent.client.set({ analytics: true }); consent.client.get('analytics'); // true ``` +## Why Consentify? + +| | Consentify | CookieBot | CookieYes | DIY | +|---|---|---|---|---| +| Bundle size | ~2 KB | 140 KB+ | 90 KB+ | varies | +| Script blocking | `guard()` | manual | manual | manual | +| SSR support | native | none | none | manual | +| Headless (own UI) | yes | no | no | yes | +| Zero dependencies | yes | no | no | varies | +| Price | Free / OSS | from $12/mo | from $9/mo | Free | + ## The Full Integration: Blocking Google Analytics Until Consent This is what consent management is actually for -- preventing tracking scripts from loading until the user explicitly opts in. `guard()` handles the entire lifecycle: wait for consent, load the script, and optionally clean up if consent is revoked. @@ -261,8 +274,19 @@ The `'necessary'` category is always `true` and cannot be disabled. When you cha A hosted consent management platform with a visual banner editor, analytics dashboard, and compliance reporting. +- **Visual banner builder** -- drag-and-drop consent UI +- **Consent analytics dashboard** -- see opt-in/out rates +- **One-line integration** -- single script tag setup +- **Multi-language support** -- GDPR-compliant translations + [consentify.dev](https://consentify.dev) +## Roadmap + +- `@consentify/gtm` -- Google Consent Mode v2 adapter +- `@consentify/next` -- Next.js middleware with automatic cookie handling +- Geo-aware consent defaults -- show banners only where required + ## Support If you find this project useful, consider supporting its development: diff --git a/assets/banner.svg b/assets/banner.svg new file mode 100644 index 0000000..d2b76dd --- /dev/null +++ b/assets/banner.svg @@ -0,0 +1,5 @@ + + + consentify + + From 2dfe360d98a604081a66d28e87a2cf4a98b474ed Mon Sep 17 00:00:00 2001 From: RomanDenysov Date: Sat, 7 Feb 2026 14:30:38 +0100 Subject: [PATCH 2/4] docs: restyle banner to match terminal aesthetic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Uppercase monospace font, sharp corners, dark background — matches the landing page's terminal-inspired design. Co-Authored-By: Claude Opus 4.6 --- assets/banner.svg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/banner.svg b/assets/banner.svg index d2b76dd..fa8698f 100644 --- a/assets/banner.svg +++ b/assets/banner.svg @@ -1,5 +1,5 @@ - - - consentify - + + + CONSENTIFY + HEADLESS COOKIE CONSENT From 10f61d66a8a66454581c1d986317acb519ed4d1a Mon Sep 17 00:00:00 2001 From: RomanDenysov Date: Sat, 7 Feb 2026 14:32:01 +0100 Subject: [PATCH 3/4] docs: slim down banner to single CONSENTIFY word in Fira Code Co-Authored-By: Claude Opus 4.6 --- assets/banner.svg | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/assets/banner.svg b/assets/banner.svg index fa8698f..95f6f6a 100644 --- a/assets/banner.svg +++ b/assets/banner.svg @@ -1,5 +1,4 @@ - - - CONSENTIFY - HEADLESS COOKIE CONSENT + + + CONSENTIFY From 07ef1d0b3a42fd38aae4a729e913c7ef7ba1a3de Mon Sep 17 00:00:00 2001 From: RomanDenysov Date: Sat, 7 Feb 2026 14:33:01 +0100 Subject: [PATCH 4/4] docs: thinner font weight and restore banner height to 120px Co-Authored-By: Claude Opus 4.6 --- assets/banner.svg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/banner.svg b/assets/banner.svg index 95f6f6a..a2dde3f 100644 --- a/assets/banner.svg +++ b/assets/banner.svg @@ -1,4 +1,4 @@ - - - CONSENTIFY + + + CONSENTIFY