24 lines
670 B
Go
24 lines
670 B
Go
package server
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
// absSkillPath joins a skill's relative file path (stored as
|
|
// "<app_slug>/<skill_slug>.md") onto the configured skills root, yielding the
|
|
// absolute on-disk location of the markdown file.
|
|
func absSkillPath(skillsDir, relPath string) string {
|
|
return filepath.Join(skillsDir, filepath.Clean("/"+relPath))
|
|
}
|
|
|
|
// removeAppSkillDir deletes the per-app skill directory after an app is
|
|
// removed. Missing directory and non-empty errors are ignored; this is
|
|
// best-effort cleanup.
|
|
func removeAppSkillDir(skillsDir, appSlug string) {
|
|
if appSlug == "" {
|
|
return
|
|
}
|
|
_ = os.RemoveAll(filepath.Join(skillsDir, appSlug))
|
|
}
|