- Introduced coding standards for TypeScript and React in SKILL.md. - Added continuous learning skill with configuration and evaluation scripts. - Created detail layout guidelines for read-only pages. - Established form layout rules for data-entry forms. - Documented project guidelines for the frontend monorepo. - Implemented security review checklist for frontend/Electron applications. - Developed a verification loop skill for comprehensive session checks. This commit enhances the skill set available for developers, ensuring adherence to best practices and improving code quality.
83 lines
1.6 KiB
JavaScript
83 lines
1.6 KiB
JavaScript
#!/usr/bin/env node
|
|
/**
|
|
* Stop Hook (Session End) - Persist learnings when session ends
|
|
*
|
|
* Cross-platform (Windows, macOS, Linux)
|
|
*
|
|
* Runs when a Cursor session ends. Creates/updates session log file
|
|
* with timestamp for continuity tracking.
|
|
*/
|
|
|
|
const path = require('path');
|
|
const fs = require('fs');
|
|
const {
|
|
getSessionsDir,
|
|
getDateString,
|
|
getTimeString,
|
|
ensureDir,
|
|
readFile,
|
|
writeFile,
|
|
replaceInFile,
|
|
log
|
|
} = require('../lib/utils');
|
|
|
|
async function main() {
|
|
const sessionsDir = getSessionsDir();
|
|
const today = getDateString();
|
|
const sessionFile = path.join(sessionsDir, `${today}-session.tmp`);
|
|
|
|
ensureDir(sessionsDir);
|
|
|
|
const currentTime = getTimeString();
|
|
|
|
// If session file exists for today, update the end time
|
|
if (fs.existsSync(sessionFile)) {
|
|
const success = replaceInFile(
|
|
sessionFile,
|
|
/\*\*Last Updated:\*\*.*/,
|
|
`**Last Updated:** ${currentTime}`
|
|
);
|
|
|
|
if (success) {
|
|
log(`[SessionEnd] Updated session file: ${sessionFile}`);
|
|
}
|
|
} else {
|
|
// Create new session file with template
|
|
const template = `# Session: ${today}
|
|
**Date:** ${today}
|
|
**Started:** ${currentTime}
|
|
**Last Updated:** ${currentTime}
|
|
|
|
---
|
|
|
|
## Current State
|
|
|
|
[Session context goes here]
|
|
|
|
### Completed
|
|
- [ ]
|
|
|
|
### In Progress
|
|
- [ ]
|
|
|
|
### Notes for Next Session
|
|
-
|
|
|
|
### Context to Load
|
|
\`\`\`
|
|
[relevant files]
|
|
\`\`\`
|
|
`;
|
|
|
|
writeFile(sessionFile, template);
|
|
log(`[SessionEnd] Created session file: ${sessionFile}`);
|
|
}
|
|
|
|
process.exit(0);
|
|
}
|
|
|
|
main().catch(err => {
|
|
console.error('[SessionEnd] Error:', err.message);
|
|
process.exit(0);
|
|
});
|