mirror of
https://github.com/Sea-Haven-Industries/open-swe.git
synced 2026-09-30 03:23:13 +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 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/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://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://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/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>
|
||||
|
||||
<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.
|
||||
|
||||
> [!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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue