feat(sproutclaw): modularize webui, extensions, and agent config layout
Some checks failed
CI / build-check-test (push) Has been cancelled

Restructure local extensions into per-feature directories, split WebUI
into backend modules with slash commands and systemd support, and track
prompts/skills under .pi/agent for portable Gitea deployment.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
root
2026-06-10 16:57:08 +08:00
parent 11c3a3a399
commit cf5edd6394
132 changed files with 9288 additions and 1971 deletions

View File

@@ -113,4 +113,20 @@ Use this skill.
expect(skills.map((skill) => skill.name)).toEqual(["skills"]);
expect(skills[0]?.content).toBe("Root content");
});
it("ignores README.md at the skills directory root", async () => {
const root = createTempDir();
const env = new NodeExecutionEnv({ cwd: root });
await env.createDir("skills/example", { recursive: true });
await env.writeFile("skills/README.md", "# Skills\n\nDirectory documentation.");
await env.writeFile(
"skills/example/SKILL.md",
"---\nname: example\ndescription: Example skill\n---\nUse this skill.",
);
const { skills, diagnostics } = await loadSkills(env, "skills");
expect(diagnostics).toEqual([]);
expect(skills.map((skill) => skill.name)).toEqual(["example"]);
});
});