diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..cab6aae6 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# Global review assignment +* @amoussa1229 diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 00000000..9d2d231b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,36 @@ +name: Bug Report +description: Report a defect or unexpected behavior. +labels: [bug] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to file a bug report. + - type: textarea + id: summary + attributes: + label: Summary + description: A concise description of the bug. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction + description: Steps to reproduce the behavior, including code or commands if applicable. + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What you expected to happen. + validations: + required: true + - type: textarea + id: environment + attributes: + label: Environment + description: Python version, OS, and any relevant dependency versions. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..959ffa56 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: Sea Haven Security + url: mailto:security@seahavenind.com + about: Report security concerns privately. diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 00000000..84f20c97 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -0,0 +1,29 @@ +name: Feature Request +description: Propose a new feature or enhancement. +labels: [enhancement] +body: + - type: markdown + attributes: + value: | + Thanks for suggesting an improvement. + - type: textarea + id: summary + attributes: + label: Summary + description: What is the feature or enhancement? + validations: + required: true + - type: textarea + id: motivation + attributes: + label: Motivation + description: Why is this needed? What problem does it solve? + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives + description: Any alternative approaches you considered. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/task.yml b/.github/ISSUE_TEMPLATE/task.yml new file mode 100644 index 00000000..2f1f535d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/task.yml @@ -0,0 +1,29 @@ +name: Task +description: Track a maintenance, documentation, or engineering task. +labels: [task] +body: + - type: markdown + attributes: + value: | + Use this template for work that is not a bug or feature request. + - type: textarea + id: summary + attributes: + label: Summary + description: What needs to be done? + validations: + required: true + - type: textarea + id: acceptance + attributes: + label: Acceptance criteria + description: How will we know this task is complete? + validations: + required: true + - type: textarea + id: notes + attributes: + label: Notes + description: Any additional context, dependencies, or links. + validations: + required: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..62df881b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,15 @@ +## Summary + + + +## Validation + + + +## Tests + + + +## Notes + + diff --git a/README.md b/README.md index 343bda15..88b1058c 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@
- License - GitHub Stars + CI + License: MIT + Python 3.11+ + TypeScript 6.0+ Built on LangGraph Built on Deep Agents - Twitter / X

@@ -27,7 +28,7 @@ Elite engineering orgs like Stripe, Ramp, and Coinbase are building their own in Open SWE is the open-source version of this pattern. Built on [LangGraph](https://langchain-ai.github.io/langgraph/) and [Deep Agents](https://github.com/langchain-ai/deepagents), it gives you the same architecture those companies built internally: cloud sandboxes, Slack and Linear invocation, subagent orchestration, and automatic PR creation — ready to customize for your own codebase and workflows. > [!NOTE] -> 💬 Read the **announcement blog post [here](https://blog.langchain.com/open-swe-an-open-source-framework-for-internal-coding-agents/)** +> Read the **announcement blog post [here](https://blog.langchain.com/open-swe-an-open-source-framework-for-internal-coding-agents/)** --- @@ -103,7 +104,7 @@ Open SWE's orchestration has two layers: All three companies in the article converge on **Slack as the primary invocation surface**. Open SWE does the same: - **Slack** — Mention the bot in any thread. Supports `repo:owner/name` syntax to specify which repo to work on. The agent replies in-thread with status updates and PR links. -- **Linear** — Comment `@openswe` on any issue. The agent reads the full issue context, reacts with 👀 to acknowledge, and posts results back as comments. +- **Linear** — Comment `@openswe` on any issue. The agent reacts with 👀 to acknowledge, reads the full issue context, and posts results back as comments. - **GitHub** — Tag `@openswe` in PR comments on agent-created PRs to have it address review feedback and push fixes to the same branch. Each invocation creates a deterministic thread ID, so follow-up messages on the same issue or thread route to the same running agent. @@ -136,7 +137,7 @@ This is an area where you can extend Open SWE for your org: add deterministic CI ## Features - **Trigger from Linear, Slack, or GitHub** — mention `@openswe` in a comment to kick off a task -- **Instant acknowledgement** — reacts with 👀 the moment it picks up your message +- **Instant acknowledgement** — acknowledges the moment it picks up your message - **Message it while it's running** — send follow-up messages mid-task and it'll pick them up before its next step - **Run multiple tasks in parallel** — each task runs in its own isolated cloud sandbox - **GitHub OAuth built-in** — authenticates with your GitHub account automatically diff --git a/SECURITY.md b/SECURITY.md index f2414c9c..bd7014c2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,3 +1,3 @@ # Security Policy -For any security concerns, please contact us at security@langchain.dev. +For any security concerns, please contact us at security@seahavenind.com.