nostr-git Svelte Themes

Nostr Git

A svelte component for integrating git and nostr

Nostr-Git Integration Platform

A comprehensive TypeScript monorepo for integrating Git workflows with the Nostr protocol, enabling decentralized Git collaboration through NIP-34 events.

🎯 Purpose

This platform bridges Git version control with Nostr's decentralized network, allowing developers to:

  • Publish Git repositories, patches, and issues as Nostr events
  • Enable decentralized code collaboration without centralized platforms
  • Integrate Git workflows with Nostr clients and relays
  • Build Git-aware applications on the Nostr protocol

📦 Packages

Core Libraries

  • @nostr-git/core – Core TypeScript library for creating, parsing, and publishing Git-related Nostr events (NIP-34)
  • @nostr-git/shared-types – Shared TypeScript types and constants for Git/Nostr event structures
  • @nostr-git/git-wrapper – Git operations wrapper with Nostr integration
  • @nostr-git/ui – Svelte 5 component library with TailwindCSS for rendering Git and Nostr UI elements

Applications & Extensions

  • Extension – Browser extension that adds Nostr publishing capabilities to GitHub
  • VSCode-ngit – VS Code extension adding Nostr Git (ngit) support to the IDE
  • Actions – GitHub Actions for automatically publishing Nostr Git events on push, issue creation, etc.
  • Storybook – Component development and documentation environment

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • pnpm 8+

Installation

# Clone the repository
git clone https://github.com/your-org/nostr-git.git
cd nostr-git

# Install dependencies
pnpm install

# Build all packages
pnpm build

Development

# Start development mode for all packages
pnpm watch:all

# Or watch specific packages
pnpm watch:core
pnpm watch:ui

# Run Storybook for UI development
cd packages/storybook
pnpm storybook

🏗️ Architecture

This monorepo follows a modular architecture where each package serves a specific purpose:

  • Core: Event creation, parsing, and Nostr protocol integration
  • UI: Reusable Svelte components for Git/Nostr interfaces
  • Extensions: Platform-specific integrations (GitHub, VSCode)
  • Actions: CI/CD automation for Nostr event publishing

📖 Documentation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes following our coding standards
  4. Run tests: pnpm test
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

📄 License

MIT License - see LICENSE file for details.

Top categories

Loading Svelte Themes