vde-layout 0.0.1 → 0.0.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.
Files changed (79) hide show
  1. package/README.md +17 -0
  2. package/bin/vde-layout +9 -1
  3. package/dist/index.js +1455 -20
  4. package/dist/index.js.map +1 -1
  5. package/package.json +23 -11
  6. package/dist/cli.d.ts +0 -27
  7. package/dist/cli.d.ts.map +0 -1
  8. package/dist/cli.js +0 -138
  9. package/dist/cli.js.map +0 -1
  10. package/dist/config/loader.d.ts +0 -14
  11. package/dist/config/loader.d.ts.map +0 -1
  12. package/dist/config/loader.js +0 -117
  13. package/dist/config/loader.js.map +0 -1
  14. package/dist/config/validator.d.ts +0 -3
  15. package/dist/config/validator.d.ts.map +0 -1
  16. package/dist/config/validator.js +0 -168
  17. package/dist/config/validator.js.map +0 -1
  18. package/dist/executor/dry-run-executor.d.ts +0 -16
  19. package/dist/executor/dry-run-executor.d.ts.map +0 -1
  20. package/dist/executor/dry-run-executor.js +0 -45
  21. package/dist/executor/dry-run-executor.js.map +0 -1
  22. package/dist/executor/index.d.ts +0 -6
  23. package/dist/executor/index.d.ts.map +0 -1
  24. package/dist/executor/index.js +0 -10
  25. package/dist/executor/index.js.map +0 -1
  26. package/dist/executor/mock-executor.d.ts +0 -21
  27. package/dist/executor/mock-executor.d.ts.map +0 -1
  28. package/dist/executor/mock-executor.js +0 -73
  29. package/dist/executor/mock-executor.js.map +0 -1
  30. package/dist/executor/real-executor.d.ts +0 -16
  31. package/dist/executor/real-executor.d.ts.map +0 -1
  32. package/dist/executor/real-executor.js +0 -58
  33. package/dist/executor/real-executor.js.map +0 -1
  34. package/dist/index.d.ts +0 -3
  35. package/dist/index.d.ts.map +0 -1
  36. package/dist/interfaces/command-executor.d.ts +0 -7
  37. package/dist/interfaces/command-executor.d.ts.map +0 -1
  38. package/dist/interfaces/command-executor.js +0 -3
  39. package/dist/interfaces/command-executor.js.map +0 -1
  40. package/dist/interfaces/index.d.ts +0 -31
  41. package/dist/interfaces/index.d.ts.map +0 -1
  42. package/dist/interfaces/index.js +0 -3
  43. package/dist/interfaces/index.js.map +0 -1
  44. package/dist/layout/engine.d.ts +0 -18
  45. package/dist/layout/engine.d.ts.map +0 -1
  46. package/dist/layout/engine.js +0 -174
  47. package/dist/layout/engine.js.map +0 -1
  48. package/dist/layout/preset.d.ts +0 -13
  49. package/dist/layout/preset.d.ts.map +0 -1
  50. package/dist/layout/preset.js +0 -55
  51. package/dist/layout/preset.js.map +0 -1
  52. package/dist/models/schema.d.ts +0 -144
  53. package/dist/models/schema.d.ts.map +0 -1
  54. package/dist/models/schema.js +0 -95
  55. package/dist/models/schema.js.map +0 -1
  56. package/dist/models/types.d.ts +0 -34
  57. package/dist/models/types.d.ts.map +0 -1
  58. package/dist/models/types.js +0 -16
  59. package/dist/models/types.js.map +0 -1
  60. package/dist/tmux/commands.d.ts +0 -14
  61. package/dist/tmux/commands.d.ts.map +0 -1
  62. package/dist/tmux/commands.js +0 -59
  63. package/dist/tmux/commands.js.map +0 -1
  64. package/dist/tmux/executor.d.ts +0 -20
  65. package/dist/tmux/executor.d.ts.map +0 -1
  66. package/dist/tmux/executor.js +0 -64
  67. package/dist/tmux/executor.js.map +0 -1
  68. package/dist/utils/errors.d.ts +0 -36
  69. package/dist/utils/errors.d.ts.map +0 -1
  70. package/dist/utils/errors.js +0 -131
  71. package/dist/utils/errors.js.map +0 -1
  72. package/dist/utils/logger.d.ts +0 -25
  73. package/dist/utils/logger.d.ts.map +0 -1
  74. package/dist/utils/logger.js +0 -67
  75. package/dist/utils/logger.js.map +0 -1
  76. package/dist/utils/ratio.d.ts +0 -3
  77. package/dist/utils/ratio.d.ts.map +0 -1
  78. package/dist/utils/ratio.js +0 -44
  79. package/dist/utils/ratio.js.map +0 -1
package/README.md CHANGED
@@ -14,6 +14,23 @@ vde-layout is a tool that allows you to define tmux pane layouts in YAML configu
14
14
  - Flexible pane settings (commands, working directories, environment variables, etc.)
15
15
  - Freely combine horizontal and vertical splits
16
16
 
17
+ ## Architecture
18
+
19
+ vde-layout follows a functional-core/imperative-shell approach:
20
+
21
+ - Functional Core compiles presets into immutable layout plans and deterministic tmux command sequences.
22
+ - CLI adapters reuse the same plan for dry-run and real execution, ensuring matching plan hashes.
23
+ - Plan Runner validates tmux prerequisites, applies each plan step, and reports structured diagnostics when a step fails.
24
+
25
+ This separation allows the Functional Core to remain pure and fully testable while the boundary layer coordinates I/O with tmux.
26
+
27
+ ## Development Notes
28
+
29
+ - Runtime modules are authored in ESM with explicit `.ts` extensions, and `src/core/` exposes the canonical functional services directly.
30
+ - Boundary adapters (`src/cli`, `src/executor`, `src/tmux`) remain factory-based; avoid新たなクラス導入は避けてください。
31
+ - `npm run build` uses tsdown to emit ESM bundles into `dist/`. `npm test` automatically rebuilds before executing the Vitest suite.
32
+ - Run `npm run typecheck` to validate the TypeScript sources without emitting artifacts.
33
+
17
34
  ## Installation
18
35
 
19
36
  ```bash
package/bin/vde-layout CHANGED
@@ -1,2 +1,10 @@
1
1
  #!/usr/bin/env node
2
- require('../dist/index.js');
2
+ try {
3
+ await import('../dist/index.js');
4
+ } catch (error) {
5
+ if (error && typeof error === 'object' && 'code' in error && error.code === 'ERR_MODULE_NOT_FOUND') {
6
+ await import('../src/index.ts');
7
+ } else {
8
+ throw error;
9
+ }
10
+ }