25576b0be6
Checks (magui2.0) / python-lint (push) Failing after 1s
Checks (magui2.0) / python-test (push) Failing after 0s
Checks (magui2.0) / frontend-lint (push) Failing after 0s
CodeQL Advanced / Analyze (actions) (push) Failing after 1s
Checks (magui2.0) / python-format (push) Failing after 1s
CodeQL Advanced / Analyze (python) (push) Failing after 0s
Checks (magui2.0) / python-pyright (push) Failing after 1s
Checks (magui2.0) / frontend-format (push) Failing after 1s
Checks (magui2.0) / frontend-typecheck (push) Failing after 0s
Checks (magui2.0) / frontend-test (push) Failing after 2s
CodeQL Advanced / Analyze (javascript-typescript) (push) Failing after 1s
93 lines
5.1 KiB
Markdown
93 lines
5.1 KiB
Markdown
# Contributing to MagenticLite
|
|
|
|
Thank you for your interest in MagenticLite! We genuinely value your ideas, bug reports, and engagement with the project. This document explains how community contributions work and why we've structured things the way we have.
|
|
|
|
## Code of Conduct
|
|
|
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
|
For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact <opencode@microsoft.com> with any additional questions or comments.
|
|
|
|
## How We Work: Issues First
|
|
|
|
**GitHub Issues are the primary way to contribute to MagenticLite.** Whether you've found a bug, have a feature idea, or want to propose a change to the codebase, please start with an issue before writing any code.
|
|
|
|
This isn't bureaucracy — it's how we avoid duplicated effort, catch design problems early, and make sure contributions align with where the project is headed. An issue that sparks a great discussion is a valuable contribution in its own right.
|
|
|
|
### Reporting a Bug
|
|
|
|
Open a new issue using the **Bug Report** template. Please include:
|
|
|
|
- A clear description of what you expected vs. what happened
|
|
- Steps to reproduce the problem
|
|
- Your environment (OS, Python version, relevant dependencies)
|
|
- Any relevant logs or screenshots
|
|
|
|
The more context you provide, the faster we can triage and address it.
|
|
|
|
### Suggesting a Feature or Improvement
|
|
|
|
Open a new issue using the **Feature Request** template. Describe the problem you're trying to solve, not just the solution you have in mind — this helps us understand the need and explore the design space together.
|
|
|
|
If you have a concrete proposal (an API shape, a workflow change, an architecture sketch), include it. We love detailed proposals.
|
|
|
|
### Asking Questions
|
|
|
|
If you're not sure whether something is a bug or you just need help, open a **Discussion** rather than an issue. The Discussions tab is a great place for open-ended questions and community conversation.
|
|
|
|
---
|
|
|
|
## Pull Requests
|
|
|
|
MagenticLite is a research prototype in active development. To maintain quality and protect the integrity of the codebase, **we currently limit code contributions via pull requests to a vetted set of contributors.**
|
|
|
|
This is a deliberate choice, not an oversight. Open-source AI projects are increasingly targeted by supply chain attacks — where malicious code is introduced through seemingly legitimate contributions. High-profile incidents like the xz Utils backdoor have made the entire ecosystem more cautious, and we think that caution is warranted, especially for a project that runs agentic AI workflows on users' machines. We'd rather be transparent about this policy than leave contributors wondering why their PRs sit unreviewed.
|
|
|
|
We know this isn't the fully open model some contributors prefer, and we appreciate your understanding.
|
|
|
|
### A Note on AI-Generated Code
|
|
|
|
If you are a vetted contributor submitting a PR, please disclose if substantial portions of the code were generated by an AI coding assistant. We don't prohibit AI-assisted development, but we need to know so we can apply the appropriate level of scrutiny. Code is code regardless of how it was produced — the review bar is the same either way.
|
|
|
|
---
|
|
|
|
## Other Ways to Contribute
|
|
|
|
You don't need to write code to make a meaningful impact on MagenticLite:
|
|
|
|
- **Triage issues** — comment on open issues with reproduction steps, additional context, or a note that you can or cannot reproduce a problem. This directly accelerates our work.
|
|
- **Improve documentation** — if something in the docs is unclear, missing, or wrong, open an issue describing the gap (or, if you're a vetted contributor, a PR).
|
|
- **Share your experience** — open a Discussion about how you're using MagenticLite, what's working, and what isn't. That feedback shapes our roadmap.
|
|
- **Answer questions** — if you know the answer to someone's question in Discussions, jump in.
|
|
|
|
---
|
|
|
|
## Contributor License Agreement (CLA)
|
|
|
|
If you are a vetted contributor and submit a pull request, you'll need to agree to a Contributor License Agreement declaring that you have the right to grant us the rights to use your contribution. For details, visit <https://opensource.microsoft.com/pdf/microsoft-contribution-license-agreement.pdf>.
|
|
|
|
When you submit a pull request, a CLA bot will automatically determine whether you need to sign and will guide you through the process. You only need to do this once across all Microsoft repos.
|
|
|
|
---
|
|
|
|
## Running Tests and Checks
|
|
|
|
All code changes must pass the continuous integration checks. You can run them locally with:
|
|
|
|
```bash
|
|
poe check
|
|
```
|
|
|
|
See the `tests` directory for examples of how tests are structured.
|
|
|
|
---
|
|
|
|
## Security Vulnerabilities
|
|
|
|
Please do **not** file security vulnerabilities as public GitHub issues. Report them privately using [GitHub's private vulnerability reporting](https://github.com/microsoft/magentic-ui/security/advisories/new) or follow the instructions in [SECURITY.md](./SECURITY.md).
|
|
|
|
---
|
|
|
|
## Questions?
|
|
|
|
Open a [Discussion](https://github.com/microsoft/magentic-ui/discussions) or comment on a relevant issue. Thank you for helping make MagenticLite better.
|