@cbnventures/nova 0.15.0 → 0.15.1

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 (44) hide show
  1. package/bin/nova.mjs +14 -1
  2. package/build/package.json +1 -1
  3. package/build/src/cli/generate/github/funding.js +4 -4
  4. package/build/src/cli/generate/github/funding.js.map +1 -1
  5. package/build/src/cli/generate/github/issue-template.js +3 -3
  6. package/build/src/cli/generate/github/issue-template.js.map +1 -1
  7. package/build/src/cli/generate/github/workflows.js +5 -5
  8. package/build/src/cli/generate/github/workflows.js.map +1 -1
  9. package/build/src/cli/generate/must-haves/agent-conventions.js +2 -2
  10. package/build/src/cli/generate/must-haves/agent-conventions.js.map +1 -1
  11. package/build/src/cli/generate/must-haves/dotenv.d.ts.map +1 -1
  12. package/build/src/cli/generate/must-haves/dotenv.js +38 -52
  13. package/build/src/cli/generate/must-haves/dotenv.js.map +1 -1
  14. package/build/src/cli/generate/must-haves/editorconfig.js +3 -3
  15. package/build/src/cli/generate/must-haves/editorconfig.js.map +1 -1
  16. package/build/src/cli/generate/must-haves/gitignore.d.ts.map +1 -1
  17. package/build/src/cli/generate/must-haves/gitignore.js +29 -36
  18. package/build/src/cli/generate/must-haves/gitignore.js.map +1 -1
  19. package/build/src/cli/generate/must-haves/license.js +4 -4
  20. package/build/src/cli/generate/must-haves/license.js.map +1 -1
  21. package/build/src/cli/generate/must-haves/read-me.js +3 -3
  22. package/build/src/cli/generate/must-haves/read-me.js.map +1 -1
  23. package/build/src/cli/index.js +0 -0
  24. package/build/src/lib/scaffold.d.ts.map +1 -1
  25. package/build/src/lib/scaffold.js +8 -1
  26. package/build/src/lib/scaffold.js.map +1 -1
  27. package/build/src/types/cli/generate/github/funding.d.ts +2 -2
  28. package/build/src/types/cli/generate/github/issue-template.d.ts +2 -2
  29. package/build/src/types/cli/generate/github/workflows.d.ts +3 -1
  30. package/build/src/types/cli/generate/must-haves/agent-conventions.d.ts +3 -1
  31. package/build/src/types/cli/generate/must-haves/dotenv.d.ts +8 -1
  32. package/build/src/types/cli/generate/must-haves/editorconfig.d.ts +3 -1
  33. package/build/src/types/cli/generate/must-haves/gitignore.d.ts +4 -2
  34. package/build/src/types/cli/generate/must-haves/license.d.ts +2 -2
  35. package/build/src/types/cli/generate/must-haves/read-me.d.ts +2 -1
  36. package/build/src/types/cli/index.d.ts +2 -2
  37. package/build/src/types/lib/scaffold.d.ts +5 -3
  38. package/build/src/types/shared.d.ts +7 -0
  39. package/package.json +1 -1
  40. package/build/templates/.novaignore +0 -0
  41. package/build/templates/generators/must-haves/agent-conventions/.cursorrules +0 -54
  42. package/build/templates/generators/must-haves/dotenv/.env.sample +0 -14
  43. package/build/templates/generators/must-haves/editorconfig/.editorconfig +0 -212
  44. package/build/templates/scaffold/docs/docusaurus/static/.gitkeep +0 -0
@@ -2,6 +2,7 @@ import type { LibNovaConfig } from '../../../../lib/nova-config.js';
2
2
 
3
3
  import type {
4
4
  SharedFundPlatform,
5
+ SharedGeneratorRunResult,
5
6
  SharedNovaConfigConfig,
6
7
  SharedNovaConfigEntities,
7
8
  SharedNovaConfigEntity,
@@ -88,7 +89,7 @@ export type CliGenerateMustHavesReadMeRunOptions = {
88
89
  replaceFile?: CliGenerateMustHavesReadMeRunOptionsReplaceFile;
89
90
  };
90
91
 
91
- export type CliGenerateMustHavesReadMeRunReturns = Promise<void>;
92
+ export type CliGenerateMustHavesReadMeRunReturns = Promise<SharedGeneratorRunResult>;
92
93
 
93
94
  export type CliGenerateMustHavesReadMeRunCurrentDirectory = string;
94
95
 
@@ -1,7 +1,7 @@
1
1
  import type { Command, CommandUnknownOpts } from '@commander-js/extra-typings';
2
2
  import type { ChalkInstance } from 'chalk';
3
3
 
4
- import type { SharedRunScriptsOptions } from '../shared.d.ts';
4
+ import type { SharedGeneratorRunResult, SharedRunScriptsOptions } from '../shared.d.ts';
5
5
 
6
6
  /**
7
7
  * CLI - Constructor.
@@ -24,7 +24,7 @@ export type CliEnvDir = string | undefined;
24
24
  */
25
25
  export type CliExecuteCommandOptions<Options> = Partial<Options>;
26
26
 
27
- export type CliExecuteCommandTarget<Options> = (options: CliExecuteCommandOptions<Options>) => void | Promise<void>;
27
+ export type CliExecuteCommandTarget<Options> = (options: CliExecuteCommandOptions<Options>) => void | Promise<void> | Promise<SharedGeneratorRunResult>;
28
28
 
29
29
  export type CliExecuteCommandReturns = Promise<void>;
30
30
 
@@ -1,6 +1,6 @@
1
1
  import type { PromptObject } from 'prompts';
2
2
 
3
- import type { SharedMonorepoContext, SharedScaffoldConfig } from '../shared.d.ts';
3
+ import type { SharedGeneratorRunResult, SharedMonorepoContext, SharedScaffoldConfig } from '../shared.d.ts';
4
4
 
5
5
  /**
6
6
  * Lib - Scaffold - Collect Files.
@@ -101,7 +101,7 @@ export type LibScaffoldLoadGeneratorName = string;
101
101
 
102
102
  export type LibScaffoldLoadGeneratorReturns = Promise<((options: {
103
103
  replaceFile: true;
104
- }) => Promise<void>) | undefined>;
104
+ }) => Promise<SharedGeneratorRunResult>) | undefined>;
105
105
 
106
106
  export type LibScaffoldLoadGeneratorEditorconfigModule = typeof import('../../cli/generate/must-haves/editorconfig.js');
107
107
 
@@ -154,7 +154,9 @@ export type LibScaffoldPromptPostScaffoldGeneratorsOriginalCwd = string;
154
154
 
155
155
  export type LibScaffoldPromptPostScaffoldGeneratorsGeneratorModule = ((options: {
156
156
  replaceFile: true;
157
- }) => Promise<void>) | undefined;
157
+ }) => Promise<SharedGeneratorRunResult>) | undefined;
158
+
159
+ export type LibScaffoldPromptPostScaffoldGeneratorsGeneratorResult = SharedGeneratorRunResult;
158
160
 
159
161
  /**
160
162
  * Lib - Scaffold - Prompt Scaffold Options.
@@ -181,6 +181,13 @@ export type SharedFundPlatform = {
181
181
  color: SharedFundPlatformColor;
182
182
  };
183
183
 
184
+ /**
185
+ * Shared - Generator Run Result.
186
+ *
187
+ * @since 0.15.0
188
+ */
189
+ export type SharedGeneratorRunResult = 'completed' | 'cancelled';
190
+
184
191
  /**
185
192
  * Shared - Item Pretty Names.
186
193
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cbnventures/nova",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "Scripts, templates, and project configuration for the common JavaScript and TypeScript developer",
5
5
  "keywords": [
6
6
  "eslint",
File without changes
@@ -1,54 +0,0 @@
1
- # .cursorrules
2
-
3
- Read and follow the conventions and rules defined in the files below.
4
-
5
- ## Vision and Purpose
6
-
7
- - [VISION.md](VISION.md) — Purpose, marketing copy, and glossary.
8
-
9
- ## Project Rules
10
-
11
- - [PROJECT_RULES.md](PROJECT_RULES.md) — Project identity, repository layout, source structure, key files, build tooling, workspace rules, project-specific patterns, documentation site, and publishing/deployment.
12
-
13
- ## Coding Conventions
14
-
15
- ### Universal
16
-
17
- - [conventions/universal.md](conventions/universal.md) — Workflow, general code style, documentation style, platform build rules, and release notes format.
18
-
19
- ### Per Language
20
-
21
- - [conventions/typescript.md](conventions/typescript.md) — TypeScript / JavaScript conventions (type system, imports, class structure, code style, TSConfig).
22
- - [conventions/swift.md](conventions/swift.md) — Swift conventions (documentation style, code style).
23
- - [conventions/java.md](conventions/java.md) — Java conventions (documentation style, code style).
24
- - [conventions/kotlin.md](conventions/kotlin.md) — Kotlin conventions (documentation style, code style).
25
- - [conventions/csharp.md](conventions/csharp.md) — C# conventions (documentation style, code style).
26
- - [conventions/php.md](conventions/php.md) — PHP conventions (documentation style, code style).
27
- - [conventions/python.md](conventions/python.md) — Python conventions (documentation style, code style).
28
- - [conventions/css.md](conventions/css.md) — CSS conventions (documentation style, code style).
29
- - [conventions/docker.md](conventions/docker.md) — Docker conventions (documentation style, code style).
30
- - [conventions/shell.md](conventions/shell.md) — Shell conventions (documentation style, code style).
31
-
32
- ## Agent Directives
33
-
34
- - **Plan before acting.** For non-trivial changes that span multiple files, outline the planned modifications and wait for approval before proceeding. The cost of pausing to align is low; the cost of unwanted changes across a codebase is high.
35
- - **Match the scope of changes to what was requested.** Do not add features, refactor surrounding code, introduce documentation, or make improvements beyond the immediate task. If a bug fix is requested, fix the bug — do not clean up neighboring code.
36
- - **Read before writing.** Always read existing code before suggesting modifications. Understand the patterns, conventions, and intent already present in the file before making changes.
37
- - **Ask when intent is unclear.** If a request is ambiguous or could be interpreted multiple ways, ask for clarification rather than guessing. A wrong assumption can be more expensive than a short pause.
38
- - **Verify your work.** After making changes, run the project's build, lint, or test commands to confirm nothing is broken. Do not leave verification to the user unless the commands are unavailable.
39
-
40
- ## Sensitive Files
41
-
42
- These files contain critical project information — architectural decisions, identity, and positioning that are difficult to reconstruct if lost. Edit with care and do not overwrite or remove existing content without explicit instruction.
43
-
44
- - `VISION.md`
45
- - `PROJECT_RULES.md`
46
-
47
- ## Restricted Files
48
-
49
- These files are managed externally and kept in sync across environments. Modifying them locally will cause drift and merge conflicts.
50
-
51
- - `.cursorrules`
52
- - `CLAUDE.md`
53
- - `AGENTS.md`
54
- - `conventions/*.md`
@@ -1,14 +0,0 @@
1
- ############################
2
- #### Node.js - Settings ####
3
- ############################
4
- NODE_ENV=""
5
-
6
- #########################
7
- #### Nova - CLI Logs ####
8
- #########################
9
- LOG_LEVEL=""
10
- LOG_TIME=""
11
-
12
- #############################
13
- #### Project - Variables ####
14
- #############################
@@ -1,212 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- charset = utf-8
5
- end_of_line = lf
6
- indent_size = 2
7
- indent_style = space
8
- insert_final_newline = true
9
- max_line_length = off
10
- tab_width = 2
11
- trim_trailing_whitespace = true
12
-
13
- [*.xml]
14
- indent_size = 4
15
- indent_style = space
16
-
17
- # JetBrains - IntelliJ
18
- ij_xml_space_inside_empty_tag = true
19
-
20
- [*.json]
21
- indent_size = 2
22
- indent_style = space
23
-
24
- [{*.yml,*.yaml}]
25
- indent_size = 2
26
- indent_style = space
27
-
28
- [Makefile]
29
- indent_size = tab
30
- indent_style = tab
31
- tab_width = 8
32
-
33
- [{*.ts,*.mts,*.cts,*.tsx}]
34
- indent_size = 2
35
- indent_style = space
36
-
37
- # JetBrains - IntelliJ
38
- ij_html_do_not_indent_children_of_tags = none
39
- ij_html_space_inside_empty_tag = true
40
- ij_typescript_brace_style = end_of_line
41
- ij_typescript_force_control_statements_braces = always_add
42
- ij_typescript_force_quote_style = true
43
- ij_typescript_force_semicolon_style = true
44
- ij_typescript_keep_simple_methods_in_one_line = true
45
- ij_typescript_method_call_chain_wrap = normal
46
- ij_typescript_object_literal_wrap = off
47
- ij_typescript_spaces_within_imports = true
48
- ij_typescript_spaces_within_object_literal_braces = true
49
- ij_typescript_use_double_quotes = false
50
- ij_typescript_use_semicolon_after_statement = true
51
- ij_typescript_var_declaration_wrap = split_into_lines
52
-
53
- # JetBrains - ReSharper
54
- resharper_js_brace_style = end_of_line
55
- resharper_js_force_control_statements_braces = always_add
56
- resharper_js_quote_style = singlequoted
57
- resharper_js_termination_style = ensure_semicolon
58
-
59
- [{*.js,*.mjs,*.cjs,*.jsx}]
60
- indent_size = 2
61
- indent_style = space
62
-
63
- # JetBrains - IntelliJ
64
- ij_html_do_not_indent_children_of_tags = none
65
- ij_html_space_inside_empty_tag = true
66
- ij_javascript_brace_style = end_of_line
67
- ij_javascript_force_control_statements_braces = always_add
68
- ij_javascript_force_quote_style = true
69
- ij_javascript_force_semicolon_style = true
70
- ij_javascript_keep_simple_methods_in_one_line = true
71
- ij_javascript_method_call_chain_wrap = normal
72
- ij_javascript_object_literal_wrap = off
73
- ij_javascript_spaces_within_imports = true
74
- ij_javascript_spaces_within_object_literal_braces = true
75
- ij_javascript_use_double_quotes = false
76
- ij_javascript_use_semicolon_after_statement = true
77
- ij_javascript_var_declaration_wrap = split_into_lines
78
-
79
- # JetBrains - ReSharper
80
- resharper_js_brace_style = end_of_line
81
- resharper_js_force_control_statements_braces = always_add
82
- resharper_js_quote_style = singlequoted
83
- resharper_js_termination_style = ensure_semicolon
84
-
85
- [*.ets]
86
- indent_size = 2
87
- indent_style = space
88
-
89
- # JetBrains - IntelliJ
90
- ij_html_do_not_indent_children_of_tags = none
91
- ij_html_space_inside_empty_tag = true
92
- ij_typescript_brace_style = end_of_line
93
- ij_typescript_force_control_statements_braces = always_add
94
- ij_typescript_force_quote_style = true
95
- ij_typescript_force_semicolon_style = true
96
- ij_typescript_keep_simple_methods_in_one_line = true
97
- ij_typescript_method_call_chain_wrap = normal
98
- ij_typescript_object_literal_wrap = off
99
- ij_typescript_spaces_within_imports = true
100
- ij_typescript_spaces_within_object_literal_braces = true
101
- ij_typescript_use_double_quotes = false
102
- ij_typescript_use_semicolon_after_statement = true
103
- ij_typescript_var_declaration_wrap = split_into_lines
104
-
105
- [{*.ejs,*.html}]
106
- indent_size = 4
107
- indent_style = space
108
-
109
- # JetBrains - IntelliJ
110
- ij_html_attribute_wrap = off
111
- ij_html_do_not_indent_children_of_tags = none
112
- ij_html_space_inside_empty_tag = true
113
- ij_html_text_wrap = off
114
-
115
- [*.php]
116
- indent_size = 4
117
- indent_style = space
118
-
119
- # JetBrains - IntelliJ
120
- ij_php_block_brace_style = end_of_line
121
- ij_php_class_brace_style = end_of_line
122
- ij_php_comma_after_last_array_element = true
123
- ij_php_do_while_brace_force = always
124
- ij_php_for_brace_force = always
125
- ij_php_if_brace_force = always
126
- ij_php_indent_code_in_php_tags = true
127
- ij_php_method_brace_style = end_of_line
128
- ij_php_new_line_after_php_opening_tag = true
129
- ij_php_while_brace_force = always
130
-
131
- [{*.markdown,*.md}]
132
- indent_size = 2
133
- indent_style = space
134
-
135
- # JetBrains - IntelliJ
136
- ij_markdown_max_lines_around_block_elements = 0
137
- ij_markdown_max_lines_around_header = 0
138
-
139
- [*.py]
140
- indent_size = 4
141
- indent_style = space
142
-
143
- # JetBrains - IntelliJ
144
- ij_python_blank_lines_around_top_level_classes_functions = 2
145
- ij_python_from_import_trailing_comma_if_multiline = true
146
- ij_python_optimize_imports_sort_imports = true
147
-
148
- [*.swift]
149
- indent_size = 4
150
- indent_style = space
151
-
152
- [*.java]
153
- indent_size = 4
154
- indent_style = space
155
-
156
- # JetBrains - IntelliJ
157
- ij_java_block_brace_style = end_of_line
158
- ij_java_class_brace_style = end_of_line
159
- ij_java_class_count_to_use_import_on_demand = 999
160
- ij_java_do_while_brace_force = always
161
- ij_java_for_brace_force = always
162
- ij_java_if_brace_force = always
163
- ij_java_imports_layout = $*, |, *
164
- ij_java_lambda_brace_style = end_of_line
165
- ij_java_layout_static_imports_separately = true
166
- ij_java_method_brace_style = end_of_line
167
- ij_java_names_count_to_use_import_on_demand = 999
168
- ij_java_use_single_class_imports = true
169
- ij_java_while_brace_force = always
170
-
171
- [{*.kt,*.kts}]
172
- indent_size = 4
173
- indent_style = space
174
-
175
- # JetBrains - IntelliJ
176
- ij_kotlin_allow_trailing_comma = true
177
- ij_kotlin_allow_trailing_comma_on_call_site = true
178
- ij_kotlin_catch_on_new_line = false
179
- ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL
180
- ij_kotlin_else_on_new_line = false
181
- ij_kotlin_finally_on_new_line = false
182
- ij_kotlin_imports_layout = *
183
- ij_kotlin_name_count_to_use_star_import = 9999
184
- ij_kotlin_name_count_to_use_star_import_for_members = 9999
185
-
186
- [*.cs]
187
- indent_size = 4
188
- indent_style = space
189
-
190
- # JetBrains - ReSharper
191
- resharper_csharp_brace_style = end_of_line
192
- resharper_csharp_braces_for_dowhile = required
193
- resharper_csharp_braces_for_for = required
194
- resharper_csharp_braces_for_foreach = required
195
- resharper_csharp_braces_for_ifelse = required
196
- resharper_csharp_braces_for_lock = required
197
- resharper_csharp_braces_for_using = required
198
- resharper_csharp_braces_for_while = required
199
- resharper_csharp_trailing_comma_in_multiline_lists = true
200
- resharper_csharp_trailing_comma_in_singleline_lists = false
201
-
202
- # Microsoft - Visual Studio
203
- csharp_new_line_before_catch = false
204
- csharp_new_line_before_else = false
205
- csharp_new_line_before_finally = false
206
- csharp_new_line_before_open_brace = none
207
- csharp_prefer_braces = true
208
- csharp_preserve_single_line_blocks = true
209
- csharp_preserve_single_line_statements = false
210
- csharp_using_directive_placement = outside_namespace
211
- dotnet_separate_import_directive_groups = true
212
- dotnet_sort_system_directives_first = true