Contribute to XPDevs

Everything here is public and open to anyone. Pick a repository, open an issue, or send a pull request.

No application form. No CV. No interview. No minimum experience. Start with whichever project looks interesting.

How it works

Pick a repository. Change something. That is the whole process.

XPDevs is a one person open source project run from the United Kingdom. The repositories listed below cover operating systems, low level systems work, compilers, networking frameworks, AI tools, and libraries. Every one of them is public and none of them are locked down, so you do not need permission to work on them. Fork a repository, make it better, and open a pull request. If you are not sure where to start, open an issue and ask, that is genuinely welcome too.

Open to anyoneNo application, no CV
Public codeFork and change freely
Any skillCode, docs, design, testing
No experienceHelpful first changes listed

Repositories you can work on

Each card below is a single real repository you can clone right now. Pick whatever matches the skills you already have, or try something completely new to you.

Showing 15 repositories.
Website HTML

XPDevs Website

github.com/XPDevs/xpdevs.github.io

The official XPDevs website, and the page you are reading right now. Plain HTML, shared CSS, and a small amount of JavaScript.

Entry level
Easiest place to start
Main language
HTML, CSS, JavaScript
Repo type
Static website
HTMLCSSAccessibilityCopywriting
Changes show up instantly
AI and search JavaScript

gateway

github.com/XPDevs/gateway

A search engine built from scratch, with no third party search service and no hidden layers.

Entry level
Comfortable, self contained
Main language
JavaScript
Repo type
Search engine
IndexingRankingParsingBenchmarks
Small enough to read fully
AI and search JavaScript

OFL

github.com/XPDevs/OFL

A new fast search standard for databases, proposed as an open specification that anyone can implement.

Entry level
Comfortable, writing helps most
Main language
JavaScript, specification
Repo type
Specification and reference
SpecificationSearchDatabasesReference implementation
Writing input is as useful as code
Systems and networking C

telcom

github.com/XPDevs/telcom

An open source framework for managing packet queues and latency on access network equipment.

Serious projectNetwork infrastructure code, so it is reviewed closely. It matters, but it is not held to the same bar as BSS.

Entry level
Ambitious, real systems work
Main language
C
Repo type
Infrastructure framework
CNetworkingQueuesLatency
Targets real network gear
Systems and networking C

RetroBoot

github.com/XPDevs/RetroBoot

A lightweight UEFI compatibility layer that lets legacy BIOS based operating systems boot on modern hardware, with no changes to the operating system itself.

Entry level
Ambitious, hardware involved
Main language
C
Repo type
UEFI application
CUEFIBootloadersCompatibility
Fully documented already
Operating systems C

NexShell

github.com/XPDevs/NexShell

The NexShell source code, the low level environment the other XPDevs systems are built on.

Entry level
Ambitious, foundational code
Main language
C
Repo type
System source code
CShellsTerminalsSystems
Core of the ecosystem
Operating systems HTML

DoorsOS Server

github.com/XPDevs/DoorsOS-Server

The DoorsOS Server operating system, running as an interface in the browser with its own server build.

Entry level
Comfortable for web developers
Main language
HTML, CSS, JavaScript
Repo type
Operating system
JavaScriptWindowsVirtual file systemUI
Deployed and in use
Operating systems HTML

AuraOS

github.com/XPDevs/AuraOS

The AuraOS interface, a separate desktop design built on the idea that an operating system should feel calm and uncluttered.

Entry level
Easy first change
Main language
HTML, CSS, JavaScript
Repo type
Operating system interface
CSSInterface designSettingsResponsive layout
Live on the website
AI and search JavaScript

Genesis AI

github.com/XPDevs/Genesis-AI

An experimental browser based AI platform where behaviour is defined in plain JSON, with no model downloads and no server calls for the main chat.

Entry level
Comfortable, nothing to install
Main language
JavaScript and JSON
Repo type
Web application
JavaScriptJSON behaviourText analysisImage analysis
README explains the design
AI and search TypeScript

LM Studio Image Search

github.com/XPDevs/LM-Studio-Image-Search

An MCP server that lets models trained for tool use in LM Studio search the web for images and display them.

Entry level
Easy first change
Main language
TypeScript
Repo type
MCP server
TypeScriptMCPTool useWeb APIs
Modern, tidy codebase
Security C11

BSS (Britannic Security Sentinel)

github.com/XPDevs/BSS

Offline-first, cryptographically verified file integrity monitoring for UK critical infrastructure, defence, and public sector systems. No network calls, no telemetry, no external dependencies.

High standard projectSecurity critical code, so it has to be correct, checked, and reliable before it goes in. Cybersecurity experience is recommended, but it is not required.

Entry level
Ambitious, cybersecurity helpful
Main language
C11, Linux
Repo type
Security system
CCryptographyEd25519LinuxHardening
Has a test suite and contributing guide
Languages and compilers C

ASM plus

github.com/XPDevs/ASM-plus-

A compiler that turns a friendlier custom assembly dialect into real x86 assembly, built to make bootloader assembly approachable for beginners.

Entry level
Comfortable, small clear codebase
Main language
C
Repo type
Compiler
CAssemblersx86Linux or WSL
Runs on Linux or WSL
Tools and utilities JavaScript

XPDevs Studio

github.com/XPDevs/XPDevs-Studio

A small Linux style IDE that runs in the browser. There is very little code to read first, which makes it a good early project.

Entry level
Easy first change
Main language
JavaScript
Repo type
Developer tool
EditorsSyntax highlightingFile treesUI
Lots left to build
Tools and utilities HTML

JS2PY

github.com/XPDevs/JS2PY

A program that converts JavaScript into Python, so scripts can move between the two languages without being rewritten by hand.

Entry level
Easy first change
Main language
JavaScript, HTML
Repo type
Converter tool
ParsingConversionEdge casesError messages
Small and understandable
Tools and utilities HTML

Hostly

github.com/XPDevs/Hostly

A free website hosting project, built so anyone can put a site online without a hosting subscription.

Entry level
Comfortable, infrastructure focused
Main language
HTML, CSS, JavaScript
Repo type
Hosting service
HostingUploadsDeploymentsSecurity
Real service, real users

No exact match found

Those filters are still applied, so clear one to widen the results.

Or browse all XPDevs repositories on GitHub

How to contribute

There is no application process. If you want to help, the fastest route is to open the repository and start reading it. Anything that gets merged is credited in the project documentation.

1

Find something

Browse the repositories above. Read the source, the README, and any open issues on the one you picked.

2

Ask or claim it

Open an issue saying what you would like to change. This stops two people doing the same work and lets you check the idea fits the project.

3

Fork and change it

Fork the repository, make your change, and commit it with a clear message describing what changed and why.

4

Open a pull request

Send the pull request. Expect honest feedback, be willing to adjust, and be patient while it is reviewed.

You will be credited

Contributing gets your name into the project's documentation, permanently, next to the work itself. It is not a token mention either, it is a real entry in a real file.

Listed in the READMEMerged contributions go into the repository's README file, in a contributors or credits section, so your name sits alongside the project you helped build.
Named in the docsIf your change affects something the documentation describes, the relevant docs get updated and your name goes in there too, not just in the README.
Every kind of contribution countsCode, documentation, a test, a bug report, a translation, or a design fix. It does not have to be a large pull request to be worth crediting.
Use whichever name you wantYou are listed under the name you ask for, which does not have to match your GitHub username. Mention it in your pull request and that is what gets used.

Ways to help that are not code

These projects have far more to do than there are people, and none of the work below is less valuable than writing code.

Documentation

Write setup guides, explain how something works, or fix a README that confused you. If a page confused you, someone else will be confused by it too.

Testing and bug reports

Install a project, try it on hardware you own, and report what breaks. A clear reproduction is often worth more than a fix.

Design and accessibility

Improve contrast, keyboard support, focus states, mobile layout, and screen reader labels across the web projects.

Translation

Translate documentation, interfaces, and error codes. The error code reference is a good place to start, because error messages are read by people under stress.

Examples and tutorials

Write a small demo showing how to use NexShell, ASM plus, or gateway. Teaching something is one of the best ways to find gaps in a project.

Community and review

Answer questions from people using the projects, help newcomers get their first commit merged, and give kind, useful feedback on pull requests.

Good first changes

If you have never contributed to anything before, these are the least intimidating places to start.

Fix a typo or broken linkEvery repository here has documentation. A wrong link or an unclear sentence is a real problem and a real fix.
Add an exampleMost of these projects have no examples folder yet. One working example teaches people more than any README rewrite.
Improve the websiteThe site is plain HTML and CSS. Fixing an accessibility problem or tidying a page is a safe, contained first change.
Report and confirm a bugReproducing an existing bug, or confirming one still happens on your machine, genuinely moves a project forward.
Test on a different deviceThese projects are built on one person's hardware. Testing on your phone, tablet, or an older machine finds real problems.
Write a specification sectionOFL benefits far more from a clear written rule than from new code, and there is plenty left to write.

How seriously each project is taken

Not every repository carries the same consequences if it goes wrong, so they are not reviewed to the same standard. This page tells you which is which before you start, so you can pick the level of pressure you want.

Highest standard

BSS

Security critical software for operational integrity, and the highest bar of anything here, though not an impossible one. Code needs to be correct, checked, and reliable before it is accepted. There are no third party dependencies beyond libc, everything is C11 under -Wall -Wextra -Wconversion -Wshadow -Werror, unsafe string functions are banned, the system stays deterministic, offline, and fail-secure, and anything touching serialisation or cryptography needs both a working test and a malformed input test. Untested or unverified work is what gets sent back, not honest work from a beginner. Cybersecurity experience is recommended but not required, and documentation or test contributions are a genuinely good way in. Read CONTRIBUTING.md before you start.

Serious

telcom and NexShell

Foundational code that other things depend on, and in telcom's case it governs real network equipment. Mistakes here break things further down the line, so it is reviewed closely and the reasoning behind a change has to be clear. It is still serious work, but there is more room to iterate than there is on BSS.

Standard

Everything else

Normal open source expectations. A focused change that does what it says, that you have actually run and tested, with a commit message and a pull request description explaining why you made it. Feedback will be honest and it will sometimes ask you to reshape the change, but a good first contribution is genuinely easy to get merged here.

More on GitHub

The repositories above are the ones that are actively worked on and reviewed. The XPDevs account also holds older, archived, forked, and experimental repositories. They are not listed here because nothing is being reviewed in them, and a contribution would sit unanswered. If you want to work on one of those anyway, open an issue on it first and say what you have in mind, so nobody wastes your time.

Frequently asked questions

Answers to the questions people ask most often about contributing to XPDevs.

Can I use AI to write my code?
Preferably not. If you do use it, you are still the person sending the code, so you must be certain the result is actually compatible with what the project is and how it is built, and that you have checked every line of it yourself before sending. Nothing goes in that has not been read, run, and verified. All contributed code must be checked to make sure it is safe, reliable, and does not break anything that already worked. If you cannot explain how a piece of code works, or you have not tested it, it is not ready to send, no matter how it was produced. Unchecked generated code that silently breaks a build, corrupts data, or puts user data at risk is worse than sending nothing at all.
Will I be credited for my contribution?
Yes. Anything that gets merged is credited in that project's documentation, most often in a contributors section in the README file, and in the relevant docs where your change actually matters. It covers documentation, tests, bug reports, and translations as well as code, and you can be listed under a different name from your GitHub username if you prefer.
Do I need a CV or a resume?
No. There is no application, no CV, and no selection process. Your commits, issues, and pull requests on the repository already say everything relevant. If you want to introduce yourself, link something you have built.
Do I need previous experience?
No. Plenty of useful contributions are a fixed typo, a clearer README, a new example, or a bug report. If you have never written code before, start with documentation or testing and use that to learn the projects at your own pace.
Who is behind XPDevs?
One person, James Turner, working from the United Kingdom. That means review of a pull request may take a little while, and it also means a well described contribution gets taken seriously quickly.
Do I need permission before opening a pull request?
No. Fork the repository and open a pull request whenever you want. For anything larger than a bug fix, opening an issue first is a good idea so you do not spend a weekend on a change that will not fit.
What if my change gets rejected?
That happens, and it is usually about direction rather than quality. Ask why, and ask what would make it fit. Plenty of contributors have had a first patch declined and then gone on to have their second merged.
What should I put in a commit message?
A short summary of what changed, then why you changed it. Future readers, including you, will be grateful. Keep unrelated changes in separate commits so they are easy to review.
What should I check before opening a pull request?
That the project still builds, that the code has been read line by line, that you have run whatever tests exist, and that you have tested the change yourself on real hardware where it applies. If you cannot say honestly that you did all four, do not send it yet.
Why are only some repositories listed?
The listed ones are actively worked on and reviewed. The rest are archived, forked, or experimental, so a contribution there would go unanswered. Open an issue on one of them first if you still want to, and it can be picked up again.
Is there any age, location, or nationality requirement?
None. Anyone who can reach GitHub can contribute, wherever they are. The only rule is to be decent to each other in issues and reviews.

Get in touch

Questions about a repository, an idea for a change, or a pull request you are unsure about can be sent to xpdevsclient@gmail.com, or raised as an issue on the repository itself, which is usually faster.