my-patina 0.6.0 → 0.7.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/dist/cli.js +6 -13
- package/dist/templates/CLAUDE.md +19 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -427,7 +427,11 @@ function profileToVars(profile, liProfileUrl) {
|
|
|
427
427
|
CONTENT_DIR: profile.content_dir,
|
|
428
428
|
EDITOR: profile.editor,
|
|
429
429
|
LI_PROFILE_URL: liProfileUrl ?? profile.linkedin?.profile_url ?? "",
|
|
430
|
-
TODAY: today
|
|
430
|
+
TODAY: today,
|
|
431
|
+
STALENESS_THRESHOLD: (() => {
|
|
432
|
+
const d = Number(profile.staleness_threshold_days ?? 30);
|
|
433
|
+
return String(Number.isFinite(d) && d > 0 ? d : 30);
|
|
434
|
+
})()
|
|
431
435
|
};
|
|
432
436
|
}
|
|
433
437
|
function baseManagedFiles(vars, editor, targetDir) {
|
|
@@ -484,18 +488,7 @@ async function scaffold(opts) {
|
|
|
484
488
|
created: today,
|
|
485
489
|
...modules.includes("linkedin") && liProfileUrl ? { linkedin: { profile_url: liProfileUrl } } : {}
|
|
486
490
|
};
|
|
487
|
-
const vars =
|
|
488
|
-
PATINA_NAME: patinaName,
|
|
489
|
-
USER_NAME: userName,
|
|
490
|
-
USER_TITLE: title ?? "",
|
|
491
|
-
ROLE_DESCRIPTION: roleDescription,
|
|
492
|
-
COMPANY_NAME: work.company_name,
|
|
493
|
-
COMPANY_DESCRIPTION: work.company_description ?? "",
|
|
494
|
-
CONTENT_DIR: contentDir,
|
|
495
|
-
EDITOR: editor,
|
|
496
|
-
LI_PROFILE_URL: liProfileUrl,
|
|
497
|
-
TODAY: today
|
|
498
|
-
};
|
|
491
|
+
const vars = profileToVars(tempProfile, liProfileUrl);
|
|
499
492
|
mkdirSync2(targetDir, { recursive: true });
|
|
500
493
|
const checksums = {};
|
|
501
494
|
const managedFiles = [
|
package/dist/templates/CLAUDE.md
CHANGED
|
@@ -44,6 +44,25 @@ The graph is the source of truth. Nothing gets added to generated content unless
|
|
|
44
44
|
- Never delete skill files automatically. Surface them to the user and wait for confirmation.
|
|
45
45
|
- `{{CONTENT_DIR}}/notes/exclusions.md` overrides everything. If something is listed there, it must not appear in any generated output.
|
|
46
46
|
|
|
47
|
+
## On session start
|
|
48
|
+
|
|
49
|
+
Before anything else, scan the graph for stale content and surface a brief report.
|
|
50
|
+
|
|
51
|
+
Read the file modification times for all three areas — skip `.gitkeep`, `README.md`, and `exclusions.md` in every directory:
|
|
52
|
+
- `{{CONTENT_DIR}}/notes/`
|
|
53
|
+
- `{{CONTENT_DIR}}/skills/`
|
|
54
|
+
- `{{CONTENT_DIR}}/posts/`
|
|
55
|
+
|
|
56
|
+
List items not modified in the last **{{STALENESS_THRESHOLD}} days**, grouped by area:
|
|
57
|
+
|
|
58
|
+
- **Notes** — stale note slugs
|
|
59
|
+
- **Skills** — stale skill slugs
|
|
60
|
+
- **Posts** — stale draft slugs
|
|
61
|
+
|
|
62
|
+
Skip any area with nothing stale. If everything is fresh, say so in one line. Keep the report brief — one line per area. Then ask:
|
|
63
|
+
|
|
64
|
+
> What are we working on today?
|
|
65
|
+
|
|
47
66
|
## Slash commands
|
|
48
67
|
|
|
49
68
|
| Command | What it does |
|