Skip to content

CleanedIn is a Manifest V3 extension that filters LinkedIn feed noise with compact, rule-based controls.

License

Notifications You must be signed in to change notification settings

yasingedik/cleanedin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CleanedIn

CleanedIn is a Manifest V3 extension that filters LinkedIn feed noise with compact, rule-based controls.

What It Does

  • Category filters with per-category Show/Hide switches:
    • ads/promoted, suggested, recommended-for-you
    • reactions (liked, loved, supported, celebrated, funny, insightful)
    • commented, followed/following, reposted/shared
    • media (video, poll, image, link, carousel)
  • Identity filters:
    • connection levels (following, 1st, 2nd, 3rd+)
    • profile types (individual, group, company, other)
    • explicit hidden-name list
  • Value filters with Off/Hide controls:
    • include keywords
    • exclude keywords
    • age limit in days
  • Hidden badges with context:
    • matched keyword/name
    • matched connection/profile type
    • category + actor context for reaction/repost-style posts
  • Popup sections are collapsible, compact, and remember open/closed state.

Scope

  • Browsers: Chrome + Edge (MV3)
  • Target surface: LinkedIn feed routes only
  • Not affiliated with LinkedIn Corporation

Local Setup

Prerequisites

  • Node.js >=18 (Node 22 used in CI)
  • npm

Install

npm ci

Build

npm run build

Load Unpacked

  1. Open chrome://extensions or edge://extensions.
  2. Enable Developer Mode.
  3. Click Load unpacked.
  4. Select dist/.

Detailed guide: docs/local-browser-testing.md.

Quality Checks

npm run lint
npm run typecheck
npm run test
npm run test:fixtures
npm run build
npm run test:e2e

Store Packages (Chrome + Edge)

  • Workflow: .github/workflows/store-packages.yml
  • Trigger:
    • manual (workflow_dispatch)
    • or push a version tag (v*)
  • Output artifacts:
    • cleanedin-chrome-vX.Y.Z.zip
    • cleanedin-edge-vX.Y.Z.zip

Release steps are documented in docs/release-checklist.md.

Website + Legal Pages

  • Landing page: docs/cleanedin/index.html
  • Privacy policy: docs/cleanedin/privacy-policy.html
  • Terms of service: docs/cleanedin/terms-of-service.html
  • Target hosted URLs:
    • https://cleanedin.yasingedik.com/
    • https://cleanedin.yasingedik.com/privacy-policy.html
    • https://cleanedin.yasingedik.com/terms-of-service.html
  • Legacy privacy page kept for compatibility: docs/privacy-policy.html

Firebase Hosting

  • Hosting config: firebase.json
  • Project alias template: .firebaserc.example
  • Deployment guide: docs/firebase-hosting.md
  • Auto-deploy workflow: .github/workflows/deploy-firebase-hosting.yml
  • Required GitHub secrets:
    • FIREBASE_PROJECT_ID
    • FIREBASE_SERVICE_ACCOUNT
  • Recommended Firebase project setup: dedicated project/site for cleanedin.yasingedik.com

Repository Layout

  • src/background/: service worker
  • src/content/: root detection, extraction, classifier, decision engine, rendering
  • src/popup/: popup UI + settings persistence
  • src/shared/: schema, migrations, storage wrappers, shared types
  • tests/: unit, fixtures, e2e, and security tests
  • docs/: operational documentation

Roadmap

See ROADMAP.md (includes mobile companion app exploration).

Contributing and Support

  • Contributing: CONTRIBUTING.md
  • Security: SECURITY.md
  • Support: SUPPORT.md
  • Code of Conduct: CODE_OF_CONDUCT.md

License

GPL-3.0-or-later. See LICENSE.

About

CleanedIn is a Manifest V3 extension that filters LinkedIn feed noise with compact, rule-based controls.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published