Skip to content

Commit 5075bd8

Browse files
authored
Merge pull request #63 from TrueNine/codex/full-chain-release-recovery-2026-10314-10606
chore: recover full-chain release automation
2 parents b61189b + 00337ae commit 5075bd8

292 files changed

Lines changed: 14012 additions & 12935 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.githooks/sync-versions.ts

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,24 @@ for (const pkg of [...packages, ...libraryPackages, ...packagesPackages, ...cliN
118118
}
119119
}
120120

121-
// Sync Cargo.toml version
121+
// Sync root workspace Cargo.toml version
122+
const workspaceCargoTomlPath = resolve('Cargo.toml')
123+
try {
124+
const cargoContent = readFileSync(workspaceCargoTomlPath, 'utf-8')
125+
const cargoUpdated = cargoContent.replace(
126+
/(\[workspace\.package\][\s\S]*?^version = ")([^"]+)(")/m,
127+
`$1${rootVersion}$3`,
128+
)
129+
if (cargoContent !== cargoUpdated) {
130+
writeFileSync(workspaceCargoTomlPath, cargoUpdated, 'utf-8')
131+
console.log(` ✓ workspace Cargo.toml: version → ${rootVersion}`)
132+
changed = true
133+
}
134+
} catch {
135+
console.log('⚠️ Cargo.toml not found, skipping')
136+
}
137+
138+
// Sync GUI Cargo.toml version
122139
const cargoTomlPath = resolve('gui/src-tauri/Cargo.toml')
123140
try {
124141
const cargoContent = readFileSync(cargoTomlPath, 'utf-8')
@@ -172,6 +189,8 @@ if (changed) {
172189
console.log('\n📦 Versions synced, auto-staging changes...')
173190
try {
174191
const filesToStage = [
192+
'package.json',
193+
'Cargo.toml',
175194
'cli/package.json',
176195
'gui/package.json',
177196
'doc/package.json',
@@ -181,7 +200,7 @@ if (changed) {
181200
...libraryPackages.map(p => p.path),
182201
...packagesPackages.map(p => p.path),
183202
...cliNpmPackages.map(p => p.path),
184-
]
203+
].filter(path => existsSync(resolve(path)))
185204
execSync(
186205
`git add ${filesToStage.join(' ')}`,
187206
{ stdio: 'inherit' }

.github/CODEOWNERS

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Default owner for repository changes
2+
* @TrueNine
3+
4+
# High-risk directories
5+
/.github/ @TrueNine
6+
/cli/ @TrueNine
7+
/libraries/ @TrueNine
8+
/gui/ @TrueNine
9+
/doc/ @TrueNine
10+
/scripts/ @TrueNine

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ body:
2121
options:
2222
- label: I have searched for duplicate or closed issues
2323
required: true
24+
- label: I redacted secrets, tokens, and private paths from logs or config snippets
25+
required: true
2426
- type: input
2527
id: os
2628
attributes:
@@ -37,6 +39,14 @@ body:
3739
placeholder: "e.g., 2026.10125.0"
3840
validations:
3941
required: true
42+
- type: input
43+
id: first-bad-version
44+
attributes:
45+
label: First version where this appeared
46+
description: If known, tell us the first version where you noticed the problem
47+
placeholder: "e.g., worked in 2026.10222.0, broken in 2026.10303.11117"
48+
validations:
49+
required: false
4050
- type: dropdown
4151
id: context
4252
attributes:
@@ -47,6 +57,20 @@ body:
4757
- Both / unsure
4858
validations:
4959
required: true
60+
- type: dropdown
61+
id: affected-module
62+
attributes:
63+
label: Affected module
64+
description: Pick the closest area so maintainers can route triage faster
65+
options:
66+
- Config / sync core
67+
- Plugin or adapter pipeline
68+
- Native module / N-API binding
69+
- CLI packaging / release artifact
70+
- GUI shell / updater
71+
- Docs / unclear
72+
validations:
73+
required: true
5074
- type: input
5175
id: plugin-context
5276
attributes:
@@ -87,7 +111,7 @@ body:
87111
id: additional-context
88112
attributes:
89113
label: Additional Context
90-
description: Logs, config, screenshots, workarounds
91-
placeholder: "Error messages, .tnmsc.json (redact secrets), or environment details."
114+
description: Logs, config, screenshots, workarounds, and whether config snippets were redacted
115+
placeholder: "Error messages, .tnmsc.json (with secrets removed), screenshots, or environment details."
92116
validations:
93117
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
blank_issues_enabled: false
2-
contact_links: []
2+
contact_links:
3+
- name: Documentation and setup guide
4+
url: https://github.com/TrueNine/memory-sync/tree/main/doc
5+
about: Read the docs and setup references before opening a support issue.
6+
- name: Security policy
7+
url: https://github.com/TrueNine/memory-sync/security/policy
8+
about: Report vulnerabilities through the security policy instead of opening a public issue.

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,26 @@ body:
88
Before submitting, please [search and confirm](https://github.com/TrueNine/memory-sync/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) that the idea does not yet exist. Duplicate requests may be closed.
99
1010
---
11+
- type: checkboxes
12+
id: confirm
13+
attributes:
14+
label: Before opening, please confirm
15+
options:
16+
- label: I searched for an existing request or discussion first
17+
required: true
18+
- type: dropdown
19+
id: area
20+
attributes:
21+
label: Affected area
22+
description: Choose the closest part of the product
23+
options:
24+
- CLI (tnmsc)
25+
- Shared Rust / N-API libraries
26+
- GUI (Tauri app)
27+
- Docs or onboarding
28+
- Multiple / unsure
29+
validations:
30+
required: true
1131
- type: textarea
1232
id: feature-description
1333
attributes:
@@ -24,6 +44,14 @@ body:
2444
placeholder: "Concrete examples: which target (Cursor/Kiro/Warp/…), which input source, typical workflow."
2545
validations:
2646
required: true
47+
- type: textarea
48+
id: current-workaround
49+
attributes:
50+
label: Current workaround
51+
description: If you already have a manual workaround, describe it
52+
placeholder: "Explain how you are handling this today, and what is still painful."
53+
validations:
54+
required: false
2755
- type: textarea
2856
id: additional-context
2957
attributes:

.github/actions/setup-tauri/action.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@ inputs:
1313
runs:
1414
using: composite
1515
steps:
16+
- name: Cache Linux package archives
17+
if: runner.os == 'Linux'
18+
uses: actions/cache@v4
19+
with:
20+
path: /var/cache/apt/archives
21+
key: ${{ runner.os }}-tauri-apt-${{ hashFiles('.github/actions/setup-tauri/action.yml') }}
22+
restore-keys: |
23+
${{ runner.os }}-tauri-apt-
24+
1625
- name: Install Linux dependencies
1726
if: runner.os == 'Linux'
1827
shell: bash
@@ -46,7 +55,7 @@ runs:
4655
path: |
4756
~/.cargo/registry
4857
~/.cargo/git
49-
gui/src-tauri/target
58+
target
5059
key: ${{ runner.os }}-cargo-${{ steps.cargo-deps-hash.outputs.hash }}
5160
restore-keys: |
5261
${{ runner.os }}-cargo-
@@ -67,6 +76,6 @@ runs:
6776
- name: Clean old bundle artifacts
6877
shell: bash
6978
run: |
70-
if [ -d "gui/src-tauri/target" ]; then
71-
find gui/src-tauri/target -type d -name bundle -prune -exec rm -rf {} +
79+
if [ -d "target" ]; then
80+
find target -type d -name bundle -prune -exec rm -rf {} +
7281
fi

.github/dependabot.yml

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: /
5+
schedule:
6+
interval: weekly
7+
day: monday
8+
time: '09:00'
9+
timezone: Asia/Shanghai
10+
open-pull-requests-limit: 5
11+
labels:
12+
- dependencies
13+
- github-actions
14+
groups:
15+
github-actions:
16+
patterns:
17+
- '*'
18+
19+
- package-ecosystem: cargo
20+
directory: /
21+
schedule:
22+
interval: weekly
23+
day: monday
24+
time: '09:00'
25+
timezone: Asia/Shanghai
26+
open-pull-requests-limit: 5
27+
labels:
28+
- dependencies
29+
- rust
30+
groups:
31+
cargo-workspace:
32+
patterns:
33+
- '*'
34+
35+
- package-ecosystem: npm
36+
directory: /
37+
schedule:
38+
interval: weekly
39+
day: monday
40+
time: '09:00'
41+
timezone: Asia/Shanghai
42+
open-pull-requests-limit: 5
43+
labels:
44+
- dependencies
45+
- javascript
46+
groups:
47+
npm-root:
48+
patterns:
49+
- '*'
50+
51+
- package-ecosystem: npm
52+
directory: /cli
53+
schedule:
54+
interval: weekly
55+
day: monday
56+
time: '09:00'
57+
timezone: Asia/Shanghai
58+
open-pull-requests-limit: 5
59+
labels:
60+
- dependencies
61+
- javascript
62+
groups:
63+
npm-cli:
64+
patterns:
65+
- '*'
66+
67+
- package-ecosystem: npm
68+
directory: /gui
69+
schedule:
70+
interval: weekly
71+
day: monday
72+
time: '09:00'
73+
timezone: Asia/Shanghai
74+
open-pull-requests-limit: 5
75+
labels:
76+
- dependencies
77+
- javascript
78+
groups:
79+
npm-gui:
80+
patterns:
81+
- '*'
82+
83+
- package-ecosystem: npm
84+
directory: /doc
85+
schedule:
86+
interval: weekly
87+
day: monday
88+
time: '09:00'
89+
timezone: Asia/Shanghai
90+
open-pull-requests-limit: 5
91+
labels:
92+
- dependencies
93+
- javascript
94+
groups:
95+
npm-doc:
96+
patterns:
97+
- '*'
98+
99+
- package-ecosystem: npm
100+
directory: /libraries/logger
101+
schedule:
102+
interval: weekly
103+
day: monday
104+
time: '09:00'
105+
timezone: Asia/Shanghai
106+
open-pull-requests-limit: 5
107+
labels:
108+
- dependencies
109+
- javascript
110+
groups:
111+
npm-logger:
112+
patterns:
113+
- '*'
114+
115+
- package-ecosystem: npm
116+
directory: /libraries/md-compiler
117+
schedule:
118+
interval: weekly
119+
day: monday
120+
time: '09:00'
121+
timezone: Asia/Shanghai
122+
open-pull-requests-limit: 5
123+
labels:
124+
- dependencies
125+
- javascript
126+
groups:
127+
npm-md-compiler:
128+
patterns:
129+
- '*'
130+
131+
- package-ecosystem: npm
132+
directory: /libraries/script-runtime
133+
schedule:
134+
interval: weekly
135+
day: monday
136+
time: '09:00'
137+
timezone: Asia/Shanghai
138+
open-pull-requests-limit: 5
139+
labels:
140+
- dependencies
141+
- javascript
142+
groups:
143+
npm-script-runtime:
144+
patterns:
145+
- '*'

.github/pull_request_template.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Summary
2+
3+
- Describe the change in one or two sentences.
4+
5+
## Scope
6+
7+
- [ ] CLI (`cli/`)
8+
- [ ] Shared Rust / N-API libraries (`libraries/`)
9+
- [ ] GUI (`gui/`)
10+
- [ ] Docs (`doc/`)
11+
- [ ] GitHub automation / release chain (`.github/`)
12+
13+
## Release Impact
14+
15+
- [ ] No release or version impact
16+
- [ ] Affects npm package contents or NAPI publishing
17+
- [ ] Affects GUI artifacts or GitHub Release flow
18+
- [ ] Affects config schema, CLI flags, or user-facing behavior
19+
20+
Details:
21+
22+
## Testing
23+
24+
- [ ] Not run locally
25+
- [ ] Local checks passed
26+
- [ ] Workflow or YAML validation passed
27+
28+
Commands / evidence:
29+
30+
## Risks and Follow-ups
31+
32+
- List rollout risks, migrations, or follow-up tasks if any.
33+
34+
## Checklist
35+
36+
- [ ] I reviewed version and release implications
37+
- [ ] I called out any `.github/` or workflow changes above
38+
- [ ] I documented remaining follow-up work, if any

0 commit comments

Comments
 (0)