fix: allow string values for commit_footer config (#919)

This commit is contained in:
YeonGyu-Kim
2026-02-07 19:04:34 +09:00
parent 8e92704316
commit e4bbd6bf15
4 changed files with 117 additions and 7 deletions
@@ -314,6 +314,44 @@ describe("resolveMultipleSkillsAsync", () => {
expect(gitMasterContent).toContain("Co-authored-by: Sisyphus")
})
it("should inject custom string footer when commit_footer is a string", async () => {
// given: git-master skill with custom string footer
const skillNames = ["git-master"]
const customFooter = "Custom footer from my team"
const options = {
gitMasterConfig: {
commit_footer: customFooter,
include_co_authored_by: false,
},
}
// when: resolving with custom footer config
const result = await resolveMultipleSkillsAsync(skillNames, options)
// then: custom footer is injected instead of default
const gitMasterContent = result.resolved.get("git-master")
expect(gitMasterContent).toContain(customFooter)
expect(gitMasterContent).not.toContain("Ultraworked with [Sisyphus]")
})
it("should use default Sisyphus footer when commit_footer is boolean true", async () => {
// given: git-master skill with boolean true footer
const skillNames = ["git-master"]
const options = {
gitMasterConfig: {
commit_footer: true,
include_co_authored_by: false,
},
}
// when: resolving with boolean true footer config
const result = await resolveMultipleSkillsAsync(skillNames, options)
// then: default Sisyphus footer is injected
const gitMasterContent = result.resolved.get("git-master")
expect(gitMasterContent).toContain("Ultraworked with [Sisyphus]")
})
it("should handle empty array", async () => {
// given: empty skill names
const skillNames: string[] = []
@@ -97,9 +97,10 @@ export function injectGitMasterConfig(template: string, config?: GitMasterConfig
sections.push(``)
if (commitFooter) {
const footerText = typeof commitFooter === "string" ? commitFooter : "Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)"
sections.push(`1. **Footer in commit body:**`)
sections.push("```")
sections.push(`Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)`)
sections.push(footerText)
sections.push("```")
sections.push(``)
}
@@ -113,14 +114,16 @@ export function injectGitMasterConfig(template: string, config?: GitMasterConfig
}
if (commitFooter && includeCoAuthoredBy) {
const footerText = typeof commitFooter === "string" ? commitFooter : "Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)"
sections.push(`**Example (both enabled):**`)
sections.push("```bash")
sections.push(`git commit -m "{Commit Message}" -m "Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)" -m "Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>"`)
sections.push(`git commit -m "{Commit Message}" -m "${footerText}" -m "Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>"`)
sections.push("```")
} else if (commitFooter) {
const footerText = typeof commitFooter === "string" ? commitFooter : "Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)"
sections.push(`**Example:**`)
sections.push("```bash")
sections.push(`git commit -m "{Commit Message}" -m "Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)"`)
sections.push(`git commit -m "{Commit Message}" -m "${footerText}"`)
sections.push("```")
} else if (includeCoAuthoredBy) {
sections.push(`**Example:**`)