Skip to content

Commit 0e425fd

Browse files
authored
feat: Create sync-thesuperhackers-upstream prompt
Add prompt for syncing with TheSuperHackers upstream, detailing the required workflow, critical merge instructions, validation requirements, and deliverables.
1 parent fc9e0e7 commit 0e425fd

1 file changed

Lines changed: 97 additions & 0 deletions

File tree

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
name: sync-thesuperhackers-upstream
3+
description: Sync the repository with TheSuperHackers upstream by creating a dated sync branch, merging thesuperhackers/main, resolving conflicts carefully, then committing and pushing the result
4+
argument-hint: Optional extra sync focus areas or constraints (for example: "prioritize audio-related conflicts" or "document every build-system conflict")
5+
agent: Bender
6+
---
7+
8+
# Sync TheSuperHackers Upstream
9+
10+
Perform a full upstream sync from the `thesuperhackers` remote into this repository while preserving the working cross-platform nature of `GeneralsX`.
11+
12+
## Briefing
13+
14+
`TheSuperHackers` and `GeneralsX` have different goals and this must drive every merge decision:
15+
16+
- `TheSuperHackers` focuses on bug fixes, stability, optimizations, and merging the `Generals` and `GeneralsMD` codebases while preserving compatibility with the original Windows binaries.
17+
- `GeneralsX` focuses on making the game truly cross-platform with a modern stack based on SDL3 + DXVK + OpenAL + FFmpeg, without prioritizing original binary compatibility.
18+
19+
The repository is significantly behind upstream `TheSuperHackers`. The purpose of this sync is to import useful upstream improvements without regressing or dismantling the already functional cross-platform architecture in `GeneralsX`.
20+
21+
## Required Workflow
22+
23+
1. Determine the current local date and create a branch named exactly `thesuperhackers-sync-MM-DD-YYYY`.
24+
2. Verify whether the remote `thesuperhackers` exists.
25+
3. If the remote does not exist, create it using `git@github.com:TheSuperHackers/GeneralsGameCode.git`.
26+
4. Fetch `thesuperhackers`.
27+
5. Merge `thesuperhackers/main` into the new branch.
28+
6. Resolve all conflicts by following the merge instructions below exactly.
29+
7. Ensure the repository remains buildable and configurable after conflict resolution.
30+
8. Commit the final merge result.
31+
9. Push the branch `thesuperhackers-sync-MM-DD-YYYY` to origin.
32+
33+
## Critical Merge Instructions
34+
35+
Expect many conflicts because the projects intentionally diverged. Every conflict must be analyzed individually and in detail.
36+
37+
- Expect many files moved from `Generals/` and `GeneralsMD/` into a unified `Core/` directory. Do not assume that all conflicts in those areas should be resolved by keeping the `TheSuperHackers` version.
38+
- Do not use blanket conflict strategies for large areas of the tree.
39+
- Do not sacrifice the cross-platform architecture of `GeneralsX` just to make the merge easy.
40+
- Do not blindly keep either side. Reconcile changes so that useful `TheSuperHackers` bug fixes, stability work, and optimizations are preserved whenever they do not break the `GeneralsX` platform strategy.
41+
- Preserve the functional cross-platform stack already established in `GeneralsX`: SDL3 for platform/windowing/input, DXVK for graphics, OpenAL for audio, and FFmpeg where applicable.
42+
- Preserve platform isolation. Do not allow platform-specific code to leak into gameplay logic.
43+
- Keep legacy compatibility paths only where they are still intentionally maintained by this repository, but do not let original-binary compatibility override the `GeneralsX` cross-platform objective.
44+
- Review conflicts with extra care in these areas:
45+
- build system and presets
46+
- SDL3, DXVK, OpenAL, FFmpeg, and platform abstraction layers
47+
- shared engine code under `Core/`
48+
- `Generals/` and `GeneralsMD/` code that may have been unified or refactored upstream
49+
- launch paths, renderer setup, audio wiring, and asset/runtime integration
50+
- If a conflict involves a removal or downgrade of an existing cross-platform capability, treat that as a high-risk decision and justify it explicitly before accepting it.
51+
- Prefer root-cause conflict resolution over temporary hacks, disabled code paths, or quick stubs.
52+
53+
## Validation Requirements
54+
55+
It is imperative that configure and build workflows still work after the merge. At minimum, validate the relevant project tasks and report the outcome clearly.
56+
57+
Prioritize verifying:
58+
59+
- macOS configure/build flow
60+
- Linux configure/build flow
61+
- any touched deployment or run scripts
62+
- core runtime paths affected by the merge
63+
64+
If a full validation cannot be completed, state exactly what was not run and why.
65+
66+
## Deliverables
67+
68+
After the sync is complete, provide:
69+
70+
1. A concise summary of what was merged from `TheSuperHackers`.
71+
2. A conflict-resolution report describing the most important merge decisions and why they were made.
72+
3. A list of files or subsystems that remain risky and should receive extra review.
73+
4. The final branch name, commit hash, and push status.
74+
5. A user checklist of what should be tested next.
75+
76+
## Required User Checklist
77+
78+
The final response must include a checklist covering at least:
79+
80+
- configure on all supported platforms
81+
- build on all supported platforms
82+
- game launch
83+
- main menu
84+
- skirmish gameplay
85+
- campaign flow
86+
- audio playback
87+
- video playback
88+
- renderer stability
89+
- input handling
90+
- mod loading if affected
91+
- any feature areas touched by resolved conflicts
92+
93+
## Execution Notes
94+
95+
- Work carefully and deliberately. This is not a mechanical merge.
96+
- Read relevant repository instructions and reference material before resolving difficult conflicts.
97+
- Keep the final result aligned with the `GeneralsX` mission: a functional, modern, cross-platform codebase.

0 commit comments

Comments
 (0)