ara-cli 0.1.11.1__tar.gz → 0.1.11.3__tar.gz

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 (228) hide show
  1. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/PKG-INFO +1 -1
  2. ara_cli-0.1.11.3/ara_cli/chat_script_runner/script_finder.py +36 -0
  3. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_script_runner/script_lister.py +11 -2
  4. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/add_scenarios_for_new_behaviour.feature_creation_agent.commands.md +1 -0
  5. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/align_feature_with_implementation_changes.interview_agent.commands.md +1 -0
  6. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/analyze_codebase_and_plan_tasks.interview_agent.commands.md +1 -0
  7. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/choose_best_parent_artefact.interview_agent.commands.md +1 -0
  8. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/create_tasks_from_artefact_content.interview_agent.commands.md +1 -0
  9. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/create_tests_for_uncovered_modules.test_generation_agent.commands.md +1 -0
  10. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/derive_features_from_video_description.feature_creation_agent.commands.md +1 -0
  11. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/describe_agent_capabilities.agent.commands.md +1 -0
  12. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/execute_scoped_todos_in_task.interview_agent.commands.md +1 -0
  13. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/explain_single_file_purpose.interview_agent.commands.md +1 -0
  14. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/extract_file_information_bullets.interview_agent.commands.md +1 -0
  15. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/fix_failing_behave_step_definitions.interview_agent.commands.md +1 -0
  16. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/fix_failing_pytest_tests.interview_agent.commands.md +1 -0
  17. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/general_instruction_policy.commands.md +47 -0
  18. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/generate_and_fix_pytest_tests.test_generation_agent.commands.md +1 -0
  19. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/suggest_next_story_child_tasks.interview_agent.commands.md +1 -0
  20. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/summarize_or_transcribe_media.interview_agent.commands.md +1 -0
  21. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/update_feature_to_match_implementation.feature_creation_agent.commands.md +1 -0
  22. ara_cli-0.1.11.3/ara_cli/templates/prompt-modules/commands/update_user_story_with_requirements.interview_agent.commands.md +1 -0
  23. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/version.py +1 -1
  24. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli.egg-info/PKG-INFO +1 -1
  25. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli.egg-info/SOURCES.txt +19 -0
  26. ara_cli-0.1.11.1/ara_cli/chat_script_runner/script_finder.py +0 -24
  27. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/MANIFEST.in +0 -0
  28. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/README.md +0 -0
  29. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/__init__.py +0 -0
  30. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/__main__.py +0 -0
  31. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_command_action.py +0 -0
  32. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_config.py +0 -0
  33. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/__init__.py +0 -0
  34. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/autofix.py +0 -0
  35. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/chat.py +0 -0
  36. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/classifier_directory.py +0 -0
  37. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/common.py +0 -0
  38. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/create.py +0 -0
  39. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/delete.py +0 -0
  40. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/extract.py +0 -0
  41. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/fetch_scripts.py +0 -0
  42. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/fetch_templates.py +0 -0
  43. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/list.py +0 -0
  44. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/list_tags.py +0 -0
  45. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/load.py +0 -0
  46. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/prompt.py +0 -0
  47. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/read.py +0 -0
  48. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/read_status.py +0 -0
  49. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/read_user.py +0 -0
  50. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/reconnect.py +0 -0
  51. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/rename.py +0 -0
  52. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/scan.py +0 -0
  53. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/set_status.py +0 -0
  54. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/set_user.py +0 -0
  55. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/ara_subcommands/template.py +0 -0
  56. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_autofix.py +0 -0
  57. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_creator.py +0 -0
  58. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_deleter.py +0 -0
  59. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_fuzzy_search.py +0 -0
  60. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_link_updater.py +0 -0
  61. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_lister.py +0 -0
  62. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/__init__.py +0 -0
  63. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/artefact_data_retrieval.py +0 -0
  64. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/artefact_load.py +0 -0
  65. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/artefact_mapping.py +0 -0
  66. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/artefact_model.py +0 -0
  67. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/artefact_templates.py +0 -0
  68. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/businessgoal_artefact_model.py +0 -0
  69. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/capability_artefact_model.py +0 -0
  70. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/epic_artefact_model.py +0 -0
  71. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/example_artefact_model.py +0 -0
  72. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/feature_artefact_model.py +0 -0
  73. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/issue_artefact_model.py +0 -0
  74. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/keyfeature_artefact_model.py +0 -0
  75. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/serialize_helper.py +0 -0
  76. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/task_artefact_model.py +0 -0
  77. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/userstory_artefact_model.py +0 -0
  78. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_models/vision_artefact_model.py +0 -0
  79. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_reader.py +0 -0
  80. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_renamer.py +0 -0
  81. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/artefact_scan.py +0 -0
  82. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat.py +0 -0
  83. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_agent/__init__.py +0 -0
  84. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_agent/agent_communicator.py +0 -0
  85. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_agent/agent_process_manager.py +0 -0
  86. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_agent/agent_status_manager.py +0 -0
  87. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_agent/agent_workspace_manager.py +0 -0
  88. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_script_runner/__init__.py +0 -0
  89. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_script_runner/script_completer.py +0 -0
  90. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/chat_script_runner/script_runner.py +0 -0
  91. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/classifier.py +0 -0
  92. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/codefusionretriever.py +0 -0
  93. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/codehierachieretriever.py +0 -0
  94. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commandline_completer.py +0 -0
  95. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commands/__init__.py +0 -0
  96. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commands/command.py +0 -0
  97. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commands/extract_command.py +0 -0
  98. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commands/fetch_scripts_command.py +0 -0
  99. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commands/load_command.py +0 -0
  100. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commands/load_image_command.py +0 -0
  101. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/commands/read_command.py +0 -0
  102. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/completers.py +0 -0
  103. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/directory_navigator.py +0 -0
  104. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/error_handler.py +0 -0
  105. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_classifier.py +0 -0
  106. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_lister.py +0 -0
  107. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/__init__.py +0 -0
  108. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/binary_file_loader.py +0 -0
  109. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/document_file_loader.py +0 -0
  110. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/document_reader.py +0 -0
  111. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/document_readers.py +0 -0
  112. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/file_loader.py +0 -0
  113. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/file_loaders.py +0 -0
  114. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/image_processor.py +0 -0
  115. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/markdown_reader.py +0 -0
  116. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/file_loaders/text_file_loader.py +0 -0
  117. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/filename_validator.py +0 -0
  118. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/global_file_lister.py +0 -0
  119. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/list_filter.py +0 -0
  120. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/output_suppressor.py +0 -0
  121. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/prompt_chat.py +0 -0
  122. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/prompt_extractor.py +0 -0
  123. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/prompt_handler.py +0 -0
  124. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/prompt_rag.py +0 -0
  125. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/run_file_lister.py +0 -0
  126. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/tag_extractor.py +0 -0
  127. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/template_loader.py +0 -0
  128. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/template_manager.py +0 -0
  129. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/agile.artefacts +0 -0
  130. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/global-scripts/hello_global.py +0 -0
  131. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/blueprints/empty.blueprint.md +0 -0
  132. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/blueprints/task_todo_list_C4_architecture_analysis.blueprint.md +0 -0
  133. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/architecture_C4_analysis.commands.md +0 -0
  134. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/architecture_radon_cc_score.commands.md +0 -0
  135. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/architecture_radon_halstead_v.commands.md +0 -0
  136. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/architecture_radon_maintainability_score.commands.md +0 -0
  137. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/empty.commands.md +0 -0
  138. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/extract_general.commands.md +0 -0
  139. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/extract_markdown.commands.md +0 -0
  140. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/extract_python.commands.md +0 -0
  141. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/feature_add_or_modifiy_specified_behavior.commands.md +0 -0
  142. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/feature_generate_initial_specified_bevahior.commands.md +0 -0
  143. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/prompt_template_tech_stack_transformer.commands.md +0 -0
  144. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/python_bug_fixing_code.commands.md +0 -0
  145. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/python_generate_code.commands.md +0 -0
  146. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/python_refactoring_code.commands.md +0 -0
  147. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/python_step_definitions_generation_and_fixing.commands.md +0 -0
  148. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/commands/python_unittest_generation_and_fixing.commands.md +0 -0
  149. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/classify_task.intention.md +0 -0
  150. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/empty.intention.md +0 -0
  151. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/error_fixing.intention.md +0 -0
  152. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/feature_fix_steps_for_scenario.intention.md +0 -0
  153. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/feature_formulation.intention.md +0 -0
  154. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/feature_reverse_formulation_from_code.intention.md +0 -0
  155. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/feature_scenario_implementation.intention.md +0 -0
  156. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/feature_scenario_implementation_update.intention.md +0 -0
  157. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/feature_scenario_outline_extension.intention.md +0 -0
  158. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/feature_update_formulation.intention.md +0 -0
  159. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/fibonacci_example_implementation.intention.md +0 -0
  160. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/js_implementation_from_task_description.intention.md +0 -0
  161. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/js_steps_implementation.intention.md +0 -0
  162. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/python_cli_implementation_with_test.intention.md +0 -0
  163. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/python_code_understanding.intention.md +0 -0
  164. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/task_implementation.intention.md +0 -0
  165. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/task_prompt_control_by_status.intention.md +0 -0
  166. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/task_stepwise_implementation_by_number.intention.md +0 -0
  167. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/intentions/task_stepwise_implementation_by_status.intention.md +0 -0
  168. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/architecture_analyst.rules.md +0 -0
  169. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/code_analyst.rules.md +0 -0
  170. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/empty.rules.md +0 -0
  171. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/error_analyst.rules.md +0 -0
  172. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/gherkin_expert.rules.md +0 -0
  173. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/js_expert_developer.rules.md +0 -0
  174. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/product_owner.rules.md +0 -0
  175. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/python_behave.rules.md +0 -0
  176. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/prompt-modules/rules/python_developer.rules.md +0 -0
  177. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.concept.exploration.md +0 -0
  178. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.concept.md +0 -0
  179. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.customer.exploration.md +0 -0
  180. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.customer.md +0 -0
  181. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.persona.exploration.md +0 -0
  182. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.persona.md +0 -0
  183. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.step.exploration.md +0 -0
  184. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.step.md +0 -0
  185. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.technology.exploration.md +0 -0
  186. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/specification_breakdown_files/template.technology.md +0 -0
  187. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.businessgoal.prompt_log.md +0 -0
  188. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.capability.prompt_log.md +0 -0
  189. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.epic.prompt_log.md +0 -0
  190. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.example.prompt_log.md +0 -0
  191. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.feature.prompt_log.md +0 -0
  192. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.issue.prompt_log.md +0 -0
  193. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.keyfeature.prompt_log.md +0 -0
  194. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.steps.prompt_log.md +0 -0
  195. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.task.prompt_log.md +0 -0
  196. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.userstory.prompt_log.md +0 -0
  197. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/templates/template.vision.prompt_log.md +0 -0
  198. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli/update_config_prompt.py +0 -0
  199. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli.egg-info/dependency_links.txt +0 -0
  200. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli.egg-info/entry_points.txt +0 -0
  201. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli.egg-info/requires.txt +0 -0
  202. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/ara_cli.egg-info/top_level.txt +0 -0
  203. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/docker/base/requirements.txt +0 -0
  204. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/setup.cfg +0 -0
  205. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/setup.py +0 -0
  206. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/__init__.py +0 -0
  207. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_ara_command_action.py +0 -0
  208. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_ara_config.py +0 -0
  209. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_artefact_autofix.py +0 -0
  210. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_artefact_fuzzy_search.py +0 -0
  211. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_artefact_link_updater.py +0 -0
  212. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_artefact_lister.py +0 -0
  213. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_artefact_reader.py +0 -0
  214. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_artefact_renamer.py +0 -0
  215. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_artefact_scan.py +0 -0
  216. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_chat.py +0 -0
  217. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_classifier.py +0 -0
  218. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_directory_navigator.py +0 -0
  219. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_file_classifier.py +0 -0
  220. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_file_creator.py +0 -0
  221. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_file_lister.py +0 -0
  222. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_global_file_lister.py +0 -0
  223. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_list_filter.py +0 -0
  224. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_prompt_handler.py +0 -0
  225. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_tag_extractor.py +0 -0
  226. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_template_loader.py +0 -0
  227. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_template_manager.py +0 -0
  228. {ara_cli-0.1.11.1 → ara_cli-0.1.11.3}/tests/test_update_config_prompt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ara_cli
3
- Version: 0.1.11.1
3
+ Version: 0.1.11.3
4
4
  Summary: Powerful, open source command-line tool for managing, structuring and automating software development artifacts in line with Business-Driven Development (BDD) and AI-assisted processes
5
5
  Description-Content-Type: text/markdown
6
6
  Requires-Dist: langfuse
@@ -0,0 +1,36 @@
1
+ import os
2
+ from ara_cli.ara_config import ConfigManager
3
+
4
+
5
+ class ScriptFinder:
6
+ def __init__(self):
7
+ self.config = ConfigManager.get_config()
8
+
9
+ def get_custom_scripts_dir(self):
10
+ return os.path.join(self.config.local_prompt_templates_dir, "custom-scripts")
11
+
12
+ def get_global_scripts_dir(self):
13
+ return os.path.join(self.config.local_prompt_templates_dir, "global-scripts")
14
+
15
+ def find_script(self, script_name: str) -> str | None:
16
+ # Handle explicit global path for backward compatibility or specific cases
17
+ if script_name.startswith("global/"):
18
+ script_path = os.path.join(
19
+ self.get_global_scripts_dir(), script_name.replace("global/", ""))
20
+ if os.path.exists(script_path):
21
+ return script_path
22
+ return None
23
+
24
+ # 1. Search in custom-scripts first (allows overriding global scripts)
25
+ custom_script_path = os.path.join(
26
+ self.get_custom_scripts_dir(), script_name)
27
+ if os.path.exists(custom_script_path):
28
+ return custom_script_path
29
+
30
+ # 2. If not found in custom, fall back to global-scripts
31
+ global_script_path = os.path.join(
32
+ self.get_global_scripts_dir(), script_name)
33
+ if os.path.exists(global_script_path):
34
+ return global_script_path
35
+
36
+ return None
@@ -2,14 +2,23 @@ import os
2
2
  import glob
3
3
  from ara_cli.chat_script_runner.script_finder import ScriptFinder
4
4
 
5
+
5
6
  class ScriptLister:
6
7
  def __init__(self):
7
8
  self.script_finder = ScriptFinder()
8
9
 
9
10
  def get_all_scripts(self):
10
11
  custom_scripts = self.get_custom_scripts()
11
- global_scripts = [f"global/{s}" for s in self.get_global_scripts()]
12
- return custom_scripts + global_scripts
12
+ global_scripts = self.get_global_scripts()
13
+
14
+ # Combine custom and global scripts for direct, unprefixed access
15
+ direct_access_scripts = set(custom_scripts + global_scripts)
16
+
17
+ # Add global scripts with the 'global/' prefix for explicit access / backward compatibility
18
+ prefixed_global_scripts = {f"global/{s}" for s in global_scripts}
19
+
20
+ # Return a single, sorted, and unique list for autocompletion
21
+ return sorted(list(direct_access_scripts.union(prefixed_global_scripts)))
13
22
 
14
23
  def get_custom_scripts(self):
15
24
  custom_scripts_dir = self.script_finder.get_custom_scripts_dir()
@@ -0,0 +1 @@
1
+ Given the existing feature file {feature_file_path} and the implementation change described in {implementation_change_reference} (for example, a specific source file or change request), create new scenarios and update the feature file directly so that the new behaviour is fully covered.
@@ -0,0 +1 @@
1
+ I have changed the implementation file {updated_implementation_file_path} by adding new functionality after the existing comment markers. Update the related feature file {feature_file_path} so that the Then-steps match the new behaviour and, if needed, create additional scenarios to cover the new logic.
@@ -0,0 +1 @@
1
+ Analyse the codebase and all related feature files using the semantic search tool {codebase_collector_tool_name} (either codebase_collector_features or codebase_collector_frontend, depending on the project). Use a detailed semantic query {codebase_query_description} derived from the user story in {user_story_task_file_path}. Based on the retrieved context, list which new tasks are needed for code changes, tests, and documentation. Then, use the appropriate agents (autocoder_behavetests_agent, autocoder_agent, documentation_agent, feature_creation_agent, test_generation_agent, web_autocoder_agent) so that the necessary feature files and tests are created or updated according to your findings.
@@ -0,0 +1 @@
1
+ Using the find_the_best_suited_parent_artefact tool for the given artifact, determine which artefact is best suited to capture the value. Explain your reasoning and, if needed, propose concrete artefact names or formats.
@@ -0,0 +1 @@
1
+ From the artefact content at {example_artefact_file_path}, create a set of implementation tasks with the exact specified names and content and assign them logically to the responsible user {assignee_identifier}. Do not modify the provided task texts; just materialise them as individual task entries in the appropriate location.
@@ -0,0 +1 @@
1
+ Create pytest tests for all modules that currently have 0% coverage according to the coverage report at {coverage_report_path}. Generate test files for each uncovered module in {tests_output_directory}, ensuring that basic behaviour and key error cases are tested.
@@ -0,0 +1 @@
1
+ Based on the information provided in the video described in {video_description_source} (or the attached video), derive the matching feature files and their content under {features_directory_path}. Use the parent user story in {user_story_file_path} and the existing matching rules in {matching_rules_file_path}, then update existing feature files or create new ones so that all described behaviours are covered.
@@ -0,0 +1 @@
1
+ Describe in detail what this agent can do for the user. Focus on supported capabilities, limitations, and typical workflows, and output the description as user-facing documentation. Do not use any tools.
@@ -0,0 +1 @@
1
+ In the task file at {task_file_path}, there are multiple TODOs. Perform only the TODOs that relate to {todo_scope_description} (for example, Docker image builds, logging clean-up, or UI copy changes), implement the required changes, and then mark only those relevant TODOs as completed inside the task file.
@@ -0,0 +1 @@
1
+ What is this file about: {input_file_path}? Read the file using the appropriate tools and return a concise explanation of its purpose, structure, and key domain concepts.
@@ -0,0 +1 @@
1
+ Read the file at {input_file_path} and extract all key information into bullet points. Group the bullets by topic (for example: decisions, open questions, action items) and avoid repeating minor details.
@@ -0,0 +1 @@
1
+ After the feature file {feature_file_path} was updated to reflect the changed functionality in {implementation_file_path}, the step definitions in {step_definitions_file_path} started failing. Run behave for this feature file, observe the failures, fix the step definitions, write the changes to disk, and repeat the cycle until all scenarios pass.
@@ -0,0 +1 @@
1
+ After the implementation file {implementation_file_path} was updated, the tests in {pytest_file_path} are failing. Run pytest for this test file, observe the results, fix the tests, write the changes to disk, and run pytest again. Continue the cycle until all tests pass.
@@ -0,0 +1,47 @@
1
+ You are to generate a response that may include Markdown, code blocks, or content that itself contains backticks.
2
+
3
+ To ensure correct rendering follow this fencing policy:
4
+
5
+ - Code files: wrap each file’s output in a triple-backtick fence labeled with the file extension (e.g., ```py, ```js, ```json).
6
+ - Markdown or plain-text files: wrap each file’s output in a five-backtick fence labeled with md or txt (e.g., `````md or `````txt).
7
+ - Do not use dynamic or variable-length fences. Only use:
8
+ - 3 backticks for code file types.
9
+ - 5 backticks for .md and .txt files.
10
+
11
+ File block structure (mandatory, exact)
12
+ - Each file must be returned in its own fenced block with this exact header format as the first two lines:
13
+ 1) "# [x] extract"
14
+ 2) "# filename: <absolute filepath>/<filename>.<extension>"
15
+ - After these two lines, include the exact file content.
16
+ - The first character of line 1 and line 2 inside the fence must be '#'.
17
+ - The "# [x] extract" and "# filename:" headers must appear exactly once per fenced block.
18
+
19
+ In case of nested code inside file contents
20
+ - If the file content itself needs code blocks:
21
+ - Use standard triple backticks (```) inside the file content and for the outer fence five backticks (`````).
22
+ - For Markdown/Text files, this is safe because the outer fence is five backticks.
23
+ - For Code files, avoid embedding literal triple-backtick sequences inside the file content to prevent fence collisions. If unavoidable, ask the user to approve an .md/.txt wrapper instead.
24
+
25
+ Template examples
26
+
27
+ Code file (e.g., Python):
28
+ ```py
29
+ # [x] extract
30
+ # filename: /abs/path/app.py
31
+ print("Hello")
32
+ ```
33
+
34
+ Markdown file:
35
+ `````md
36
+ # [x] extract
37
+ # filename: /abs/path/README.md
38
+ # Project Title
39
+ Some docs with a code block:
40
+
41
+ ```js
42
+ console.log("hi");
43
+ ```
44
+ `````
45
+
46
+
47
+
@@ -0,0 +1 @@
1
+ Generate pytest tests for the modules listed in {target_module_paths}, starting with {primary_module_name}. Aim for high coverage.
@@ -0,0 +1 @@
1
+ From the list of tasks attached to the user story at {user_story_task_file_path}, analyse all child tasks and propose the next {number_of_next_tasks} concrete tasks that should be created. For each new task, provide a short name, a one-sentence description, and the main files that will be affected.
@@ -0,0 +1 @@
1
+ Here is the path to the multimedia data: {media_file_path} / {attached_media_file_path}. Generate a concise summary of the transcript / return the full transcript of the audio or video.
@@ -0,0 +1 @@
1
+ Update the feature file at {feature_file_path} so that it fully reflects the current behaviour of the implementation in {implementation_file_paths}. Keep the existing scenario structure where possible, adjust steps where necessary, and ensure that edge cases and negative paths are described explicitly.
@@ -0,0 +1 @@
1
+ Reformulate and update the user story in {user_story_file_path} according to the new requirements {updated_requirements_description}. Reflect these requirements in clear acceptance criteria and, if needed, propose follow-up user stories.
@@ -1,2 +1,2 @@
1
1
  # version.py
2
- __version__ = "0.1.11.1" # fith parameter like .0 for local install test purposes only. official numbers should be 4 digit numbers
2
+ __version__ = "0.1.11.3" # fith parameter like .0 for local install test purposes only. official numbers should be 4 digit numbers
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ara_cli
3
- Version: 0.1.11.1
3
+ Version: 0.1.11.3
4
4
  Summary: Powerful, open source command-line tool for managing, structuring and automating software development artifacts in line with Business-Driven Development (BDD) and AI-assisted processes
5
5
  Description-Content-Type: text/markdown
6
6
  Requires-Dist: langfuse
@@ -126,22 +126,41 @@ ara_cli/templates/template.vision.prompt_log.md
126
126
  ara_cli/templates/global-scripts/hello_global.py
127
127
  ara_cli/templates/prompt-modules/blueprints/empty.blueprint.md
128
128
  ara_cli/templates/prompt-modules/blueprints/task_todo_list_C4_architecture_analysis.blueprint.md
129
+ ara_cli/templates/prompt-modules/commands/add_scenarios_for_new_behaviour.feature_creation_agent.commands.md
130
+ ara_cli/templates/prompt-modules/commands/align_feature_with_implementation_changes.interview_agent.commands.md
131
+ ara_cli/templates/prompt-modules/commands/analyze_codebase_and_plan_tasks.interview_agent.commands.md
129
132
  ara_cli/templates/prompt-modules/commands/architecture_C4_analysis.commands.md
130
133
  ara_cli/templates/prompt-modules/commands/architecture_radon_cc_score.commands.md
131
134
  ara_cli/templates/prompt-modules/commands/architecture_radon_halstead_v.commands.md
132
135
  ara_cli/templates/prompt-modules/commands/architecture_radon_maintainability_score.commands.md
136
+ ara_cli/templates/prompt-modules/commands/choose_best_parent_artefact.interview_agent.commands.md
137
+ ara_cli/templates/prompt-modules/commands/create_tasks_from_artefact_content.interview_agent.commands.md
138
+ ara_cli/templates/prompt-modules/commands/create_tests_for_uncovered_modules.test_generation_agent.commands.md
139
+ ara_cli/templates/prompt-modules/commands/derive_features_from_video_description.feature_creation_agent.commands.md
140
+ ara_cli/templates/prompt-modules/commands/describe_agent_capabilities.agent.commands.md
133
141
  ara_cli/templates/prompt-modules/commands/empty.commands.md
142
+ ara_cli/templates/prompt-modules/commands/execute_scoped_todos_in_task.interview_agent.commands.md
143
+ ara_cli/templates/prompt-modules/commands/explain_single_file_purpose.interview_agent.commands.md
144
+ ara_cli/templates/prompt-modules/commands/extract_file_information_bullets.interview_agent.commands.md
134
145
  ara_cli/templates/prompt-modules/commands/extract_general.commands.md
135
146
  ara_cli/templates/prompt-modules/commands/extract_markdown.commands.md
136
147
  ara_cli/templates/prompt-modules/commands/extract_python.commands.md
137
148
  ara_cli/templates/prompt-modules/commands/feature_add_or_modifiy_specified_behavior.commands.md
138
149
  ara_cli/templates/prompt-modules/commands/feature_generate_initial_specified_bevahior.commands.md
150
+ ara_cli/templates/prompt-modules/commands/fix_failing_behave_step_definitions.interview_agent.commands.md
151
+ ara_cli/templates/prompt-modules/commands/fix_failing_pytest_tests.interview_agent.commands.md
152
+ ara_cli/templates/prompt-modules/commands/general_instruction_policy.commands.md
153
+ ara_cli/templates/prompt-modules/commands/generate_and_fix_pytest_tests.test_generation_agent.commands.md
139
154
  ara_cli/templates/prompt-modules/commands/prompt_template_tech_stack_transformer.commands.md
140
155
  ara_cli/templates/prompt-modules/commands/python_bug_fixing_code.commands.md
141
156
  ara_cli/templates/prompt-modules/commands/python_generate_code.commands.md
142
157
  ara_cli/templates/prompt-modules/commands/python_refactoring_code.commands.md
143
158
  ara_cli/templates/prompt-modules/commands/python_step_definitions_generation_and_fixing.commands.md
144
159
  ara_cli/templates/prompt-modules/commands/python_unittest_generation_and_fixing.commands.md
160
+ ara_cli/templates/prompt-modules/commands/suggest_next_story_child_tasks.interview_agent.commands.md
161
+ ara_cli/templates/prompt-modules/commands/summarize_or_transcribe_media.interview_agent.commands.md
162
+ ara_cli/templates/prompt-modules/commands/update_feature_to_match_implementation.feature_creation_agent.commands.md
163
+ ara_cli/templates/prompt-modules/commands/update_user_story_with_requirements.interview_agent.commands.md
145
164
  ara_cli/templates/prompt-modules/intentions/classify_task.intention.md
146
165
  ara_cli/templates/prompt-modules/intentions/empty.intention.md
147
166
  ara_cli/templates/prompt-modules/intentions/error_fixing.intention.md
@@ -1,24 +0,0 @@
1
- import os
2
- from ara_cli.ara_config import ConfigManager
3
- from ara_cli.template_manager import TemplatePathManager
4
-
5
- class ScriptFinder:
6
- def __init__(self):
7
- self.config = ConfigManager.get_config()
8
-
9
- def get_custom_scripts_dir(self):
10
- return os.path.join(self.config.local_prompt_templates_dir, "custom-scripts")
11
-
12
- def get_global_scripts_dir(self):
13
- return os.path.join(self.config.local_prompt_templates_dir, "global-scripts")
14
-
15
- def find_script(self, script_name: str) -> str | None:
16
- if script_name.startswith("global/"):
17
- script_path = os.path.join(self.get_global_scripts_dir(), script_name.replace("global/", ""))
18
- if os.path.exists(script_path):
19
- return script_path
20
- else:
21
- script_path = os.path.join(self.get_custom_scripts_dir(), script_name)
22
- if os.path.exists(script_path):
23
- return script_path
24
- return None
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes