Welcome, and thank you for your interest in contributing to SmythOS!
There are many ways to contribute to the project beyond writing code. This guide will help you get started.
If you have questions about SmythOS:
- Please visit our developer documentation: https://smythos.github.io/sre/
- Join our community on Discord: https://discord.gg/smythos
In order to contribute to SmythOS codebase, follow these steps:
- Fork the repository
git clone https://github.com/SmythOS/sre.git
cd sre- Install the dependencies
pnpm install- Configure sre environment. Smyth Runtime Environment (SRE) expects a directory called .smyth to exist in the root of the project or in the user's home directory. (check SRE Configuration for more details)
mkdir -p .smyth
#or
mkdir -p ~/.smythAnd by default the SRE expects this folder to contains a vault.json file with this structure:
touch .smyth/vault.json
#or
touch ~/.smyth/vault.json{
"default": {
"echo": "",
"openai": "<your openai api key>",
"anthropic": "<your anthropic api key>",
"googleai": "<your google ai api key>",
"groq": "<your groq api key>",
"togetherai": "<your together ai api key>",
"xai": "<your xai api key>",
"perplexity": "<your perplexity api key>"
}
}You don't need to provide all the keys, only the ones you need in your tests.
pnpm buildpnpm testThe project comes with a set of examples that you can run to see the SRE in action.
for this, go to the examples directory and run the following command:
pnpm start <path_to_example.ts>The project also comes with a pre-configured vscode debug launch file for the examples. The debugger will allow you to follow breakpoints in the examples and in SRE and SDK codes.
In order to use the debugger :
- Select "Debug Current Example" from the vscode debug menu.
- Open any example .ts file
- Then hit F5 to start the debugger
We welcome all kinds of feedback! Whether you have suggestions, bug reports, or general thoughts, feel free to share them via:
- GitHub Issues: https://github.com/SmythOS/sre/issues
- Discord
If you encounter a bug or want to request a new feature, please open an issue in our GitHub repository:
👉 https://github.com/SmythOS/sre/issues
- Search existing issues to avoid duplicates.
- Add details or reactions to existing issues if applicable.
- If you're reporting a bug:
- Provide steps to reproduce the issue.
- Include logs, error messages, screenshots, or code snippets when relevant.
- If you're reporting a security vulnerability:
- Avoid posting an issue in the GitHub repo to avoid exploits
- Email
security@smythos.comdirectly, instead.
- Operating system and environment details
- Reproducible steps
- Expected vs actual behavior
- Screenshots, logs, or error output
- Minimal code snippet if applicable
We love contributions from the community! Here's how to get started:
- Fork the repository.
- Create a new branch for your changes.
- Make your changes and commit with clear messages.
- Submit a pull request (PR) with a meaningful description.
📚 If you're new to open source contributions, follow the GitHub guide:
Contributing to a Project on GitHub
SmythOS uses the Developer Certificate of Origin 1.1 to ensure that every contribution is made with clear provenance and permission.
- What you do: add the
-sflag to eachgit commitgit commit -s -m "Fix: correct off-by-one in vector index"
- All contributions must follow the fork → branch → pull request workflow.
- If you're unsure where to start, check the issues page.
- Look for issues labeled
good-first-contrib– they're beginner-friendly and ideal starting points!
- Look for issues labeled
- Ensure your changes are well-tested and follow the project’s coding standards.
- Be sure to run any linting or formatting tools used by the project before submitting a PR.
- Searched for existing issues
- Reproduced and isolated the problem (for bugs)
- Wrote clear and concise commit messages
- Ensured your code passes all tests and checks
- Documented any new behavior or configuration
- I'm signing off all commits (git commit -s)
Please report security vulnerabilities privately via email to:
📧 security@smythos.com
Do not report security issues in public GitHub Issues.
Your contributions—big or small—make SmythOS better.
We appreciate your time, effort, and support in helping the project grow!