@aethrekh/pi-cs 0.2.0-alpha.1 → 0.2.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/extensions/progress-tracker.js +4 -3
- package/extensions/semester-detector.js +9 -0
- package/package.json +1 -1
- package/pi-cs.meta.json +2 -2
- package/pi-package.yaml +1 -31
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.2.0-alpha.2](https://github.com/AshishBagdane/pi-cs/compare/v0.2.0-alpha.1...v0.2.0-alpha.2) (2026-06-05)
|
|
11
|
+
|
|
12
|
+
### ### Fixed
|
|
13
|
+
|
|
14
|
+
* gate persona and skills to active Pisces workspaces ([3949f96](https://github.com/AshishBagdane/pi-cs/commit/3949f96f391306811c71e3290cb36eae3af14f42))
|
|
15
|
+
|
|
10
16
|
## [0.2.0-alpha.1](https://github.com/AshishBagdane/pi-cs/compare/v0.2.0-alpha.0...v0.2.0-alpha.1) (2026-06-05)
|
|
11
17
|
|
|
12
18
|
### ### Fixed
|
|
@@ -219,9 +219,9 @@ function default_1(pi) {
|
|
|
219
219
|
` ${workspace_1.PISCES_MARKER} created.`,
|
|
220
220
|
``,
|
|
221
221
|
`All Pi sessions in this directory tree will now activate Pisces.`,
|
|
222
|
-
|
|
223
|
-
`Run /semester --init to set up semester context, or start working right away.`,
|
|
222
|
+
`Reloading to register Pisces skills (/homework, /explain, etc.)...`,
|
|
224
223
|
].join("\n"), "info");
|
|
224
|
+
await ctx.reload();
|
|
225
225
|
}
|
|
226
226
|
catch (err) {
|
|
227
227
|
ctx.ui.notify(`❌ Failed to create ${workspace_1.PISCES_MARKER}: ${String(err)}`, "error");
|
|
@@ -239,7 +239,8 @@ function default_1(pi) {
|
|
|
239
239
|
const removed = workspaceRoot;
|
|
240
240
|
workspaceRoot = null;
|
|
241
241
|
isActive = false;
|
|
242
|
-
ctx.ui.notify(`✅ Workspace deactivated.\n Removed ${workspace_1.PISCES_MARKER} from: ${removed}\n\
|
|
242
|
+
ctx.ui.notify(`✅ Workspace deactivated.\n Removed ${workspace_1.PISCES_MARKER} from: ${removed}\n\nReloading to unregister Pisces skills...`, "info");
|
|
243
|
+
await ctx.reload();
|
|
243
244
|
}
|
|
244
245
|
catch (err) {
|
|
245
246
|
ctx.ui.notify(`❌ Failed to remove ${workspace_1.PISCES_MARKER}: ${String(err)}`, "error");
|
|
@@ -224,6 +224,15 @@ function removeLegacyGlobalPersona(persona) {
|
|
|
224
224
|
function default_1(pi) {
|
|
225
225
|
const persona = loadPersona();
|
|
226
226
|
let semesterCtx = null;
|
|
227
|
+
// Dynamically register skills only when a Pisces workspace is active.
|
|
228
|
+
// Skills are absent outside a workspace — they never appear in the global command list.
|
|
229
|
+
pi.on("resources_discover", async () => {
|
|
230
|
+
if (!(0, workspace_1.findPiscesMarker)())
|
|
231
|
+
return;
|
|
232
|
+
// Relative path works for both pack (extensions/ → skills/) and dev (src/extensions/ → src/skills/) layouts
|
|
233
|
+
const skillsDir = path.resolve(__dirname, "../skills");
|
|
234
|
+
return fs.existsSync(skillsDir) ? { skillPaths: [skillsDir] } : undefined;
|
|
235
|
+
});
|
|
227
236
|
pi.on("session_start", async (_event, ctx) => {
|
|
228
237
|
if (!(0, workspace_1.findPiscesMarker)())
|
|
229
238
|
return;
|
package/package.json
CHANGED
package/pi-cs.meta.json
CHANGED
package/pi-package.yaml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
name: pi-cs
|
|
2
|
-
version: 0.2.0-alpha.
|
|
2
|
+
version: 0.2.0-alpha.2
|
|
3
3
|
display_name: "pi-cs (Pisces)"
|
|
4
4
|
description: "The CS Student Edition for Pi — Your personal AI teaching assistant for Computer Science, from homework to thesis."
|
|
5
5
|
icon: public/pisces-logo-512.png
|
|
@@ -7,36 +7,6 @@ author: ""
|
|
|
7
7
|
license: MIT
|
|
8
8
|
pi_version: ">=1.0.0"
|
|
9
9
|
|
|
10
|
-
# Core system prompt that defines the academic persona
|
|
11
|
-
system: SYSTEM.md
|
|
12
|
-
|
|
13
|
-
# Skills (slash commands) registered by this package
|
|
14
|
-
skills:
|
|
15
|
-
- name: homework
|
|
16
|
-
path: skills/homework/SKILL.md
|
|
17
|
-
description: "Break down problems, provide guided hints, and walk through step-by-step implementation"
|
|
18
|
-
- name: project
|
|
19
|
-
path: skills/project/SKILL.md
|
|
20
|
-
description: "Full project kickoff: requirements → architecture → tech stack → scaffolding"
|
|
21
|
-
- name: review
|
|
22
|
-
path: skills/review/SKILL.md
|
|
23
|
-
description: "Strict TA-level code review covering style, efficiency, edge cases, and security"
|
|
24
|
-
- name: explain
|
|
25
|
-
path: skills/explain/SKILL.md
|
|
26
|
-
description: "Concept explanations with analogies, Mermaid diagrams, and connections to prior knowledge"
|
|
27
|
-
- name: leetcode
|
|
28
|
-
path: skills/leetcode/SKILL.md
|
|
29
|
-
description: "Problem parsing, optimized solutions with time/space complexity analysis"
|
|
30
|
-
- name: exam
|
|
31
|
-
path: skills/exam/SKILL.md
|
|
32
|
-
description: "Practice questions, mind maps, and revision plans for upcoming exams"
|
|
33
|
-
- name: research
|
|
34
|
-
path: skills/research/SKILL.md
|
|
35
|
-
description: "Paper summarization, arXiv search, and literature review assistance"
|
|
36
|
-
- name: semester
|
|
37
|
-
path: skills/semester/SKILL.md
|
|
38
|
-
description: "Manage semester context: scaffold a new SEMESTER.md (--init), update fields (--update), or inspect what Pisces detects (--status)"
|
|
39
|
-
|
|
40
10
|
# Extensions that run automatically in the background
|
|
41
11
|
extensions:
|
|
42
12
|
- name: workspace
|