@codeyam/codeyam-cli 0.1.0-staging.ae0de75 → 0.1.0-staging.b8f4f94

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.
Files changed (81) hide show
  1. package/analyzer-template/.build-info.json +7 -7
  2. package/analyzer-template/log.txt +3 -3
  3. package/analyzer-template/package.json +3 -3
  4. package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +13 -7
  5. package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
  6. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
  7. package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
  8. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
  9. package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
  10. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
  11. package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
  12. package/codeyam-cli/src/commands/default.js +3 -46
  13. package/codeyam-cli/src/commands/default.js.map +1 -1
  14. package/codeyam-cli/src/commands/editor.js +254 -66
  15. package/codeyam-cli/src/commands/editor.js.map +1 -1
  16. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +234 -0
  17. package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -1
  18. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +12 -1
  19. package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -1
  20. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +29 -0
  21. package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -1
  22. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +1217 -0
  23. package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
  24. package/codeyam-cli/src/utils/backgroundServer.js +2 -2
  25. package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
  26. package/codeyam-cli/src/utils/editorAudit.js +45 -5
  27. package/codeyam-cli/src/utils/editorAudit.js.map +1 -1
  28. package/codeyam-cli/src/utils/editorJournal.js +7 -0
  29. package/codeyam-cli/src/utils/editorJournal.js.map +1 -1
  30. package/codeyam-cli/src/utils/entityChangeStatus.js +255 -0
  31. package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
  32. package/codeyam-cli/src/utils/install-skills.js +1 -1
  33. package/codeyam-cli/src/utils/install-skills.js.map +1 -1
  34. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +5 -1
  35. package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
  36. package/codeyam-cli/src/webserver/build/client/assets/Terminal-nZNBALox.js +41 -0
  37. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
  38. package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
  39. package/codeyam-cli/src/webserver/build/client/assets/editor-DTwKl1Xu.js +10 -0
  40. package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.dev-D8ILZMR0.js → entity._sha.scenarios._scenarioId.dev-DjACbfdI.js} +1 -1
  41. package/codeyam-cli/src/webserver/build/client/assets/git-CdN8sCqs.js +1 -0
  42. package/codeyam-cli/src/webserver/build/client/assets/globals-h1-1oFYI.css +1 -0
  43. package/codeyam-cli/src/webserver/build/client/assets/index-yHOVb4rc.js +15 -0
  44. package/codeyam-cli/src/webserver/build/client/assets/manifest-9422aeab.js +1 -0
  45. package/codeyam-cli/src/webserver/build/client/assets/{memory-FweZHj5U.js → memory-Dg0mvYrI.js} +4 -1
  46. package/codeyam-cli/src/webserver/build/client/assets/{root-DUKqhFlb.js → root-BzQgN2ff.js} +1 -1
  47. package/codeyam-cli/src/webserver/build/server/assets/{index-BLhjL9Xi.js → index-Bh_pNxNA.js} +1 -1
  48. package/codeyam-cli/src/webserver/build/server/assets/server-build-Bqr22tlO.js +367 -0
  49. package/codeyam-cli/src/webserver/build/server/index.js +1 -1
  50. package/codeyam-cli/src/webserver/build-info.json +5 -5
  51. package/codeyam-cli/src/webserver/server.js +32 -6
  52. package/codeyam-cli/src/webserver/server.js.map +1 -1
  53. package/codeyam-cli/src/webserver/terminalServer.js +23 -4
  54. package/codeyam-cli/src/webserver/terminalServer.js.map +1 -1
  55. package/codeyam-cli/templates/editor-step-hook.py +53 -6
  56. package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +10 -5
  57. package/codeyam-cli/templates/skills/codeyam-memory/SKILL.md +10 -10
  58. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
  59. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
  60. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
  61. package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
  62. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
  63. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
  64. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
  65. package/package.json +10 -10
  66. package/packages/analyze/src/lib/ProjectAnalyzer.js +10 -4
  67. package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
  68. package/packages/analyze/src/lib/asts/index.js +4 -2
  69. package/packages/analyze/src/lib/asts/index.js.map +1 -1
  70. package/scripts/npm-post-install.cjs +22 -0
  71. package/codeyam-cli/src/webserver/build/client/assets/Terminal-wkqC0AQk.js +0 -41
  72. package/codeyam-cli/src/webserver/build/client/assets/editor-CdjF_fX6.js +0 -8
  73. package/codeyam-cli/src/webserver/build/client/assets/git-CFCTYk9I.js +0 -15
  74. package/codeyam-cli/src/webserver/build/client/assets/globals-B17TBSS6.css +0 -1
  75. package/codeyam-cli/src/webserver/build/client/assets/manifest-b8fd6b07.js +0 -1
  76. package/codeyam-cli/src/webserver/build/server/assets/server-build-DyMuI5mU.js +0 -363
  77. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.sh +0 -108
  78. package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.sh +0 -69
  79. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.sh +0 -12
  80. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter.jq +0 -45
  81. package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.sh +0 -139
@@ -6,9 +6,7 @@ import { requireBranchAndProject, testEnvironment } from "../utils/database.js";
6
6
  import { startBackgroundServer } from "../utils/backgroundServer.js";
7
7
  import { installClaudeCodeSkills } from "../utils/install-skills.js";
8
8
  import { setupClaudeCodeSettings } from "../utils/setupClaudeCodeSettings.js";
9
- import { isAnalyzerFinalized, getAnalyzerTemplatePath, } from "../utils/analyzer.js";
10
9
  import initCommand from "./init.js";
11
- import { updateProjectMetadata } from "../../../packages/database/index.js";
12
10
  import { getProjectRoot } from "../state.js";
13
11
  function logStartMessage(state) {
14
12
  console.log();
@@ -60,26 +58,9 @@ const defaultCommand = {
60
58
  }
61
59
  // Load project and branch from database
62
60
  const { project, branch } = await requireBranchAndProject(projectSlug);
63
- // Detect empty folder (no webapps) and enable editor mode
64
- const webapps = config.webapps || [];
65
- const isEmptyFolder = webapps.length === 0;
66
- const editorMode = isEmptyFolder || project.metadata?.editorMode === true;
67
- if (editorMode && !project.metadata?.labs?.simulations) {
68
- try {
69
- await updateProjectMetadata({
70
- projectSlug,
71
- metadataUpdate: { editorMode: true, labs: { simulations: true } },
72
- });
73
- // Refresh project after metadata update
74
- const refreshed = await requireBranchAndProject(projectSlug);
75
- Object.assign(project, refreshed.project);
76
- }
77
- catch {
78
- // Non-fatal — editor mode will still work from the flag
79
- }
80
- }
81
61
  // Ensure skills/hooks are up to date with this CLI version
82
62
  const simulationsEnabled = project.metadata?.labs?.simulations ?? false;
63
+ const editorMode = project.metadata?.editorMode === true;
83
64
  const skillMode = simulationsEnabled
84
65
  ? 'full'
85
66
  : editorMode
@@ -93,29 +74,6 @@ const defaultCommand = {
93
74
  mode: skillMode,
94
75
  editorMode,
95
76
  });
96
- // In editor mode, auto-finalize the analyzer so codeyam analyze works
97
- if (editorMode && !isAnalyzerFinalized()) {
98
- try {
99
- const { execSync } = await import('child_process');
100
- const templatePath = getAnalyzerTemplatePath();
101
- if (fs.existsSync(templatePath)) {
102
- console.log(' Setting up simulations (first time only)...');
103
- execSync('npm install --include=dev', {
104
- cwd: templatePath,
105
- stdio: 'pipe',
106
- });
107
- execSync('npx playwright install chromium', {
108
- cwd: templatePath,
109
- stdio: 'pipe',
110
- });
111
- execSync('npm run build', { cwd: templatePath, stdio: 'pipe' });
112
- fs.writeFileSync(path.join(templatePath, '.finalized'), new Date().toISOString());
113
- }
114
- }
115
- catch {
116
- // Non-fatal — codeyam analyze just won't work until setup-simulations is run
117
- }
118
- }
119
77
  // Start background server
120
78
  const { url } = await startBackgroundServer({
121
79
  port: argv.port || 3111,
@@ -124,8 +82,7 @@ const defaultCommand = {
124
82
  branch,
125
83
  });
126
84
  logStartMessage({ url });
127
- // Auto-open browser — route to /editor when in editor mode
128
- const openUrl = editorMode ? `${url}/editor` : url;
85
+ // Auto-open browser to dashboard
129
86
  try {
130
87
  const { execSync } = await import('child_process');
131
88
  const openCommand = process.platform === 'darwin'
@@ -133,7 +90,7 @@ const defaultCommand = {
133
90
  : process.platform === 'win32'
134
91
  ? 'start ""'
135
92
  : 'xdg-open';
136
- execSync(`${openCommand} "${openUrl}"`, { stdio: 'ignore' });
93
+ execSync(`${openCommand} "${url}"`, { stdio: 'ignore' });
137
94
  }
138
95
  catch (e) {
139
96
  // Silently fail if open command doesn't work
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/default.ts"],"names":[],"mappings":"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"}