mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-10-03 20:13:21 +00:00
chore: align docs, templates, and metadata with Sea Haven handbook [closes SH-93] (#95)
* Align repo docs, templates, and metadata with Sea Haven handbook - Replace dynamic upstream-fork badges with static License, Python, and TypeScript badges; add the GitHub-native CI badge for dev. - Repoint SECURITY.md contact to adam@seahavenind.com. - Add .github/CODEOWNERS assigning reviews to @amoussa1229. - Add PR template using the handbook structure. - Add issue templates for bug, feature, and task plus a security link. - Remove emoji from the README per CONTRIBUTING.md style. Refs: SH-93 * Restore Linear 👀 acknowledgement and update metadata contacts - README.md: bring back the documented 👀 reaction on Linear issues. - README.md: refresh the TypeScript badge to 6.0+ to match ui/package.json. - SECURITY.md + issue template: switch security contact to role alias. Refs: SH-93 --------- Co-authored-by: amoussa1229 <166072409+amoussa1229@users.noreply.github.com> Co-authored-by: Adam Moussa <adam@seahavenind.com>
This commit is contained in:
parent
2335ac59c0
commit
a52ebed77c
8 changed files with 124 additions and 7 deletions
2
.github/CODEOWNERS
vendored
Normal file
2
.github/CODEOWNERS
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Global review assignment
|
||||||
|
* @amoussa1229
|
||||||
36
.github/ISSUE_TEMPLATE/bug.yml
vendored
Normal file
36
.github/ISSUE_TEMPLATE/bug.yml
vendored
Normal file
|
|
@ -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
|
||||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: Sea Haven Security
|
||||||
|
url: mailto:security@seahavenind.com
|
||||||
|
about: Report security concerns privately.
|
||||||
29
.github/ISSUE_TEMPLATE/feature.yml
vendored
Normal file
29
.github/ISSUE_TEMPLATE/feature.yml
vendored
Normal file
|
|
@ -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
|
||||||
29
.github/ISSUE_TEMPLATE/task.yml
vendored
Normal file
29
.github/ISSUE_TEMPLATE/task.yml
vendored
Normal file
|
|
@ -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
|
||||||
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
<!-- What changed and why — 1-3 sentences. Explain the motivation, not just the diff. -->
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
<!-- How you verified it works — commands run, steps taken, screenshots if UI. -->
|
||||||
|
|
||||||
|
## Tests
|
||||||
|
|
||||||
|
<!-- What tests were added, updated, or run. If no automated tests, explain manual testing. -->
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
<!-- Anything reviewers should know — migration steps, deploy order, follow-ups, breaking changes. Omit this section if empty. -->
|
||||||
13
README.md
13
README.md
|
|
@ -13,11 +13,12 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<a href="https://opensource.org/licenses/MIT" target="_blank"><img src="https://img.shields.io/github/license/langchain-ai/open-swe" alt="License"></a>
|
<a href="https://github.com/Sea-Haven-Industries/open-swe/actions/workflows/ci.yml" target="_blank"><img src="https://github.com/Sea-Haven-Industries/open-swe/actions/workflows/ci.yml/badge.svg?branch=dev" alt="CI"></a>
|
||||||
<a href="https://github.com/langchain-ai/open-swe/stargazers" target="_blank"><img src="https://img.shields.io/github/stars/langchain-ai/open-swe" alt="GitHub Stars"></a>
|
<a href="https://opensource.org/licenses/MIT" target="_blank"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
|
||||||
|
<a href="https://www.python.org/" target="_blank"><img src="https://img.shields.io/badge/Python-3.11+-3776AB.svg" alt="Python 3.11+"></a>
|
||||||
|
<a href="https://www.typescriptlang.org/" target="_blank"><img src="https://img.shields.io/badge/TypeScript-6.0+-3178C6.svg" alt="TypeScript 6.0+"></a>
|
||||||
<a href="https://github.com/langchain-ai/langgraph" target="_blank"><img src="https://img.shields.io/badge/Built%20on-LangGraph-blue" alt="Built on LangGraph"></a>
|
<a href="https://github.com/langchain-ai/langgraph" target="_blank"><img src="https://img.shields.io/badge/Built%20on-LangGraph-blue" alt="Built on LangGraph"></a>
|
||||||
<a href="https://github.com/langchain-ai/deepagents" target="_blank"><img src="https://img.shields.io/badge/Built%20on-Deep%20Agents-blue" alt="Built on Deep Agents"></a>
|
<a href="https://github.com/langchain-ai/deepagents" target="_blank"><img src="https://img.shields.io/badge/Built%20on-Deep%20Agents-blue" alt="Built on Deep Agents"></a>
|
||||||
<a href="https://x.com/langchain" target="_blank"><img src="https://img.shields.io/twitter/url/https/twitter.com/langchain.svg?style=social&label=Follow%20%40LangChain" alt="Twitter / X"></a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
@ -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.
|
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]
|
> [!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:
|
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.
|
- **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.
|
- **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.
|
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
|
## Features
|
||||||
|
|
||||||
- **Trigger from Linear, Slack, or GitHub** — mention `@openswe` in a comment to kick off a task
|
- **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
|
- **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
|
- **Run multiple tasks in parallel** — each task runs in its own isolated cloud sandbox
|
||||||
- **GitHub OAuth built-in** — authenticates with your GitHub account automatically
|
- **GitHub OAuth built-in** — authenticates with your GitHub account automatically
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
# Security Policy
|
# Security Policy
|
||||||
|
|
||||||
For any security concerns, please contact us at security@langchain.dev.
|
For any security concerns, please contact us at security@seahavenind.com.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue