@thecorporation/cli 26.3.37 → 26.3.39

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/index.js CHANGED
@@ -3623,12 +3623,25 @@ async function formCommand(opts) {
3623
3623
  } catch (err) {
3624
3624
  if (err instanceof Error && err.message.includes("exit")) throw err;
3625
3625
  const msg = String(err);
3626
+ const hints = [];
3627
+ if (msg.includes("incorporator_address")) {
3628
+ hints.push('Add an address to a founder: --member "Name,email,director,100,street|city|state|zip,ceo,true"');
3629
+ }
3630
+ if (msg.includes("company_address")) {
3631
+ hints.push('Add --address "street,city,state,zip" for the company address (required for C-Corps)');
3632
+ }
3633
+ if (msg.includes("principal_name")) {
3634
+ hints.push('Add --principal-name "Manager Name" (auto-set from first member for LLCs)');
3635
+ }
3626
3636
  if (msg.includes("officers_list") || msg.includes("officer")) {
3637
+ hints.push('C-Corp directors need an officer_title: --member "Name,email,director,100,,,ceo"');
3638
+ }
3639
+ if (hints.length > 0) {
3627
3640
  printError(
3628
3641
  `Formation failed: ${msg}
3629
- Hint: C-Corp directors need an officer_title. Use --member with officer_title field, e.g.:
3630
- --member 'name=Alice,email=a@co.com,role=director,officer_title=ceo,pct=100'
3631
- Or use --member-json with {"officer_title": "ceo"}`
3642
+
3643
+ Missing fields \u2014 fix all at once:
3644
+ ` + hints.map((h) => ` - ${h}`).join("\n")
3632
3645
  );
3633
3646
  } else {
3634
3647
  printError(`Failed to create formation: ${err}`);
@@ -4125,11 +4138,31 @@ async function formFinalizeHandler(ctx) {
4125
4138
  }
4126
4139
  } catch (err) {
4127
4140
  const msg = String(err);
4141
+ const hints = [];
4142
+ if (msg.includes("incorporator_address")) {
4143
+ hints.push('--incorporator-address "123 Main St,City,ST,12345"');
4144
+ }
4145
+ if (msg.includes("company_address")) {
4146
+ hints.push('--company-address "123 Main St,City,ST,12345"');
4147
+ }
4148
+ if (msg.includes("principal_name")) {
4149
+ hints.push('--principal-name "Managing Member Name"');
4150
+ }
4128
4151
  if (msg.includes("officers_list") || msg.includes("officer")) {
4152
+ hints.push("Add a founder with --officer-title: corp form add-founder @last --role director --officer-title ceo ...");
4153
+ }
4154
+ if (msg.includes("incorporator_name")) {
4155
+ hints.push('--incorporator-name "Incorporator Name"');
4156
+ }
4157
+ if (hints.length > 0) {
4129
4158
  printError(
4130
4159
  `Finalization failed: ${msg}
4131
- Hint: C-Corp entities require at least one founder with an officer_title.
4132
- Add a founder with: corp form add-founder @last:entity --name '...' --email '...' --role director --pct 100 --officer-title ceo`
4160
+
4161
+ To fix, re-run finalize with the missing fields:
4162
+ ` + hints.map((h) => ` ${h}`).join("\n") + `
4163
+
4164
+ Example:
4165
+ corp form finalize @last ${hints.filter((h) => h.startsWith("--")).join(" ")}`
4133
4166
  );
4134
4167
  } else {
4135
4168
  printError(`Failed to finalize formation: ${err}`);