Skip to content

Commit acf644e

Browse files
committed
docs: add CHANGELOG, SECURITY, CoC, issue templates, badges for v1.2.0
Community infrastructure: - CHANGELOG.md documents v1.0.0 through v1.2.0 - SECURITY.md with privacy pledge (no telemetry) - CODE_OF_CONDUCT.md adapted from Contributor Covenant 2.1 - Bug report + feature request issue templates - PR template with scope checks - README badges (version, license, Claude Code, Bun, stars, issues) Package: - Bump version to 1.2.0 - Expand keywords for discoverability (12 keywords)
1 parent 4953e27 commit acf644e

10 files changed

Lines changed: 311 additions & 15 deletions

File tree

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Bug Report
2+
description: Report a bug in gstack-industrial
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for reporting a bug. Please fill in the details below.
10+
11+
- type: textarea
12+
id: what-happened
13+
attributes:
14+
label: What happened?
15+
description: A clear description of the bug.
16+
placeholder: e.g. "Skill router stopped suggesting after ~10 messages"
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: expected
22+
attributes:
23+
label: Expected behavior
24+
description: What did you expect to happen?
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: reproduce
30+
attributes:
31+
label: Steps to reproduce
32+
placeholder: |
33+
1. Run `bun install`
34+
2. Say "I need to debug a bug"
35+
3. ...
36+
validations:
37+
required: true
38+
39+
- type: input
40+
id: version
41+
attributes:
42+
label: gstack-industrial version
43+
placeholder: v1.2.0
44+
validations:
45+
required: true
46+
47+
- type: dropdown
48+
id: os
49+
attributes:
50+
label: Operating System
51+
options:
52+
- macOS
53+
- Linux
54+
- Windows (WSL)
55+
- Other
56+
validations:
57+
required: true
58+
59+
- type: textarea
60+
id: config
61+
attributes:
62+
label: Your skill-router.json config
63+
description: Paste `~/.claude/config/skill-router.json` (remove any sensitive info)
64+
render: json
65+
66+
- type: textarea
67+
id: logs
68+
attributes:
69+
label: Error output or logs
70+
render: shell
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Feature Request
2+
description: Suggest a new feature or improvement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for suggesting an improvement. Keep in mind: gstack-industrial is an enhancement layer on gstack. Features that duplicate gstack functionality are out of scope.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Problem you're trying to solve
15+
description: What are you trying to do? What's blocking you?
16+
validations:
17+
required: true
18+
19+
- type: textarea
20+
id: proposal
21+
attributes:
22+
label: Proposed solution
23+
description: What would the ideal behavior look like?
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: alternatives
29+
attributes:
30+
label: Alternatives considered
31+
description: Other approaches you've thought about
32+
33+
- type: checkboxes
34+
id: scope-check
35+
attributes:
36+
label: Scope check
37+
description: gstack-industrial scope
38+
options:
39+
- label: This is about skill suggestion/routing (not skill content)
40+
- label: This doesn't duplicate something gstack already does
41+
- label: This doesn't require network calls or telemetry

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
## What changed
2+
3+
<!-- 1-2 sentence summary -->
4+
5+
## Why
6+
7+
<!-- Problem this solves or value this adds -->
8+
9+
## Type of change
10+
11+
- [ ] Bug fix
12+
- [ ] New feature
13+
- [ ] Documentation update
14+
- [ ] Refactor / cleanup
15+
- [ ] Breaking change
16+
17+
## Testing
18+
19+
<!-- How did you verify this works? -->
20+
21+
## Scope check
22+
23+
- [ ] Doesn't duplicate gstack functionality
24+
- [ ] No network calls / telemetry added
25+
- [ ] Local state only (if new state)
26+
- [ ] Documentation updated (README/CHANGELOG)

CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Changelog
2+
3+
All notable changes to gstack-industrial.
4+
5+
## [1.2.0] - 2026-04-04 — Learning, Repo-Mode Awareness, Visible Warnings
6+
7+
gstack-industrial now learns from your usage. When you accept a suggestion, it remembers that pair — next time you accept the first skill, it predicts the next one. When you dismiss a suggestion, that skill gets penalized. Plus: repo-mode aware thresholds (lower for solo devs), visible warnings when limits hit (no more silent failure), and cleaner integration with gstack (reuses `gstack-repo-mode` and `timeline.jsonl` instead of duplicating).
8+
9+
### Added
10+
11+
- **Usage feedback loop.** Tracks accept/dismiss per skill in `~/.claude/sessions/skill-router-feedback.json` (local only). After 3+ interactions, boosts priority for accepted skills, penalizes dismissed ones. Tunable via `feedbackBoost` and `feedbackPenalty` config.
12+
- **Pair learning.** Reads gstack's `timeline.jsonl` to detect skill sequences (e.g., `brainstorming → writing-plans → executing-plans`). After you accept a skill, the predicted next skill gets a strong priority boost. Shows "(based on your pattern)" hint.
13+
- **Repo-mode aware thresholds.** Uses `gstack-repo-mode` binary to detect solo vs collaborative repos. Default thresholds: solo=60 (more proactive), collaborative=85 (less noise), unknown=80. Tunable via `repoModeThresholds` config.
14+
- **Visible limit warnings.** When suggestion limit is hit, shows a warning instead of silently exiting. Tunable via `showLimitWarnings`.
15+
- **Config migration.** `install.ts` now adds missing fields to existing configs on reinstall (no more manual upgrades).
16+
17+
### Changed
18+
19+
- **Default `maxSuggestionsPerSession`: 10 → 500.** The cooldown is the real throttle. 10 was too low for long dev sessions, causing silent failures.
20+
- **Reuse gstack infrastructure.** Repo mode detection and skill sequences now come from gstack, not duplicated here. gstack-industrial is an enhancement layer on top of gstack.
21+
- **Privacy-first messaging.** README emphasizes local-only state, no telemetry.
22+
23+
### Fixed
24+
25+
- **Silent failure when limit reached.** Previously, hitting `maxSuggestionsPerSession` would silently stop suggestions with no notification. Now shows a visible warning with the config path.
26+
27+
## [1.1.1] - 2026-03-26
28+
29+
- Session state reset and doc cleanup
30+
31+
## [1.1.0] - 2026-03-26
32+
33+
- **Auto-Discovery.** Scans all installed SKILL.md files on session start, builds routing rules automatically. Manually-written rules are protected via `autoDiscovered: true` flag.
34+
35+
## [1.0.0] - 2026-03-19
36+
37+
- Initial release
38+
- Skill router with smart matching
39+
- UserPromptSubmit hook for auto-suggestions
40+
- Anti-spam mechanisms (cooldown, session caps)
41+
- Template system with shared standard sections

CODE_OF_CONDUCT.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
We pledge to make participation in the gstack-industrial community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Standards
8+
9+
**Good:**
10+
- Respectful, constructive communication
11+
- Focusing on what is best for the community
12+
- Showing empathy towards other community members
13+
- Technical disagreement, respectfully expressed
14+
15+
**Not acceptable:**
16+
- Harassment, trolling, or insulting comments
17+
- Personal attacks
18+
- Publishing others' private information
19+
- Conduct which could reasonably be considered inappropriate
20+
21+
## Enforcement
22+
23+
Violations may be reported to the project maintainer via GitHub issues (mark as confidential) or private security advisory.
24+
25+
Maintainers will review and respond. Repeated violations may result in being blocked from the repository.
26+
27+
## Attribution
28+
29+
Adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 2.1.

README.ja.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
1+
<div align="center">
2+
13
# gstack-industrial
24

3-
> [English](README.md) | [繁體中文](README.zh-TW.md) | **日本語**
5+
**タスクに最適な Claude Code スキルを自動提案**
6+
7+
*[gstack](https://github.com/garrytan/gstack) の上に重ねる拡張レイヤー — 置き換えではない*
8+
9+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
10+
[![Version](https://img.shields.io/github/v/release/kevintseng/gstack-industrial?style=for-the-badge&color=blue)](https://github.com/kevintseng/gstack-industrial/releases)
11+
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Compatible-D97757?style=for-the-badge)](https://claude.ai/code)
12+
[![Bun](https://img.shields.io/badge/Bun-1.0+-black?style=for-the-badge&logo=bun)](https://bun.sh)
413

5-
**Claude Code スキルの自動提案 — gstack の拡張であって、置き換えではない**
14+
[![Stars](https://img.shields.io/github/stars/kevintseng/gstack-industrial?style=social)](https://github.com/kevintseng/gstack-industrial/stargazers)
15+
[![Issues](https://img.shields.io/github/issues/kevintseng/gstack-industrial)](https://github.com/kevintseng/gstack-industrial/issues)
616

7-
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8-
[![Bun](https://img.shields.io/badge/Bun-1.0+-black?logo=bun)](https://bun.sh)
17+
[**English**](README.md) | [**繁體中文**](README.zh-TW.md) | [**日本語**](README.ja.md)
18+
19+
</div>
20+
21+
---
922

1023
---
1124

README.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
1+
<div align="center">
2+
13
# gstack-industrial
24

3-
> **English** | [繁體中文](README.zh-TW.md) | [日本語](README.ja.md)
5+
**Auto-suggest the right Claude Code skill for your task**
6+
7+
*Enhancement layer on top of [gstack](https://github.com/garrytan/gstack) — not a replacement.*
8+
9+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
10+
[![Version](https://img.shields.io/github/v/release/kevintseng/gstack-industrial?style=for-the-badge&color=blue)](https://github.com/kevintseng/gstack-industrial/releases)
11+
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Compatible-D97757?style=for-the-badge)](https://claude.ai/code)
12+
[![Bun](https://img.shields.io/badge/Bun-1.0+-black?style=for-the-badge&logo=bun)](https://bun.sh)
413

5-
**Auto-suggest the right Claude Code skill for your task — enhancement to gstack, not a replacement.**
14+
[![Stars](https://img.shields.io/github/stars/kevintseng/gstack-industrial?style=social)](https://github.com/kevintseng/gstack-industrial/stargazers)
15+
[![Issues](https://img.shields.io/github/issues/kevintseng/gstack-industrial)](https://github.com/kevintseng/gstack-industrial/issues)
616

7-
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8-
[![Bun](https://img.shields.io/badge/Bun-1.0+-black?logo=bun)](https://bun.sh)
17+
[**English**](README.md) | [**繁體中文**](README.zh-TW.md) | [**日本語**](README.ja.md)
18+
19+
</div>
20+
21+
---
922

1023
---
1124

README.zh-TW.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
1+
<div align="center">
2+
13
# gstack-industrial
24

3-
> [English](README.md) | **繁體中文** | [日本語](README.ja.md)
5+
**自動建議最適合你任務的 Claude Code skill**
6+
7+
*建立在 [gstack](https://github.com/garrytan/gstack) 之上的增強層 — 不是取代*
8+
9+
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
10+
[![Version](https://img.shields.io/github/v/release/kevintseng/gstack-industrial?style=for-the-badge&color=blue)](https://github.com/kevintseng/gstack-industrial/releases)
11+
[![Claude Code](https://img.shields.io/badge/Claude%20Code-Compatible-D97757?style=for-the-badge)](https://claude.ai/code)
12+
[![Bun](https://img.shields.io/badge/Bun-1.0+-black?style=for-the-badge&logo=bun)](https://bun.sh)
413

5-
**自動建議 Claude Code skill — 是 gstack 的增強,不是取代**
14+
[![Stars](https://img.shields.io/github/stars/kevintseng/gstack-industrial?style=social)](https://github.com/kevintseng/gstack-industrial/stargazers)
15+
[![Issues](https://img.shields.io/github/issues/kevintseng/gstack-industrial)](https://github.com/kevintseng/gstack-industrial/issues)
616

7-
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8-
[![Bun](https://img.shields.io/badge/Bun-1.0+-black?logo=bun)](https://bun.sh)
17+
[**English**](README.md) | [**繁體中文**](README.zh-TW.md) | [**日本語**](README.ja.md)
18+
19+
</div>
20+
21+
---
922

1023
---
1124

SECURITY.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Security Policy
2+
3+
## Privacy
4+
5+
gstack-industrial is **local-only**. It does not:
6+
7+
- Send telemetry
8+
- Make network calls
9+
- Upload usage data
10+
- Track users
11+
12+
All state (`~/.claude/sessions/skill-router-*.json`) stays on your machine.
13+
14+
## Reporting a Vulnerability
15+
16+
If you find a security issue, please report it privately:
17+
18+
- **GitHub Security Advisories**: https://github.com/kevintseng/gstack-industrial/security/advisories/new
19+
- **Email**: open a private security advisory via GitHub
20+
21+
Please do **not** open a public issue for security vulnerabilities.
22+
23+
## What to Include
24+
25+
- Description of the vulnerability
26+
- Steps to reproduce
27+
- Potential impact
28+
- Suggested fix (if any)
29+
30+
## Response Time
31+
32+
This is a hobby project maintained in spare time. I'll respond as soon as I can, typically within a week.
33+
34+
## Scope
35+
36+
In scope:
37+
- Command injection in hook scripts
38+
- Path traversal in file operations
39+
- Code execution via malformed config/matchers
40+
41+
Out of scope:
42+
- Vulnerabilities in Claude Code itself
43+
- Vulnerabilities in gstack (report to https://github.com/garrytan/gstack)
44+
- Vulnerabilities in Bun runtime

package.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gstack-industrial",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "Auto-discover and suggest the right Claude Code skill at the right time",
55
"type": "module",
66
"scripts": {
@@ -15,11 +15,17 @@
1515
},
1616
"keywords": [
1717
"claude-code",
18+
"claude",
1819
"gstack",
1920
"ai",
2021
"automation",
2122
"skill-router",
22-
"template-system"
23+
"template-system",
24+
"anthropic",
25+
"ai-agent",
26+
"productivity",
27+
"developer-tools",
28+
"hook"
2329
],
2430
"author": "Kevin Tseng",
2531
"license": "MIT",
@@ -37,4 +43,4 @@
3743
"devDependencies": {
3844
"@types/node": "^20.0.0"
3945
}
40-
}
46+
}

0 commit comments

Comments
 (0)