def main() -> None:
CONTEXT.configuration.validate_configuration()
CONTEXT.configuration.initialize_watcher()
CONTEXT.configuration.start_watching()
is_containerized = (
CONTEXT.configuration.pyproject
.get_dev_tool_config()
.get('containerized', False)
)
has_package_json = (BASE / 'package.json').exists()
container = DependencyContainer()
ServiceRegistry.register_all_services(container)
CommandGroupRegistry.register_command_groups(container)
container.resolve(HomeCommandGroup)
container.resolve(DjangoCommandGroup)
container.resolve(PythonCommandGroup)
container.resolve(AICommandGroup)
container.resolve(DatabaseCommandGroup)
if is_containerized or has_package_json:
container.resolve(JavaScriptCommandGroup)
# SASS/SCSS support is a work in progress and currently disabled.
# To enable, also uncomment the SassService registration in
# service_registry.py and the SassCommandGroup registration in
# command_registry.py.
# if is_containerized or has_package_json:
# container.resolve(SassCommandGroup)
container.resolve(TaskCommandGroup)
container.resolve(OtherCommandGroup)
if len(sys.argv) > 1:
run_cli_application()
else:
run_tui_application()