@ooneex/cli 1.36.5 → 1.37.0

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
@@ -10908,28 +10908,44 @@ Rewrite the \`description\` field into this structured format:
10908
10908
  ## Acceptance Criteria
10909
10909
  - [ ] <Condition 1 that must be met>
10910
10910
  - [ ] <Condition 2 that must be met>
10911
+ - [ ] <Entity> data model is defined
10912
+ - [ ] \`fieldName\` \u2014 <field description>
10913
+ - [ ] \`fieldName\` \u2014 <field description>
10911
10914
  - [ ] <\u2026>
10912
10915
 
10913
10916
  ## Technical Notes
10914
10917
  <Optional: technical constraints or implementation hints \u2014 omit section if not applicable>
10915
- \`\`\`
10918
+
10919
+ ### Data Model
10920
+ <List every entity involved and its relations using this format:>
10921
+ - \`EntityA.fieldName\` \u2192 \`@OneToMany(() => EntityB, (b) => b.a)\` \u2014 one A has many Bs
10922
+ - \`EntityB.fieldName\` \u2192 \`@ManyToOne(() => EntityA, (a) => a.bs)\` \u2014 many Bs belong to one A
10923
+ - \`EntityA.fieldName\` \u2192 \`@ManyToMany(() => EntityB)\` + \`@JoinTable()\` \u2014 pivot table owned by A
10924
+ - \`EntityA.fieldName\` \u2192 \`@OneToOne(() => EntityB)\` + \`@JoinColumn()\` \u2014 one-to-one, FK on A
10916
10925
 
10917
10926
  Rules:
10918
10927
  - Preserve all factual information from the original description
10919
10928
  - Keep each section concise and actionable
10920
10929
  - Acceptance Criteria must be checkboxes (\`- [ ]\`), not prose
10930
+ - When a criterion covers a data model, add indented sub-checkboxes (\` - [ ] \\\`fieldName\\\` \u2014 <description>\`) for each field of that entity
10931
+ - Field descriptions must be plain English \u2014 no TypeORM decorators, ENUM syntax, or implementation details (e.g. \`\` \`type\` \u2014 b2b | school | internal \`\`, not \`\` \`type\` \u2014 ENUM(b2b | school | internal) \`\`; \`\` \`createdAt\` \u2014 Created date \`\`, not \`\` \`createdAt\` \u2014 TIMESTAMPTZ via \`@CreateDateColumn\` \`\`; \`\` \`packs\` \u2014 One organization has many packs \`\`, not \`\` \`packs\` \u2014 \`@OneToMany(() => PackEntity, (p) => p.org)\` \`\`)
10932
+ - Field names must use the entity name, not an ID suffix \u2014 write \`\` \`address\` \u2014 User has one address \`\`, not \`\` \`addressId\` \u2014 Optional FK to address \`\`; write \`\` \`organization\` \u2014 Membership belongs to one organization \`\`, not \`\` \`organizationId\` \u2014 FK to organization \`\`
10921
10933
  - Omit \`## Technical Notes\` if there is nothing relevant to add
10934
+ - Omit \`## Technical Notes\` in the parent issue when it has sub-issues \u2014 add it only in sub-issues
10935
+ - When the issue is split, the parent \`## Acceptance Criteria\` must be the exact union of all sub-issues' criteria, grouped by sub-issue title \u2014 never written before sub-issues exist
10922
10936
 
10923
- ### 3. Extract Labels
10937
+ ### 3. Extract Labels and Set Priority
10924
10938
 
10925
- Based on the improved description, suggest relevant labels:
10926
- - Short (1\u20133 words), lowercase, hyphenated (e.g. \`bug\`, \`enhancement\`, \`performance\`, \`breaking-change\`)
10939
+ **Labels** \u2014 Based on the improved description, suggest relevant labels:
10940
+ - Short (1\u20133 words), properly cased: Title Case for general terms, uppercase for acronyms (e.g. \`Feature\`, \`Bug\`, \`API\`, \`Database\`, \`UI\`, \`Breaking Change\`)
10927
10941
  - Deduplicate against labels already present in the YAML
10928
- - Present suggestions to the user and ask which ones to add
10929
10942
 
10930
- Common label vocabulary:
10931
- \`bug\`, \`enhancement\`, \`performance\`, \`refactor\`, \`security\`, \`breaking-change\`,
10932
- \`documentation\`, \`testing\`, \`database\`, \`api\`, \`ui\`, \`infrastructure\`, \`cleanup\`
10943
+ Common label vocabulary (use these exact casings):
10944
+ \`Feature\`, \`Bug\`, \`Improvement\`, \`Enhancement\`, \`Performance\`, \`Refactor\`, \`Security\`, \`Breaking Change\`,
10945
+ \`Documentation\`, \`Testing\`, \`Database\`, \`API\`, \`UI\`, \`Infrastructure\`, \`Cleanup\`
10946
+
10947
+ **Priority** \u2014 Always set or confirm the \`priority\` field. Valid values: \`Urgent\`, \`High\`, \`Medium\`, \`Low\`.
10948
+ If no priority is set in the original file, infer one from the description.
10933
10949
 
10934
10950
  ### 4. Check Whether Splitting Is Needed
10935
10951
 
@@ -10948,6 +10964,28 @@ For each sub-issue:
10948
10964
  - Generate a new identifier using the format \`XXX-000000\` (3 uppercase letters + 6 digits)
10949
10965
  - Write a new YAML file to the same \`modules/<module>/issues/\` directory
10950
10966
  - Inherit \`state\`, \`priority\`, and \`labels\` from the parent issue
10967
+ - When the sub-issue involves entities or a data model, include a \`### Data Model\` subsection inside \`## Technical Notes\` that lists every relation with:
10968
+ - the exact field name on the owning entity
10969
+ - the TypeORM decorator (\`@OneToMany\`, \`@ManyToOne\`, \`@ManyToMany\`, \`@OneToOne\`)
10970
+ - the inverse field name and which side owns the foreign key / join table
10971
+
10972
+ Each sub-issue description must use the same structured format as the parent issue, including \`## Acceptance Criteria\` with checkboxes. The \`## Context\` and \`## Goal\` sections should be concise (2\u20133 sentences each) and scoped to the sub-issue.
10973
+
10974
+ After writing all sub-issues, update the parent issue's \`## Acceptance Criteria\` to be the exact union of all sub-issues' \`## Acceptance Criteria\` items, grouped under a labeled header per sub-issue:
10975
+
10976
+ \`\`\`markdown
10977
+ ## Acceptance Criteria
10978
+
10979
+ ### <Sub-issue title>
10980
+ - [ ] <Condition from sub-issue>
10981
+ - [ ] <\u2026>
10982
+
10983
+ ### <Sub-issue title>
10984
+ - [ ] <Condition from sub-issue>
10985
+ - [ ] <\u2026>
10986
+ \`\`\`
10987
+
10988
+ Do not invent new criteria \u2014 copy them verbatim from each sub-issue.
10951
10989
 
10952
10990
  Sub-issue YAML structure:
10953
10991
  \`\`\`yaml
@@ -10956,7 +10994,22 @@ title: "<action-oriented title: verb + noun>"
10956
10994
  state: "<parent state>"
10957
10995
  priority: "<parent priority>"
10958
10996
  description: |
10959
- <2\u20135 sentences: context, goal, and acceptance criteria>
10997
+ ## Context
10998
+ <2\u20133 sentences scoped to this sub-issue>
10999
+
11000
+ ## Goal
11001
+ <What this sub-issue specifically achieves>
11002
+
11003
+ ## Acceptance Criteria
11004
+ - [ ] <Condition 1>
11005
+ - [ ] <Condition 2>
11006
+ - [ ] <\u2026>
11007
+
11008
+ ## Technical Notes
11009
+ <Optional \u2014 omit if not applicable>
11010
+
11011
+ ### Data Model
11012
+ <Relations for entities involved in this sub-issue>
10960
11013
  labels:
10961
11014
  - "<label>"
10962
11015
  \`\`\`
@@ -10981,8 +11034,8 @@ description: |
10981
11034
  ## Acceptance Criteria
10982
11035
  - [ ] \u2026
10983
11036
  labels:
10984
- - "enhancement"
10985
- - "api"
11037
+ - "Enhancement"
11038
+ - "API"
10986
11039
  comments:
10987
11040
  - author: "Alice"
10988
11041
  message: "Some comment"
@@ -10992,7 +11045,6 @@ comments:
10992
11045
 
10993
11046
  - Never invent facts \u2014 only restructure and clarify what is already in the description
10994
11047
  - If the description is missing or empty, tell the user and stop
10995
- - Always show the user the improved description before writing, and ask for confirmation
10996
11048
  - When splitting, inform the user of each sub-issue file created
10997
11049
  `;
10998
11050
 
@@ -14685,17 +14737,20 @@ _oo() {
14685
14737
  local -a commands
14686
14738
  commands=(
14687
14739
  'app\\:build:Build the application'
14740
+ 'app\\:create:Create a new application'
14688
14741
  'app\\:init:Initialize an application'
14689
14742
  'app\\:start:Start the application'
14690
14743
  'app\\:stop:Stop the application'
14744
+ 'claude\\:skill\\:create:Generate Claude skills from templates'
14691
14745
  'command\\:run:Run a custom command from a module'
14692
14746
  'completion\\:zsh:Install Zsh completion for oo command'
14693
14747
  'help:Show available commands'
14748
+ 'issue\\:create:Create a YAML skeleton file for a new issue'
14749
+ 'issue\\:pull:Pull an issue from Linear and save it as a YAML file'
14750
+ 'issue\\:push:Push a local issue YAML to Linear (create or update)'
14694
14751
  'make\\:ai:Generate a new AI class'
14695
14752
  'make\\:analytics:Generate a new analytics class'
14696
- 'app\\:create:Create a new application'
14697
14753
  'make\\:cache:Generate a new cache class'
14698
- 'claude\\:skill\\:create:Generate Claude skills from templates'
14699
14754
  'make\\:command:Generate a new command class'
14700
14755
  'make\\:controller:Generate a new controller class'
14701
14756
  'make\\:cron:Generate a new cron class'
@@ -14705,23 +14760,21 @@ _oo() {
14705
14760
  'make\\:logger:Generate a new logger class'
14706
14761
  'make\\:mailer:Generate a new mailer class'
14707
14762
  'make\\:middleware:Generate a new middleware class'
14708
- 'migration\\:create:Generate a new migration file'
14709
- 'migration\\:up:Run migrations for all modules'
14710
- 'module\\:create:Generate a new module'
14711
- 'module\\:lock:Lock module migrations by hashing their content into a yml file'
14712
- 'module\\:remove:Remove an existing module'
14713
14763
  'make\\:permission:Generate a new permission class'
14714
14764
  'make\\:pubsub:Generate a new PubSub event class'
14715
14765
  'make\\:release:Release packages with version bump, changelog, and git tag'
14716
14766
  'make\\:repository:Generate a new repository class'
14717
14767
  'make\\:resource\\:book:Generate book resource (entity, migration, repository)'
14718
- 'issue\\:create:Create a YAML skeleton file for a new issue'
14719
- 'issue\\:pull:Pull an issue from Linear and save it as a YAML file'
14720
- 'seed\\:create:Generate a new seed file'
14721
- 'seed\\:run:Run seeds for all modules'
14722
14768
  'make\\:service:Generate a new service class'
14723
14769
  'make\\:storage:Generate a new storage class'
14724
14770
  'make\\:vector-database:Generate a new vector database class'
14771
+ 'migration\\:create:Generate a new migration file'
14772
+ 'migration\\:up:Run migrations for all modules'
14773
+ 'module\\:create:Generate a new module'
14774
+ 'module\\:lock:Lock module migrations by hashing their content into a yml file'
14775
+ 'module\\:remove:Remove an existing module'
14776
+ 'seed\\:create:Generate a new seed file'
14777
+ 'seed\\:run:Run seeds for all modules'
14725
14778
  )
14726
14779
 
14727
14780
  _arguments -s \\
@@ -14735,99 +14788,104 @@ _oo() {
14735
14788
  ;;
14736
14789
  opts)
14737
14790
  case "$words[1]" in
14738
- command:run)
14739
- _arguments -s \\
14740
- '1:command name:_oo_custom_commands'
14791
+ app:build|app:start|app:stop|claude:skill:create|completion:zsh|help|make:release|make:resource:book)
14741
14792
  ;;
14742
- make:controller)
14793
+ app:create)
14743
14794
  _arguments -s \\
14744
14795
  '--name=[Name of the resource]:name' \\
14745
- '--module=[Module name]:module:_oo_modules' \\
14746
- '--route-name=[Route name]:route_name' \\
14747
- '--route-path=[Route path]:route_path' \\
14748
- '--route-method=[Route HTTP method]:method:(GET POST PUT PATCH DELETE HEAD OPTIONS)' \\
14749
- '--is-socket[Socket mode]'
14796
+ '--destination=[Destination path]:destination:_files -/'
14750
14797
  ;;
14751
- make:middleware)
14798
+ app:init)
14752
14799
  _arguments -s \\
14753
14800
  '--name=[Name of the resource]:name' \\
14754
- '--module=[Module name]:module:_oo_modules' \\
14755
- '--is-socket[Socket mode]'
14801
+ '--destination=[Destination path]:destination:_files -/' \\
14802
+ '--app-type=[Application type]:type:(cli api)'
14756
14803
  ;;
14757
- make:entity)
14804
+ command:run)
14758
14805
  _arguments -s \\
14759
- '--name=[Name of the resource]:name' \\
14760
- '--module=[Module name]:module:_oo_modules' \\
14761
- '--table-name=[Database table name]:table_name'
14806
+ '1:command name:_oo_custom_commands'
14762
14807
  ;;
14763
- make:pubsub)
14808
+ issue:create)
14764
14809
  _arguments -s \\
14765
- '--name=[Name of the resource]:name' \\
14810
+ '--title=[Issue title]:title' \\
14811
+ '--state=[Issue state]:state:(Backlog Todo "In Progress" "In Review" Done Cancelled)' \\
14812
+ '--priority=[Issue priority]:priority:(Low Medium High Urgent)' \\
14813
+ '--description=[Issue description]:description' \\
14814
+ '*--labels=[Label (repeatable)]:label' \\
14766
14815
  '--module=[Module name]:module:_oo_modules' \\
14767
- '--channel=[Channel name]:channel'
14816
+ '--interactive[Prompt for all fields]'
14768
14817
  ;;
14769
- migration:create)
14818
+ issue:pull)
14770
14819
  _arguments -s \\
14820
+ '--id=[Linear issue ID or identifier]:id' \\
14771
14821
  '--module=[Module name]:module:_oo_modules'
14772
14822
  ;;
14773
- module:lock)
14823
+ issue:push)
14774
14824
  _arguments -s \\
14775
- '--module=[Module name]:module:_oo_modules' \\
14776
- '--override[Override already registered migrations]'
14825
+ '--id=[Local issue ID to push]:id' \\
14826
+ '--module=[Module name]:module:_oo_modules'
14777
14827
  ;;
14778
- seed:create)
14828
+ make:ai|make:analytics|make:cache|make:command|make:cron|make:database|make:logger|make:mailer|make:permission|make:repository|make:service|make:storage|make:vector-database)
14779
14829
  _arguments -s \\
14780
14830
  '--name=[Name of the resource]:name' \\
14781
14831
  '--module=[Module name]:module:_oo_modules'
14782
14832
  ;;
14783
- module:create)
14784
- _arguments -s \\
14785
- '--name=[Name of the resource]:name'
14786
- ;;
14787
- module:remove)
14833
+ make:controller)
14788
14834
  _arguments -s \\
14789
- '--name=[Module name]:name:_oo_modules'
14835
+ '--name=[Name of the resource]:name' \\
14836
+ '--module=[Module name]:module:_oo_modules' \\
14837
+ '--route-name=[Route name]:route_name' \\
14838
+ '--route-path=[Route path]:route_path' \\
14839
+ '--route-method=[Route HTTP method]:method:(GET POST PUT PATCH DELETE HEAD OPTIONS)' \\
14840
+ '--is-socket[Socket mode]'
14790
14841
  ;;
14791
14842
  make:docker)
14792
14843
  _arguments -s \\
14793
14844
  '--name=[Docker service name]:name:(clickhouse elasticsearch grafana jaeger keycloak libretranslate maildev memcached minio mongodb mysql nats postgres prometheus rabbitmq redis temporal vault)'
14794
14845
  ;;
14795
- app:create)
14846
+ make:entity)
14796
14847
  _arguments -s \\
14797
14848
  '--name=[Name of the resource]:name' \\
14798
- '--destination=[Destination path]:destination:_files -/'
14849
+ '--module=[Module name]:module:_oo_modules' \\
14850
+ '--table-name=[Database table name]:table_name'
14799
14851
  ;;
14800
- app:init)
14852
+ make:middleware)
14801
14853
  _arguments -s \\
14802
14854
  '--name=[Name of the resource]:name' \\
14803
- '--destination=[Destination path]:destination:_files -/' \\
14804
- '--app-type=[Application type]:type:(cli api)'
14855
+ '--module=[Module name]:module:_oo_modules' \\
14856
+ '--is-socket[Socket mode]'
14805
14857
  ;;
14806
- make:ai|make:analytics|make:cache|make:command|make:cron|make:database|make:logger|make:mailer|make:permission|make:repository|make:service|make:storage|make:vector-database)
14858
+ make:pubsub)
14807
14859
  _arguments -s \\
14808
14860
  '--name=[Name of the resource]:name' \\
14809
- '--module=[Module name]:module:_oo_modules'
14810
- ;;
14811
- issue:create)
14812
- _arguments -s \\
14813
- '--title=[Issue title]:title' \\
14814
- '--state=[Issue state]:state:(Backlog Todo "In Progress" "In Review" Done Cancelled)' \\
14815
- '--priority=[Issue priority]:priority:(Low Medium High Urgent)' \\
14816
- '--description=[Issue description]:description' \\
14817
- '*--labels=[Label (repeatable)]:label' \\
14818
14861
  '--module=[Module name]:module:_oo_modules' \\
14819
- '--interactive[Prompt for all fields]'
14862
+ '--channel=[Channel name]:channel'
14820
14863
  ;;
14821
- issue:pull)
14864
+ migration:create)
14822
14865
  _arguments -s \\
14823
- '--id=[Linear issue ID or identifier]:id' \\
14824
14866
  '--module=[Module name]:module:_oo_modules'
14825
14867
  ;;
14826
14868
  migration:up|seed:run)
14827
14869
  _arguments -s \\
14828
14870
  '--drop[Drop the database before running]'
14829
14871
  ;;
14830
- app:build|app:start|app:stop|help|make:release|make:resource:book|claude:skill:create|completion:zsh)
14872
+ module:create)
14873
+ _arguments -s \\
14874
+ '--name=[Name of the resource]:name'
14875
+ ;;
14876
+ module:lock)
14877
+ _arguments -s \\
14878
+ '--module=[Module name]:module:_oo_modules' \\
14879
+ '--override[Override already registered migrations]'
14880
+ ;;
14881
+ module:remove)
14882
+ _arguments -s \\
14883
+ '--name=[Module name]:name:_oo_modules'
14884
+ ;;
14885
+ seed:create)
14886
+ _arguments -s \\
14887
+ '--name=[Name of the resource]:name' \\
14888
+ '--module=[Module name]:module:_oo_modules'
14831
14889
  ;;
14832
14890
  esac
14833
14891
  ;;
@@ -14860,17 +14918,20 @@ _ooneex() {
14860
14918
  local -a commands
14861
14919
  commands=(
14862
14920
  'app\\:build:Build the application'
14921
+ 'app\\:create:Create a new application'
14863
14922
  'app\\:init:Initialize an application'
14864
14923
  'app\\:start:Start the application'
14865
14924
  'app\\:stop:Stop the application'
14925
+ 'claude\\:skill\\:create:Generate Claude skills from templates'
14866
14926
  'command\\:run:Run a custom command from a module'
14867
- 'completion\\:zsh:Install Zsh completion for oo command'
14927
+ 'completion\\:zsh:Install Zsh completion for ooneex command'
14868
14928
  'help:Show available commands'
14929
+ 'issue\\:create:Create a YAML skeleton file for a new issue'
14930
+ 'issue\\:pull:Pull an issue from Linear and save it as a YAML file'
14931
+ 'issue\\:push:Push a local issue YAML to Linear (create or update)'
14869
14932
  'make\\:ai:Generate a new AI class'
14870
14933
  'make\\:analytics:Generate a new analytics class'
14871
- 'app\\:create:Create a new application'
14872
14934
  'make\\:cache:Generate a new cache class'
14873
- 'claude\\:skill\\:create:Generate Claude skills from templates'
14874
14935
  'make\\:command:Generate a new command class'
14875
14936
  'make\\:controller:Generate a new controller class'
14876
14937
  'make\\:cron:Generate a new cron class'
@@ -14880,23 +14941,21 @@ _ooneex() {
14880
14941
  'make\\:logger:Generate a new logger class'
14881
14942
  'make\\:mailer:Generate a new mailer class'
14882
14943
  'make\\:middleware:Generate a new middleware class'
14883
- 'migration\\:create:Generate a new migration file'
14884
- 'migration\\:up:Run migrations for all modules'
14885
- 'module\\:create:Generate a new module'
14886
- 'module\\:lock:Lock module migrations by hashing their content into a yml file'
14887
- 'module\\:remove:Remove an existing module'
14888
14944
  'make\\:permission:Generate a new permission class'
14889
14945
  'make\\:pubsub:Generate a new PubSub event class'
14890
14946
  'make\\:release:Release packages with version bump, changelog, and git tag'
14891
14947
  'make\\:repository:Generate a new repository class'
14892
14948
  'make\\:resource\\:book:Generate book resource (entity, migration, repository)'
14893
- 'issue\\:create:Create a YAML skeleton file for a new issue'
14894
- 'issue\\:pull:Pull an issue from Linear and save it as a YAML file'
14895
- 'seed\\:create:Generate a new seed file'
14896
- 'seed\\:run:Run seeds for all modules'
14897
14949
  'make\\:service:Generate a new service class'
14898
14950
  'make\\:storage:Generate a new storage class'
14899
14951
  'make\\:vector-database:Generate a new vector database class'
14952
+ 'migration\\:create:Generate a new migration file'
14953
+ 'migration\\:up:Run migrations for all modules'
14954
+ 'module\\:create:Generate a new module'
14955
+ 'module\\:lock:Lock module migrations by hashing their content into a yml file'
14956
+ 'module\\:remove:Remove an existing module'
14957
+ 'seed\\:create:Generate a new seed file'
14958
+ 'seed\\:run:Run seeds for all modules'
14900
14959
  )
14901
14960
 
14902
14961
  _arguments -s \\
@@ -14906,103 +14965,108 @@ _ooneex() {
14906
14965
 
14907
14966
  case "$state" in
14908
14967
  cmds)
14909
- _describe -t commands 'oo command' commands
14968
+ _describe -t commands 'ooneex command' commands
14910
14969
  ;;
14911
14970
  opts)
14912
14971
  case "$words[1]" in
14913
- command:run)
14914
- _arguments -s \\
14915
- '1:command name:_ooneex_custom_commands'
14972
+ app:build|app:start|app:stop|claude:skill:create|completion:zsh|help|make:release|make:resource:book)
14916
14973
  ;;
14917
- make:controller)
14974
+ app:create)
14918
14975
  _arguments -s \\
14919
14976
  '--name=[Name of the resource]:name' \\
14920
- '--module=[Module name]:module:_ooneex_modules' \\
14921
- '--route-name=[Route name]:route_name' \\
14922
- '--route-path=[Route path]:route_path' \\
14923
- '--route-method=[Route HTTP method]:method:(GET POST PUT PATCH DELETE HEAD OPTIONS)' \\
14924
- '--is-socket[Socket mode]'
14977
+ '--destination=[Destination path]:destination:_files -/'
14925
14978
  ;;
14926
- make:middleware)
14979
+ app:init)
14927
14980
  _arguments -s \\
14928
14981
  '--name=[Name of the resource]:name' \\
14929
- '--module=[Module name]:module:_ooneex_modules' \\
14930
- '--is-socket[Socket mode]'
14982
+ '--destination=[Destination path]:destination:_files -/' \\
14983
+ '--app-type=[Application type]:type:(cli api)'
14931
14984
  ;;
14932
- make:entity)
14985
+ command:run)
14933
14986
  _arguments -s \\
14934
- '--name=[Name of the resource]:name' \\
14935
- '--module=[Module name]:module:_ooneex_modules' \\
14936
- '--table-name=[Database table name]:table_name'
14987
+ '1:command name:_ooneex_custom_commands'
14937
14988
  ;;
14938
- make:pubsub)
14989
+ issue:create)
14939
14990
  _arguments -s \\
14940
- '--name=[Name of the resource]:name' \\
14991
+ '--title=[Issue title]:title' \\
14992
+ '--state=[Issue state]:state:(Backlog Todo "In Progress" "In Review" Done Cancelled)' \\
14993
+ '--priority=[Issue priority]:priority:(Low Medium High Urgent)' \\
14994
+ '--description=[Issue description]:description' \\
14995
+ '*--labels=[Label (repeatable)]:label' \\
14941
14996
  '--module=[Module name]:module:_ooneex_modules' \\
14942
- '--channel=[Channel name]:channel'
14997
+ '--interactive[Prompt for all fields]'
14943
14998
  ;;
14944
- migration:create)
14999
+ issue:pull)
14945
15000
  _arguments -s \\
15001
+ '--id=[Linear issue ID or identifier]:id' \\
14946
15002
  '--module=[Module name]:module:_ooneex_modules'
14947
15003
  ;;
14948
- module:lock)
15004
+ issue:push)
14949
15005
  _arguments -s \\
14950
- '--module=[Module name]:module:_ooneex_modules' \\
14951
- '--override[Override already registered migrations]'
15006
+ '--id=[Local issue ID to push]:id' \\
15007
+ '--module=[Module name]:module:_ooneex_modules'
14952
15008
  ;;
14953
- seed:create)
15009
+ make:ai|make:analytics|make:cache|make:command|make:cron|make:database|make:logger|make:mailer|make:permission|make:repository|make:service|make:storage|make:vector-database)
14954
15010
  _arguments -s \\
14955
15011
  '--name=[Name of the resource]:name' \\
14956
15012
  '--module=[Module name]:module:_ooneex_modules'
14957
15013
  ;;
14958
- module:create)
14959
- _arguments -s \\
14960
- '--name=[Name of the resource]:name'
14961
- ;;
14962
- module:remove)
15014
+ make:controller)
14963
15015
  _arguments -s \\
14964
- '--name=[Module name]:name:_ooneex_modules'
15016
+ '--name=[Name of the resource]:name' \\
15017
+ '--module=[Module name]:module:_ooneex_modules' \\
15018
+ '--route-name=[Route name]:route_name' \\
15019
+ '--route-path=[Route path]:route_path' \\
15020
+ '--route-method=[Route HTTP method]:method:(GET POST PUT PATCH DELETE HEAD OPTIONS)' \\
15021
+ '--is-socket[Socket mode]'
14965
15022
  ;;
14966
15023
  make:docker)
14967
15024
  _arguments -s \\
14968
15025
  '--name=[Docker service name]:name:(clickhouse elasticsearch grafana jaeger keycloak libretranslate maildev memcached minio mongodb mysql nats postgres prometheus rabbitmq redis temporal vault)'
14969
15026
  ;;
14970
- app:create)
15027
+ make:entity)
14971
15028
  _arguments -s \\
14972
15029
  '--name=[Name of the resource]:name' \\
14973
- '--destination=[Destination path]:destination:_files -/'
15030
+ '--module=[Module name]:module:_ooneex_modules' \\
15031
+ '--table-name=[Database table name]:table_name'
14974
15032
  ;;
14975
- app:init)
15033
+ make:middleware)
14976
15034
  _arguments -s \\
14977
15035
  '--name=[Name of the resource]:name' \\
14978
- '--destination=[Destination path]:destination:_files -/' \\
14979
- '--app-type=[Application type]:type:(cli api)'
15036
+ '--module=[Module name]:module:_ooneex_modules' \\
15037
+ '--is-socket[Socket mode]'
14980
15038
  ;;
14981
- make:ai|make:analytics|make:cache|make:command|make:cron|make:database|make:logger|make:mailer|make:permission|make:repository|make:service|make:storage|make:vector-database)
15039
+ make:pubsub)
14982
15040
  _arguments -s \\
14983
15041
  '--name=[Name of the resource]:name' \\
14984
- '--module=[Module name]:module:_ooneex_modules'
14985
- ;;
14986
- issue:create)
14987
- _arguments -s \\
14988
- '--title=[Issue title]:title' \\
14989
- '--state=[Issue state]:state:(Backlog Todo "In Progress" "In Review" Done Cancelled)' \\
14990
- '--priority=[Issue priority]:priority:(Low Medium High Urgent)' \\
14991
- '--description=[Issue description]:description' \\
14992
- '*--labels=[Label (repeatable)]:label' \\
14993
15042
  '--module=[Module name]:module:_ooneex_modules' \\
14994
- '--interactive[Prompt for all fields]'
15043
+ '--channel=[Channel name]:channel'
14995
15044
  ;;
14996
- issue:pull)
15045
+ migration:create)
14997
15046
  _arguments -s \\
14998
- '--id=[Linear issue ID or identifier]:id' \\
14999
15047
  '--module=[Module name]:module:_ooneex_modules'
15000
15048
  ;;
15001
15049
  migration:up|seed:run)
15002
15050
  _arguments -s \\
15003
15051
  '--drop[Drop the database before running]'
15004
15052
  ;;
15005
- app:build|app:start|app:stop|help|make:release|make:resource:book|claude:skill:create|completion:zsh)
15053
+ module:create)
15054
+ _arguments -s \\
15055
+ '--name=[Name of the resource]:name'
15056
+ ;;
15057
+ module:lock)
15058
+ _arguments -s \\
15059
+ '--module=[Module name]:module:_ooneex_modules' \\
15060
+ '--override[Override already registered migrations]'
15061
+ ;;
15062
+ module:remove)
15063
+ _arguments -s \\
15064
+ '--name=[Module name]:name:_ooneex_modules'
15065
+ ;;
15066
+ seed:create)
15067
+ _arguments -s \\
15068
+ '--name=[Name of the resource]:name' \\
15069
+ '--module=[Module name]:module:_ooneex_modules'
15006
15070
  ;;
15007
15071
  esac
15008
15072
  ;;
@@ -100248,4 +100312,4 @@ SeedRunCommand = __legacyDecorateClassTS([
100248
100312
  // src/index.ts
100249
100313
  await run();
100250
100314
 
100251
- //# debugId=C0A94E3D0B33D65A64756E2164756E21
100315
+ //# debugId=D7A46627B064367C64756E2164756E21