# IPFS repository guide
IPFS is an extensive open-source project, and with that comes a lot of code and issue-based discussions. The IPFS project uses GitHub for both code development and road mapping and operations discussions, meaning that both types of activities can happen asynchronously, in the open, and from anywhere on the planet.
If you're looking for specific IPFS-related code, or want to find where to join in a particular discussion, start with this high-level guide to the most prominent and/or frequently used GitHub organizations and repositories in the IPFS project. It's not an exhaustive list of all IPFS organizations and repositories, but instead is intended to help guide you based on what you are trying to do in the following areas:
# Fetch or contribute to IPFS code
Organization and repository links for the top-level projects shipped as part of the IPFS project and the main repos for each ingredient in the stack upon which IPFS is built.
# Protocol implementations
WARNING
# js-ipfs being discontinued
Development of the js-ipfs project (opens new window) is being discontinued to focus on Helia (opens new window), a leaner, more modular, modern implementation of IPFS in JavaScript scheduled for release in 2023. To learn more about Helia and the current state of IPFS in JS, see the blog post (opens new window).
Because of this, js-ipfs tutorials may be out of date, and will eventually be archived.
- Kubo (opens new window): The reference implementation written in Go.
- js-ipfs (opens new window): The JavaScript implementation of IPFS.
- rust-ipfs (opens new window): Alpha implementation in Rust.
- Other implementations: Up-to-date links to all other protocol implementations.
# Client implementations
- Current list (opens new window) of HTTP client libraries.
# Underlying components
# IPFS tools and products
- IPFS Cluster (opens new window): Automatically allocate, replicate, and track your data as a global pinset distributed among a swarm of peers.
- IPFS Companion (opens new window): The IPFS web browser extension.
- IPFS Web UI (opens new window): An easy-to-use web interface for IPFS nodes.
- IPFS Desktop (opens new window): Standalone IPFS app with an easy-to-use node interface, plus menubar/tray shortcuts
- ipfs-gui (opens new window): Coordinating development, user experience, and maintenance of IPFS GUIs.
- IPFS Shipyard (opens new window): GitHub org showcasing incubated projects of all types created by the global IPFS community.
- Testground (opens new window): A platform for testing, benchmarking, and simulating distributed and p2p systems at scale.
# Interoperability, platforms, and standards
- IPFS Web Browsers Integration (opens new window): Tracking progress toward native IPFS support in web browsers.
- Are We Distributed Yet? (opens new window): Prioritized listing of progress toward making peer-to-peer a first-class part of the web.
- IPFS Mobile Design Guidelines (opens new window): Best practices for making IPFS work for mobile.
- Interoperability Tests for IPFS (opens new window): On-the-wire interop for IPFS.
# Participate in IPFS project operations
IPFS project operations at large are also captured in GitHub. These repos don't necessarily contain code but do follow a similar pattern of issue creation, discussion, and resolution via comments and linked artifacts.
# Operations discussions and tools
- IPFS Project Roadmap (opens new window)
- IPFS Specifications (opens new window)
- IPFS Infrastructure (opens new window)
# Internationalization
- i18n (opens new window): The IPFS Translation Project, crowdsourcing translations of IPFS GUIs and websites.