Skip to content

iyeque/nexus

Repository files navigation

Nexus Browser Monorepo

This is the main repository for Project Nexus - a decentralized, privacy-preserving web browser built on Chromium.

Architecture Overview

nexus/
├── browser-core/          # Core browser integration (main app)
├── search-engine/         # Decentralized search implementation
├── shared/               # Shared libraries
│   ├── types/           # TypeScript type definitions
│   ├── utils/           # Common utilities
│   └── crypto/          # Cryptographic primitives
├── docs/                # Documentation
├── tests/               # Test suites
└── tools/               # Development and build tools

Quick Start

Prerequisites

  • Node.js 18+ (LTS recommended)
  • Python 3.11+
  • Rust (for native modules if needed)
  • depot_tools (for Chromium development)
  • Git

Installation

# Install dependencies for all packages
npm install

# Build all packages
npm run build

# Run type checking
npm run typecheck

# Run linting
npm run lint

Developing a Specific Package

# Watch mode for browser-core
npm run dev -w browser-core

# Run tests for browser-core
npm run test -w browser-core

Development Workflow

Pull Requests

  1. Create a feature branch from main
  2. Make your changes
  3. Run npm run lint and npm run typecheck
  4. Ensure tests pass
  5. Submit PR with clear description

Commit Convention

We follow Conventional Commits:

  • feat: new feature
  • fix: bug fix
  • docs: documentation changes
  • refactor: code refactoring
  • test: test additions/modifications
  • chore: build/CI changes

Building the Chromium Fork

See docs/setup/chromium-fork.md for detailed instructions on setting up the Chromium development environment and applying Nexus patches.

Project Structure

browser-core/

The main browser application. Contains:

  • chromium-integration/ - Custom Chromium patches and modifications
  • ipfs-handler/ - IPFS protocol handler using Helia
  • solid-integration/ - Solid pod OIDC integration
  • helium-connector/ - Helium network API client
  • wallet-integration/ - Ethereum wallet and dApp bridge
  • ai-assistant/ - Local LLM inference using WebGPU
  • social-client/ - ActivityPub client
  • cache-manager/ - Unified caching layer (IndexedDB)
  • event-bus/ - Pub/sub event system
  • protocol-router/ - URL scheme routing
  • ui/ - Browser UI components (address bar, tabs, etc.)

search-engine/

Decentralized search implementation:

  • chromadb/ - Semantic search API (vector database)
  • summa/ - Full-text search integration
  • query-engine/ - Federated query distribution (Phase 2)
  • indexer/ - Background content indexing

shared/

Reusable libraries:

  • types/ - TypeScript type definitions
  • utils/ - Helper functions (crypto, encoding, etc.)
  • crypto/ - Cryptographic operations (key management, signing)

Technology Stack

  • Browser Engine: Chromium (fork)
  • Languages: TypeScript (strict), C++ (Chromium patches), Rust (performance-critical)
  • Build System: GN + Ninja (Chromium), npm workspaces (TypeScript)
  • Blockchain: Ethereum (ethers.js)
  • IPFS: Helia (in-browser)
  • Solid: @inrupt/solid-client
  • AI: WebGPU + GGUF models (WebLLM)
  • Search: ChromaDB (vector), local full-text

License

MIT - see LICENSE for details.

Contributing

See CONTRIBUTING.md for guidelines.


Status: Early Development (Phase 1 - Browser Prototype)

About

Project Nexus is a revolutionary platform for building a decentralized browser and internet ecosystem.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors