gyoshu 0.1.0 → 0.2.0
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/README.md +11 -9
- package/bin/gyoshu.js +2 -2
- package/install.sh +1 -1
- package/package.json +1 -1
- package/src/lib/report-markdown.ts +21 -63
- package/src/lib/literature-client.ts +0 -1048
- package/src/skill/scientific-method/SKILL.md +0 -331
- package/src/tool/literature-search.ts +0 -389
package/README.md
CHANGED
|
@@ -46,28 +46,30 @@ Think of it like a research lab:
|
|
|
46
46
|
|
|
47
47
|
## 🚀 One-Click Installation
|
|
48
48
|
|
|
49
|
-
### Option 1:
|
|
49
|
+
### Option 1: bunx (Recommended)
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
bunx gyoshu install
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Option 2: curl
|
|
50
56
|
|
|
51
57
|
```bash
|
|
52
58
|
curl -fsSL https://raw.githubusercontent.com/Yeachan-Heo/My-Jogyo/refs/heads/main/install.sh | bash
|
|
53
59
|
```
|
|
54
60
|
|
|
55
|
-
### Option
|
|
61
|
+
### Option 3: Clone & Install
|
|
56
62
|
|
|
57
63
|
```bash
|
|
58
64
|
git clone https://github.com/Yeachan-Heo/My-Jogyo.git
|
|
59
65
|
cd My-Jogyo && ./install.sh
|
|
60
66
|
```
|
|
61
67
|
|
|
62
|
-
### Option
|
|
68
|
+
### Option 4: npm global install
|
|
63
69
|
|
|
64
70
|
```bash
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
# Copy to global config
|
|
69
|
-
mkdir -p ~/.config/opencode/
|
|
70
|
-
cp -r My-Jogyo/src/* ~/.config/opencode/
|
|
71
|
+
npm install -g gyoshu
|
|
72
|
+
gyoshu install
|
|
71
73
|
```
|
|
72
74
|
|
|
73
75
|
---
|
package/bin/gyoshu.js
CHANGED
|
@@ -168,11 +168,11 @@ function uninstall() {
|
|
|
168
168
|
'command/gyoshu.md', 'command/gyoshu-auto.md',
|
|
169
169
|
'tool/gyoshu-completion.ts', 'tool/gyoshu-snapshot.ts', 'tool/python-repl.ts',
|
|
170
170
|
'tool/notebook-writer.ts', 'tool/notebook-search.ts', 'tool/research-manager.ts',
|
|
171
|
-
'tool/session-manager.ts', 'tool/migration-tool.ts',
|
|
171
|
+
'tool/session-manager.ts', 'tool/migration-tool.ts',
|
|
172
172
|
'tool/retrospective-store.ts', 'tool/checkpoint-manager.ts',
|
|
173
173
|
'bridge',
|
|
174
174
|
'skill/ml-rigor', 'skill/scientific-method', 'skill/experiment-design', 'skill/data-analysis',
|
|
175
|
-
'lib/quality-gates.ts', 'lib/marker-parser.ts',
|
|
175
|
+
'lib/quality-gates.ts', 'lib/marker-parser.ts',
|
|
176
176
|
'lib/notebook-frontmatter.ts', 'lib/report-markdown.ts', 'lib/pdf-export.ts',
|
|
177
177
|
'lib/paths.ts', 'lib/atomic-write.ts', 'lib/cell-identity.ts',
|
|
178
178
|
'lib/checkpoint-schema.ts', 'lib/environment-capture.ts', 'lib/session-lock.ts',
|
package/install.sh
CHANGED
|
@@ -140,7 +140,7 @@ uninstall() {
|
|
|
140
140
|
echo -e "🗑️ ${CYAN}Uninstalling Gyoshu...${NC}"
|
|
141
141
|
|
|
142
142
|
# Gyoshu-specific directories/files
|
|
143
|
-
local gyoshu_items="agent/gyoshu.md agent/jogyo.md agent/baksa.md agent/jogyo-paper-writer.md agent/jogyo-feedback.md agent/jogyo-insight.md command/gyoshu.md command/gyoshu-auto.md tool/gyoshu-completion.ts tool/gyoshu-snapshot.ts tool/python-repl.ts tool/notebook-writer.ts tool/notebook-search.ts tool/research-manager.ts tool/session-manager.ts tool/migration-tool.ts tool/
|
|
143
|
+
local gyoshu_items="agent/gyoshu.md agent/jogyo.md agent/baksa.md agent/jogyo-paper-writer.md agent/jogyo-feedback.md agent/jogyo-insight.md command/gyoshu.md command/gyoshu-auto.md tool/gyoshu-completion.ts tool/gyoshu-snapshot.ts tool/python-repl.ts tool/notebook-writer.ts tool/notebook-search.ts tool/research-manager.ts tool/session-manager.ts tool/migration-tool.ts tool/retrospective-store.ts tool/checkpoint-manager.ts bridge skill/ml-rigor skill/scientific-method skill/experiment-design skill/data-analysis lib/quality-gates.ts lib/marker-parser.ts lib/notebook-frontmatter.ts lib/report-markdown.ts lib/pdf-export.ts lib/paths.ts lib/atomic-write.ts lib/cell-identity.ts lib/checkpoint-schema.ts lib/environment-capture.ts lib/session-lock.ts lib/readme-index.ts lib/filesystem-check.ts lib/artifact-security.ts plugin/gyoshu-hooks.ts"
|
|
144
144
|
|
|
145
145
|
for item in $gyoshu_items; do
|
|
146
146
|
if [ -e "$OPENCODE_CONFIG/$item" ] || [ -L "$OPENCODE_CONFIG/$item" ]; then
|
package/package.json
CHANGED
|
@@ -24,12 +24,19 @@ import { parseMarkers, ParsedMarker, getMarkersByType } from "./marker-parser";
|
|
|
24
24
|
import { Notebook, NotebookCell } from "./cell-identity";
|
|
25
25
|
import { extractFrontmatter, GyoshuFrontmatter } from "./notebook-frontmatter";
|
|
26
26
|
import { getNotebookPath, getReportDir, getReportReadmePath, getReportsRootDir } from "./paths";
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
// Literature client deprecated - citations now use fallback identifiers only
|
|
28
|
+
// TODO: Re-enable when a reliable citation API is available
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Minimal citation interface for fallback mode.
|
|
32
|
+
*/
|
|
33
|
+
interface Citation {
|
|
34
|
+
doi?: string;
|
|
35
|
+
arxivId?: string;
|
|
36
|
+
title?: string;
|
|
37
|
+
authors?: string[];
|
|
38
|
+
year?: number;
|
|
39
|
+
}
|
|
33
40
|
|
|
34
41
|
// =============================================================================
|
|
35
42
|
// FINDING VERIFICATION - Separate verified vs unverified findings
|
|
@@ -218,64 +225,15 @@ export function collectCitationIdentifiers(markers: ParsedMarker[]): string[] {
|
|
|
218
225
|
return identifiers;
|
|
219
226
|
}
|
|
220
227
|
|
|
221
|
-
/**
|
|
222
|
-
* Resolve citation identifiers to full citation metadata.
|
|
223
|
-
*
|
|
224
|
-
* Uses getCitationByDOI for DOIs and getArxivPaper for arXiv IDs.
|
|
225
|
-
* Failed resolutions return null citation with a fallback formatted string.
|
|
226
|
-
*
|
|
227
|
-
* @param identifiers - Array of citation identifiers (DOIs or arXiv IDs)
|
|
228
|
-
* @returns Array of resolved citations with formatted strings
|
|
229
|
-
*/
|
|
230
228
|
export async function resolveCitations(identifiers: string[]): Promise<ResolvedCitation[]> {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
if (isArxivId(identifier)) {
|
|
241
|
-
citation = await getArxivPaper(identifier);
|
|
242
|
-
} else {
|
|
243
|
-
// Assume it's a DOI
|
|
244
|
-
citation = await getCitationByDOI(identifier);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
if (citation) {
|
|
248
|
-
results.push({
|
|
249
|
-
identifier,
|
|
250
|
-
number,
|
|
251
|
-
citation,
|
|
252
|
-
formatted: formatCitationAPA(citation),
|
|
253
|
-
});
|
|
254
|
-
} else {
|
|
255
|
-
// Resolution failed - provide fallback
|
|
256
|
-
results.push({
|
|
257
|
-
identifier,
|
|
258
|
-
number,
|
|
259
|
-
citation: null,
|
|
260
|
-
formatted: isArxivId(identifier)
|
|
261
|
-
? `arXiv:${identifier}`
|
|
262
|
-
: `https://doi.org/${identifier}`,
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
} catch (error) {
|
|
266
|
-
// API error - provide fallback
|
|
267
|
-
results.push({
|
|
268
|
-
identifier,
|
|
269
|
-
number,
|
|
270
|
-
citation: null,
|
|
271
|
-
formatted: isArxivId(identifier)
|
|
272
|
-
? `arXiv:${identifier}`
|
|
273
|
-
: `https://doi.org/${identifier}`,
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
return results;
|
|
229
|
+
return identifiers.map((identifier, i) => ({
|
|
230
|
+
identifier,
|
|
231
|
+
number: i + 1,
|
|
232
|
+
citation: null,
|
|
233
|
+
formatted: isArxivId(identifier)
|
|
234
|
+
? `arXiv:${identifier}`
|
|
235
|
+
: `https://doi.org/${identifier}`,
|
|
236
|
+
}));
|
|
279
237
|
}
|
|
280
238
|
|
|
281
239
|
export interface ArtifactEntry {
|