From ec8a08f2d2ab184540731d135251e8145c7ea960 Mon Sep 17 00:00:00 2001 From: Jeremy McSpadden Date: Sun, 31 May 2026 07:36:52 -0500 Subject: [PATCH 1/3] docs(#530): streamline README brand header --- README.ja-JP.md | 2 +- README.ko-KR.md | 2 +- README.md | 27 +------------------ README.pt-BR.md | 2 +- README.zh-CN.md | 2 +- assets/terminal.svg | 2 +- bin/install.js | 6 ++--- docs/README.md | 2 +- docs/ja-JP/README.md | 2 +- docs/ko-KR/README.md | 2 +- docs/pt-BR/ARCHITECTURE.md | 2 +- docs/pt-BR/README.md | 2 +- docs/zh-CN/README.md | 2 +- get-shit-done/workflows/help/modes/default.md | 2 +- get-shit-done/workflows/help/modes/full.md | 2 +- 15 files changed, 17 insertions(+), 42 deletions(-) diff --git a/README.ja-JP.md b/README.ja-JP.md index b8fb22fcb..20dbfd071 100644 --- a/README.ja-JP.md +++ b/README.ja-JP.md @@ -4,7 +4,7 @@ # GSD Core -**Git Ship. Done.** +**Git. Ship. Done.** [English](README.md) · [Português](README.pt-BR.md) · [简体中文](README.zh-CN.md) · **日本語** diff --git a/README.ko-KR.md b/README.ko-KR.md index 2e8dc019e..15d0f26e7 100644 --- a/README.ko-KR.md +++ b/README.ko-KR.md @@ -4,7 +4,7 @@ # GSD Core -**Git Ship. Done.** +**Git. Ship. Done.** [English](README.md) · [Português](README.pt-BR.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) · **한국어** diff --git a/README.md b/README.md index a53a4c87f..da898ccc9 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,8 @@ -> # Project Continuity Notice -> -> GSD Core is maintained by the **open-gsd** team at: -> **`open-gsd/gsd-core`** -> -> Use only these package names: -> -> - npm (main): `@opengsd/gsd-core` -> - npm (sdk): `@opengsd/gsd-sdk` -> -> The legacy upstream is outside open-gsd control. Based on public transition announcements and repository ownership reality, we strongly recommend removing legacy packages and migrating to `@opengsd/*`. -> -> Security status: -> -> - maintainers completed an internal security audit -> - maintainers report an independent review pass -> - no known active exploit was found in tracked source during those passes -> -> See: -> -> - continuity announcement: https://github.com/open-gsd/gsd-core/discussions/109 -> - audit transparency report: https://github.com/open-gsd/gsd-core/discussions/119 -> -> --- -
# GSD Core -**Git Ship. Done.** +**Git. Ship. Done.** **English** · [Português](README.pt-BR.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md) diff --git a/README.pt-BR.md b/README.pt-BR.md index 9b6b00b32..787fb8cf3 100644 --- a/README.pt-BR.md +++ b/README.pt-BR.md @@ -4,7 +4,7 @@ # GSD Core -**Git Ship. Done.** +**Git. Ship. Done.** [English](README.md) · **Português** · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) diff --git a/README.zh-CN.md b/README.zh-CN.md index cbaa31242..8f81f35bd 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -4,7 +4,7 @@ # GSD Core -**Git Ship. Done.** +**Git. Ship. Done.** [English](README.md) · [Português](README.pt-BR.md) · **简体中文** · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md) diff --git a/assets/terminal.svg b/assets/terminal.svg index b70f4f62c..6ec9c1da2 100644 --- a/assets/terminal.svg +++ b/assets/terminal.svg @@ -50,7 +50,7 @@ GSD Core v1.2.0 - Git Ship. Done. + Git. Ship. Done. Meta-prompting, context engineering, and spec-driven workflows. diff --git a/bin/install.js b/bin/install.js index 2ddb2609b..4be6edd57 100755 --- a/bin/install.js +++ b/bin/install.js @@ -614,7 +614,7 @@ const banner = '\n' + ' ╚═════╝ ╚══════╝╚═════╝' + reset + '\n' + '\n' + ' GSD Core ' + dim + 'v' + pkg.version + reset + '\n' + - ' Git Ship. Done.\n' + + ' Git. Ship. Done.\n' + ' A meta-prompting, context engineering and spec-driven\n' + ' development workflows for Claude Code, OpenCode, Gemini, Kilo, Codex, Copilot, Antigravity, Cursor, Windsurf, Augment, Trae, Qwen Code, Hermes Agent, Cline and CodeBuddy.\n'; @@ -6002,7 +6002,7 @@ function writeHermesCategoryDescription(categoryDir) { '---', 'name: gsd', `version: ${pkg.version}`, - 'description: GSD Core — Git Ship. Done. Disciplined planning, execution, and shipping workflows. Use any gsd-* skill in this category to drive a project through new-project → discuss-phase → plan-phase → execute-phase → ship.', + 'description: GSD Core — Git. Ship. Done. Disciplined planning, execution, and shipping workflows. Use any gsd-* skill in this category to drive a project through new-project → discuss-phase → plan-phase → execute-phase → ship.', '---', '', '# GSD Core', @@ -9548,7 +9548,7 @@ function install(isGlobal, runtime = 'claude', options = {}) { // Cline uses .clinerules — generate a rules file with GSD system instructions const clinerulesDest = path.join(targetDir, '.clinerules'); const clinerules = [ - '# GSD Core — Git Ship. Done.', + '# GSD Core — Git. Ship. Done.', '', '- GSD workflows live in `get-shit-done/workflows/`. Load the relevant workflow when', ' the user runs a `/gsd-*` command.', diff --git a/docs/README.md b/docs/README.md index 453badd6d..08305e29a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,6 +1,6 @@ # GSD Core Documentation -Comprehensive documentation for GSD Core (Git Ship. Done.) — a meta-prompting, context engineering, and spec-driven development system for AI coding agents. +Comprehensive documentation for GSD Core (Git. Ship. Done.) — a meta-prompting, context engineering, and spec-driven development system for AI coding agents. Language versions: [English](README.md) · [Português (pt-BR)](pt-BR/README.md) · [日本語](ja-JP/README.md) · [简体中文](zh-CN/README.md) diff --git a/docs/ja-JP/README.md b/docs/ja-JP/README.md index dfae88ce4..18e05cab1 100644 --- a/docs/ja-JP/README.md +++ b/docs/ja-JP/README.md @@ -1,6 +1,6 @@ # GSD Core ドキュメント -GSD Core(Git Ship. Done.)の包括的なドキュメントです。GSD Core は、AI コーディングエージェント向けのメタプロンプティング、コンテキストエンジニアリング、仕様駆動開発システムです。 +GSD Core(Git. Ship. Done.)の包括的なドキュメントです。GSD Core は、AI コーディングエージェント向けのメタプロンプティング、コンテキストエンジニアリング、仕様駆動開発システムです。 ## ドキュメント一覧 diff --git a/docs/ko-KR/README.md b/docs/ko-KR/README.md index a190c5b19..65a0f716f 100644 --- a/docs/ko-KR/README.md +++ b/docs/ko-KR/README.md @@ -1,6 +1,6 @@ # GSD Core 문서 -GSD Core (Git Ship. Done.) 문서입니다. GSD Core는 AI 코딩 에이전트를 위한 메타 프롬프팅, 컨텍스트 엔지니어링, 스펙 기반 개발 시스템입니다. +GSD Core (Git. Ship. Done.) 문서입니다. GSD Core는 AI 코딩 에이전트를 위한 메타 프롬프팅, 컨텍스트 엔지니어링, 스펙 기반 개발 시스템입니다. 언어 버전: [English](README.md) · [Português (pt-BR)](pt-BR/README.md) · [日本語](ja-JP/README.md) · [简体中文](zh-CN/README.md) · [한국어](ko-KR/README.md) diff --git a/docs/pt-BR/ARCHITECTURE.md b/docs/pt-BR/ARCHITECTURE.md index 9c1273214..14cc3b78f 100644 --- a/docs/pt-BR/ARCHITECTURE.md +++ b/docs/pt-BR/ARCHITECTURE.md @@ -1,6 +1,6 @@ # Arquitetura do GSD Core -Visão arquitetural do GSD Core (Git Ship. Done.) em Português. +Visão arquitetural do GSD Core (Git. Ship. Done.) em Português. Para detalhes de implementação linha a linha, consulte [ARCHITECTURE.md em inglês](../ARCHITECTURE.md). --- diff --git a/docs/pt-BR/README.md b/docs/pt-BR/README.md index c24715b5a..0721e225d 100644 --- a/docs/pt-BR/README.md +++ b/docs/pt-BR/README.md @@ -1,6 +1,6 @@ # Documentação do GSD Core -Documentação abrangente do GSD Core (Git Ship. Done.) — um sistema de meta-prompting, engenharia de contexto e desenvolvimento orientado por especificações para agentes de IA. +Documentação abrangente do GSD Core (Git. Ship. Done.) — um sistema de meta-prompting, engenharia de contexto e desenvolvimento orientado por especificações para agentes de IA. ## Índice da documentação diff --git a/docs/zh-CN/README.md b/docs/zh-CN/README.md index a0e75ce8d..3742214c7 100644 --- a/docs/zh-CN/README.md +++ b/docs/zh-CN/README.md @@ -2,7 +2,7 @@ # GSD Core -**Git Ship. Done.** +**Git. Ship. Done.** **一个轻量级且强大的元提示、上下文工程和规格驱动开发系统,支持 Claude Code、OpenCode、Gemini CLI、Kilo、Codex、Copilot、Cursor、Windsurf、Antigravity、Augment、Trae 和 Cline。** diff --git a/get-shit-done/workflows/help/modes/default.md b/get-shit-done/workflows/help/modes/default.md index a42ce0632..866f1d7dd 100644 --- a/get-shit-done/workflows/help/modes/default.md +++ b/get-shit-done/workflows/help/modes/default.md @@ -3,7 +3,7 @@ One-page newcomer-oriented tour of GSD Core. Output ONLY the `` conte -# GSD Core — Git Ship. Done. +# GSD Core — Git. Ship. Done. Plan-driven development for solo agentic work with Claude Code. GSD Core turns a vague idea into a hierarchical plan, then executes it phase by phase with state tracking and atomic commits. diff --git a/get-shit-done/workflows/help/modes/full.md b/get-shit-done/workflows/help/modes/full.md index b904d8565..f2158bc31 100644 --- a/get-shit-done/workflows/help/modes/full.md +++ b/get-shit-done/workflows/help/modes/full.md @@ -5,7 +5,7 @@ Display the complete GSD Core command reference. Output ONLY the reference conte # GSD Core Command Reference -**GSD Core** (Git Ship. Done.) creates hierarchical project plans optimized for solo agentic development with Claude Code. +**GSD Core** (Git. Ship. Done.) creates hierarchical project plans optimized for solo agentic development with Claude Code. ## Quick Start From 7eaa14f48f7e060b3c70152e6da3483deb833b8a Mon Sep 17 00:00:00 2001 From: Jeremy McSpadden Date: Sun, 31 May 2026 07:41:39 -0500 Subject: [PATCH 2/3] docs(#532): remove README continuity section --- README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/README.md b/README.md index da898ccc9..3d3944604 100644 --- a/README.md +++ b/README.md @@ -52,18 +52,6 @@ npx @opengsd/gsd-core@latest --- -## Why We Continue Building GSD Core - -GSD Core exists to help solo builders and small teams ship reliably with AI: clear specs, controlled context, and verification before release. - -In May 2026, maintainers published a continuity announcement and migrated active development to `open-gsd/gsd-core` after trust and ownership concerns around the former upstream, including a meme-coin rug-pull incident publicly associated with that ecosystem. - -The former creator and legacy lineage are no longer part of this program. This repository is the maintained continuation under open-gsd governance. - -The current team continues release operations, triage, and security hardening in public. Audit status and follow-up security work are documented in Discussion #119 and linked issues. - ---- - ## How It Works The loop is six commands. Each one does exactly one thing. From 1c835e208d19df496d771522613c69dc00259176 Mon Sep 17 00:00:00 2001 From: Jeremy McSpadden Date: Sun, 31 May 2026 07:46:56 -0500 Subject: [PATCH 3/3] ci(#534): skip maintainer PR policy gates --- .github/workflows/close-draft-prs.yml | 5 ++- .github/workflows/pr-target-validator.yml | 3 ++ tests/workflow-maintainer-skip.test.cjs | 37 +++++++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 tests/workflow-maintainer-skip.test.cjs diff --git a/.github/workflows/close-draft-prs.yml b/.github/workflows/close-draft-prs.yml index 690ae5fbf..f2d361e89 100644 --- a/.github/workflows/close-draft-prs.yml +++ b/.github/workflows/close-draft-prs.yml @@ -14,7 +14,10 @@ permissions: jobs: close-if-draft: name: Reject draft PRs - if: github.event.pull_request.draft == true + # Maintainers may use draft PRs for internal coordination. + if: >- + github.event.pull_request.draft == true && + contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.pull_request.author_association) == false runs-on: ubuntu-latest steps: - name: Comment and close draft PR diff --git a/.github/workflows/pr-target-validator.yml b/.github/workflows/pr-target-validator.yml index 18b59d6cf..ade2c8fea 100644 --- a/.github/workflows/pr-target-validator.yml +++ b/.github/workflows/pr-target-validator.yml @@ -22,6 +22,9 @@ permissions: jobs: validate-target: + # Maintainers may open internal release/backport coordination PRs against main. + if: >- + contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.pull_request.author_association) == false runs-on: ubuntu-latest timeout-minutes: 2 env: diff --git a/tests/workflow-maintainer-skip.test.cjs b/tests/workflow-maintainer-skip.test.cjs new file mode 100644 index 000000000..64233d25c --- /dev/null +++ b/tests/workflow-maintainer-skip.test.cjs @@ -0,0 +1,37 @@ +// allow-test-rule: source-text-is-the-product +// These workflow files are deployed policy; the tests lock the maintainer +// carve-out so future edits do not accidentally re-enable enforcement. +'use strict'; + +const { describe, test } = require('node:test'); +const assert = require('node:assert/strict'); +const fs = require('node:fs'); +const path = require('node:path'); + +const MAINTAINER_SKIP_EXPR = 'contains(fromJSON(\'["OWNER","MEMBER","COLLABORATOR"]\'), github.event.pull_request.author_association) == false'; + +function readWorkflow(relativePath) { + return fs.readFileSync(path.join(process.cwd(), relativePath), 'utf8'); +} + +function assertMaintainerSkip(source) { + assert.ok( + source.includes(MAINTAINER_SKIP_EXPR), + `Expected workflow to include maintainer skip expression: ${MAINTAINER_SKIP_EXPR}` + ); +} + +describe('PR policy workflow maintainer carve-outs', () => { + test('draft PR auto-close does not run for maintainer-authored PRs', () => { + const workflow = readWorkflow('.github/workflows/close-draft-prs.yml'); + + assert.match(workflow, /github\.event\.pull_request\.draft == true/); + assertMaintainerSkip(workflow); + }); + + test('PR target validator does not run for maintainer-authored PRs', () => { + const workflow = readWorkflow('.github/workflows/pr-target-validator.yml'); + + assertMaintainerSkip(workflow); + }); +});