gha_enabled: True branch: main blocked_dirs: ["sweepai/core/prompts.py", "sweep_chat/cypress/e2e/spec.cy.ts"] draft: False description: "sweepai/sweep is a python 3.10 project. The main api endpoints are in sweepai/api.py. All imports should be global (like `import sweepai.utils.github_utils`). Write unit tests in the same directory as their corresponding code, i.e. sweepai/api_test.py tests sweepai/api.py. We use pytest for tests. Never use wildcard imports. Use list and tuple for typing instead of typing.List and typing.Tuple." rules: - "We should use loguru for error logging. If the log is inside an exception, use logger.exception to add tracebacks, where logger is imported from loguru. Use f-strings for string formatting in logger calls (e.g. logger.info(f'Hello {name}') instead of logger.info('Hello {name}', name=name))." - "There should be no debug log or print statements in production code." - "All functions should have parameters and output annotated with type hints. Use list, tuple and dict instead of typing.List, typing.Tuple and typing.dict." - "Leftover TODOs in the code should be handled." - "All new business logic should have corresponding unit tests in the same directory. For example, sweepai/api_test.py tests sweepai/api.py. Use unittest and unittest.mock as required." - "Any clearly inefficient or repeated code should be optimized or refactored." - "Remove any comments before code that are obvious. For example `# this prints hello world; print('hello world')`."