kodit 0.3.0__tar.gz → 0.3.2__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.
Potentially problematic release.
This version of kodit might be problematic. Click here for more details.
- kodit-0.3.2/.claude/commands/debug.md +121 -0
- kodit-0.3.2/.claude/commands/new-requirement.md +534 -0
- kodit-0.3.2/.claude/commands/refactor.md +33 -0
- kodit-0.3.2/.claude/settings.json +3 -0
- kodit-0.3.2/CLAUDE.md +99 -0
- {kodit-0.3.0 → kodit-0.3.2}/PKG-INFO +14 -4
- {kodit-0.3.0 → kodit-0.3.2}/README.md +13 -3
- {kodit-0.3.0 → kodit-0.3.2}/docs/_index.md +12 -2
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/_version.py +2 -2
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/application/services/code_indexing_application_service.py +19 -17
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/cli.py +35 -33
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/config.py +62 -4
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/entities.py +9 -1
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/repositories.py +5 -5
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/indexing_service.py +4 -3
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/snippet_service.py +33 -16
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/value_objects.py +87 -9
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/indexing/index_repository.py +33 -38
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/sqlalchemy/snippet_repository.py +86 -78
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/log.py +4 -1
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/mcp.py +1 -6
- kodit-0.3.2/src/kodit/migrations/versions/4552eb3f23ce_add_summary.py +34 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/conftest.py +22 -7
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/application/test_code_indexing_application_service.py +0 -3
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/cli_test.py +283 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/config_test.py +40 -3
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/domain/snippet_domain_service_test.py +59 -11
- kodit-0.3.2/tests/kodit/domain/test_multi_search_result.py +224 -0
- kodit-0.3.2/tests/kodit/infrastructure/bm25/__init__.py +1 -0
- kodit-0.3.2/tests/kodit/infrastructure/bm25/local_bm25_repository_test.py +202 -0
- kodit-0.3.0/tests/kodit/infrastructure/test_vectorchord_bm25_repository.py → kodit-0.3.2/tests/kodit/infrastructure/bm25/vectorchord_bm25_repository_test.py +5 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/test_embedding_integration.py +35 -10
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/test_local_vector_search_repository.py +12 -3
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/test_vectorchord_vector_search_repository.py +5 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/indexing/indexing_repository_test.py +4 -4
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/sqlalchemy/test_snippet_repository.py +52 -33
- kodit-0.3.2/tests/kodit/log_test.py +57 -0
- kodit-0.3.2/tests/kodit/mcp_test.py +103 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/performance/similarity.py +1 -0
- kodit-0.3.0/tests/kodit/log_test.py +0 -20
- kodit-0.3.0/tests/kodit/mcp_test.py +0 -48
- {kodit-0.3.0 → kodit-0.3.2}/.cursor/rules/kodit.mdc +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.cursor/rules/style.mdc +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.dockerignore +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/CODE_OF_CONDUCT.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/CONTRIBUTING.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/dependabot.yml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/workflows/docker.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/workflows/docs.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/workflows/pull_request.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/workflows/pypi-test.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/workflows/pypi.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.github/workflows/test.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.gitignore +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.python-version +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.vscode/launch.json +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/.vscode/settings.json +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/Dockerfile +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/LICENSE +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/alembic.ini +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/demos/_index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/demos/go-simple-microservice/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/demos/knock-knock-auth/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/developer/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/getting-started/_index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/getting-started/installation/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/getting-started/integration/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/getting-started/quick-start/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/_index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/configuration/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/deployment/docker-compose.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/deployment/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/deployment/kubernetes.yaml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/indexing/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/mcp/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/docs/reference/telemetry/index.md +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/pyproject.toml +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/.gitignore +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/app.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/application/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/application/factories/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/application/factories/code_indexing_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/application/services/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/database.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/enums.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/errors.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/interfaces.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/bm25_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/embedding_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/enrichment_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/ignore_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/snippet_extraction_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/domain/services/source_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/bm25/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/bm25/bm25_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/bm25/local_bm25_repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/bm25/vectorchord_bm25_repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/folder/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/folder/factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/folder/working_copy.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/git/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/git/factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/git/working_copy.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/cloning/metadata.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/embedding_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/embedding_providers/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/embedding_providers/batching.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/embedding_providers/hash_embedding_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/embedding_providers/local_embedding_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/embedding_providers/openai_embedding_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/local_vector_search_repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/embedding/vectorchord_vector_search_repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/enrichment/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/enrichment/enrichment_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/enrichment/local_enrichment_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/enrichment/null_enrichment_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/enrichment/openai_enrichment_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/git/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/git/git_utils.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/ignore/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/ignore/ignore_pattern_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/indexing/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/indexing/auto_indexing_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/indexing/fusion_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/indexing/indexing_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/indexing/snippet_domain_service_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/language_detection_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/languages/csharp.scm +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/languages/go.scm +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/languages/java.scm +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/languages/javascript.scm +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/languages/python.scm +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/languages/typescript.scm +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/snippet_extraction_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/snippet_query_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/snippet_extraction/tree_sitter_snippet_extractor.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/sqlalchemy/embedding_repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/sqlalchemy/file_repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/sqlalchemy/repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/ui/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/ui/progress.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/infrastructure/ui/spinner.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/middleware.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/README +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/env.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/script.py.mako +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/versions/7c3bbc2ab32b_add_embeddings_table.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/versions/85155663351e_initial.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/versions/9e53ea8bb3b0_add_authors.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/versions/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/migrations/versions/c3f5137d30f5_index_all_the_things.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/src/kodit/reporting.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/docker-smoke.sh +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/experiments/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/experiments/cline_prompt_tests/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/experiments/cline_prompt_tests/cline_prompt.txt +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/experiments/cline_prompt_tests/cline_prompt_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/application/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/domain/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/domain/bm25_domain_service_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/domain/enrichment_domain_service_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/domain/snippet_extraction_domain_service_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/domain/test_embedding_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/domain/test_language_mapping.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/e2e.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/cloning/git_cloning/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/cloning/git_cloning/factory_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/cloning/git_cloning/working_copy_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/embedding_factory_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/embedding_provider/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/embedding_provider/test_hash_embedding_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/embedding_provider/test_local_embedding_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/embedding_provider/test_openai_embedding_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/embedding/test_batching.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/enrichment/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/enrichment/enrichment_provider/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/enrichment/enrichment_provider/test_local_enrichment_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/enrichment/enrichment_provider/test_null_enrichment_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/enrichment/enrichment_provider/test_openai_enrichment_provider.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/enrichment/test_enrichment_factory.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/git/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/git/test_git_utils.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/indexing/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/indexing/test_auto_indexing_service.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/snippets/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/snippets/csharp.cs +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/snippets/golang.go +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/snippets/javascript.js +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/snippets/knock_knock_server.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/snippets/python.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/snippets/typescript.tsx +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/source/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/source/source_service_test.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/sqlalchemy/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/kodit/infrastructure/sqlalchemy/test_embedding_repository.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/performance/__init__.py +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/smoke.sh +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/tests/vectorchord-smoke.sh +0 -0
- {kodit-0.3.0 → kodit-0.3.2}/uv.lock +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Debug Error Command
|
|
2
|
+
|
|
3
|
+
Systematically debug and resolve errors in any codebase using a structured approach.
|
|
4
|
+
|
|
5
|
+
## Instructions
|
|
6
|
+
|
|
7
|
+
Follow this comprehensive debugging methodology to resolve: **$ARGUMENTS**
|
|
8
|
+
|
|
9
|
+
1. **Error Information Gathering**
|
|
10
|
+
- Collect the complete error message, stack trace, and error code
|
|
11
|
+
- Note when the error occurs (timing, conditions, frequency)
|
|
12
|
+
- Identify the environment where the error happens (dev, staging, prod)
|
|
13
|
+
- Gather relevant logs from before and after the error
|
|
14
|
+
|
|
15
|
+
2. **Reproduce the Error**
|
|
16
|
+
- Create a minimal test case that reproduces the error consistently
|
|
17
|
+
- Document the exact steps needed to trigger the error
|
|
18
|
+
- Test in different environments if possible
|
|
19
|
+
- Note any patterns or conditions that affect error occurrence
|
|
20
|
+
|
|
21
|
+
3. **Stack Trace Analysis**
|
|
22
|
+
- Read the stack trace from bottom to top to understand the call chain
|
|
23
|
+
- Identify the exact line where the error originates
|
|
24
|
+
- Trace the execution path leading to the error
|
|
25
|
+
- Look for any obvious issues in the failing code
|
|
26
|
+
|
|
27
|
+
4. **Code Context Investigation**
|
|
28
|
+
- Examine the code around the error location
|
|
29
|
+
- Check recent changes that might have introduced the bug
|
|
30
|
+
- Review variable values and state at the time of error
|
|
31
|
+
- Analyze function parameters and return values
|
|
32
|
+
|
|
33
|
+
5. **Hypothesis Formation**
|
|
34
|
+
- Based on evidence, form hypotheses about the root cause
|
|
35
|
+
- Consider common causes:
|
|
36
|
+
- Null pointer/undefined reference
|
|
37
|
+
- Type mismatches
|
|
38
|
+
- Race conditions
|
|
39
|
+
- Resource exhaustion
|
|
40
|
+
- Logic errors
|
|
41
|
+
- External dependency failures
|
|
42
|
+
|
|
43
|
+
6. **Debugging Tools Setup**
|
|
44
|
+
- Set up appropriate debugging tools for the technology stack
|
|
45
|
+
- Use debugger, profiler, or logging as needed
|
|
46
|
+
- Configure breakpoints at strategic locations
|
|
47
|
+
- Set up monitoring and alerting if not already present
|
|
48
|
+
|
|
49
|
+
7. **Systematic Investigation**
|
|
50
|
+
- Test each hypothesis methodically
|
|
51
|
+
- Use binary search approach to isolate the problem
|
|
52
|
+
- Add strategic logging or print statements
|
|
53
|
+
- Check data flow and transformations step by step
|
|
54
|
+
|
|
55
|
+
8. **Data Validation**
|
|
56
|
+
- Verify input data format and validity
|
|
57
|
+
- Check for edge cases and boundary conditions
|
|
58
|
+
- Validate assumptions about data state
|
|
59
|
+
- Test with different data sets to isolate patterns
|
|
60
|
+
|
|
61
|
+
9. **Dependency Analysis**
|
|
62
|
+
- Check external dependencies and their versions
|
|
63
|
+
- Verify network connectivity and API availability
|
|
64
|
+
- Review configuration files and environment variables
|
|
65
|
+
- Test database connections and query execution
|
|
66
|
+
|
|
67
|
+
10. **Memory and Resource Analysis**
|
|
68
|
+
- Check for memory leaks or excessive memory usage
|
|
69
|
+
- Monitor CPU and I/O resource consumption
|
|
70
|
+
- Analyze garbage collection patterns if applicable
|
|
71
|
+
- Check for resource deadlocks or contention
|
|
72
|
+
|
|
73
|
+
11. **Concurrency Issues Investigation**
|
|
74
|
+
- Look for race conditions in multi-threaded code
|
|
75
|
+
- Check synchronization mechanisms and locks
|
|
76
|
+
- Analyze async operations and promise handling
|
|
77
|
+
- Test under different load conditions
|
|
78
|
+
|
|
79
|
+
12. **Root Cause Identification**
|
|
80
|
+
- Once the cause is identified, understand why it happened
|
|
81
|
+
- Determine if it's a logic error, design flaw, or external issue
|
|
82
|
+
- Assess the scope and impact of the problem
|
|
83
|
+
- Consider if similar issues exist elsewhere
|
|
84
|
+
|
|
85
|
+
13. **Solution Implementation**
|
|
86
|
+
- Design a fix that addresses the root cause
|
|
87
|
+
- Consider multiple solution approaches and trade-offs
|
|
88
|
+
- Implement the fix with appropriate error handling
|
|
89
|
+
- Add validation and defensive programming where needed
|
|
90
|
+
|
|
91
|
+
14. **Testing the Fix**
|
|
92
|
+
- Test the fix against the original error case
|
|
93
|
+
- Test edge cases and related scenarios
|
|
94
|
+
- Run regression tests to ensure no new issues
|
|
95
|
+
- Test under various load and stress conditions
|
|
96
|
+
|
|
97
|
+
15. **Prevention Measures**
|
|
98
|
+
- Add appropriate unit and integration tests
|
|
99
|
+
- Improve error handling and logging
|
|
100
|
+
- Add input validation and defensive checks
|
|
101
|
+
- Update documentation and code comments
|
|
102
|
+
|
|
103
|
+
16. **Monitoring and Alerting**
|
|
104
|
+
- Set up monitoring for similar issues
|
|
105
|
+
- Add metrics and health checks
|
|
106
|
+
- Configure alerts for error thresholds
|
|
107
|
+
- Implement better observability
|
|
108
|
+
|
|
109
|
+
17. **Documentation**
|
|
110
|
+
- Document the error, investigation process, and solution
|
|
111
|
+
- Update troubleshooting guides
|
|
112
|
+
- Share learnings with the team
|
|
113
|
+
- Update code comments with context
|
|
114
|
+
|
|
115
|
+
18. **Post-Resolution Review**
|
|
116
|
+
- Analyze why the error wasn't caught earlier
|
|
117
|
+
- Review development and testing processes
|
|
118
|
+
- Consider improvements to prevent similar issues
|
|
119
|
+
- Update coding standards or guidelines if needed
|
|
120
|
+
|
|
121
|
+
Remember to maintain detailed notes throughout the debugging process and consider the wider implications of both the error and the fix.
|
|
@@ -0,0 +1,534 @@
|
|
|
1
|
+
# Build Product Requirements Prompt
|
|
2
|
+
|
|
3
|
+
## Instructions
|
|
4
|
+
|
|
5
|
+
Create a comprehensive Product Requirement Prompt (PRP) with user-centered requirements gathering for: **$ARGUMENTS**
|
|
6
|
+
|
|
7
|
+
## Intelligent Workflow Selection
|
|
8
|
+
|
|
9
|
+
**Analyze `$ARGUMENTS` complexity and choose approach:**
|
|
10
|
+
|
|
11
|
+
- **Simple/Clear Request** (e.g., "add a login button"): Skip to Phase 3 (Research & PRP Generation)
|
|
12
|
+
- **Moderate Request** (e.g., "user authentication system"): Start with Phase 2 (Targeted Questions)
|
|
13
|
+
- **Complex/Vague Request** (e.g., "improve user experience"): Start with Phase 1 (Discovery)
|
|
14
|
+
|
|
15
|
+
## Full Workflow
|
|
16
|
+
|
|
17
|
+
### Phase 1: Discovery Questions (Complex/Vague Requests Only)
|
|
18
|
+
|
|
19
|
+
Ask 5 strategic discovery questions to understand the problem space:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
I need to understand the broader context first. Let me ask 5 key questions:
|
|
23
|
+
|
|
24
|
+
## Discovery Questions
|
|
25
|
+
|
|
26
|
+
**Q1: Will users interact with this feature through a visual interface?**
|
|
27
|
+
Default: Yes (most features have UI components)
|
|
28
|
+
|
|
29
|
+
**Q2: Does this involve user data or require authentication?**
|
|
30
|
+
Default: Yes (better to plan for security)
|
|
31
|
+
|
|
32
|
+
**Q3: Do users currently have a workaround for this problem?**
|
|
33
|
+
Default: No (assuming this solves a new need)
|
|
34
|
+
|
|
35
|
+
**Q4: Will this need to integrate with external services or APIs?**
|
|
36
|
+
Default: No (simpler implementation)
|
|
37
|
+
|
|
38
|
+
**Q5: Is this a completely new feature or an enhancement to existing functionality?**
|
|
39
|
+
Default: Enhancement (most requests build on existing features)
|
|
40
|
+
|
|
41
|
+
*You can answer any/all questions or just say "continue" to use the defaults.*
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Phase 2: Technical Context Questions (Moderate+ Requests)
|
|
45
|
+
|
|
46
|
+
Ask 5 targeted technical questions informed by codebase analysis:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
Now let me ask about technical implementation details:
|
|
50
|
+
|
|
51
|
+
## Technical Questions
|
|
52
|
+
|
|
53
|
+
**Q6: [Specific question about existing similar features/components]**
|
|
54
|
+
Default: [Codebase-informed default]
|
|
55
|
+
|
|
56
|
+
**Q7: [Question about data layer/database requirements]**
|
|
57
|
+
Default: [Pattern-based default]
|
|
58
|
+
|
|
59
|
+
**Q8: [Question about API/service layer approach]**
|
|
60
|
+
Default: [Architecture-consistent default]
|
|
61
|
+
|
|
62
|
+
**Q9: [Question about testing/validation approach]**
|
|
63
|
+
Default: [Project-standard default]
|
|
64
|
+
|
|
65
|
+
**Q10: [Question about deployment/configuration needs]**
|
|
66
|
+
Default: [Environment-appropriate default]
|
|
67
|
+
|
|
68
|
+
*Answer what you know, or say "continue" for smart defaults based on your codebase.*
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Phase 3: Research & Context Gathering
|
|
72
|
+
|
|
73
|
+
**Automatically perform comprehensive research:**
|
|
74
|
+
|
|
75
|
+
1. **Web Research** (when beneficial):
|
|
76
|
+
- Research best practices and current standards
|
|
77
|
+
- Look up relevant library/framework documentation using mcp__kodit__search (if available)
|
|
78
|
+
- Find example implementations and patterns using mcp__kodit__search (if available)
|
|
79
|
+
- Gather security and performance considerations
|
|
80
|
+
|
|
81
|
+
2. **Codebase Analysis** (when tools available):
|
|
82
|
+
- Analyze overall architecture and patterns
|
|
83
|
+
- Identify similar existing features using mcp__kodit__search (if available)
|
|
84
|
+
- Understand technology stack and conventions
|
|
85
|
+
- Find integration points and dependencies
|
|
86
|
+
|
|
87
|
+
3. **Technical Context**:
|
|
88
|
+
- Identify affected files and components
|
|
89
|
+
- Understand data flow and business logic
|
|
90
|
+
- Map out user interactions and workflows
|
|
91
|
+
- Document technical constraints and opportunities
|
|
92
|
+
|
|
93
|
+
### Phase 4: Generate Comprehensive PRP
|
|
94
|
+
|
|
95
|
+
Create a complete Product Requirement Prompt that combines user requirements with
|
|
96
|
+
implementation guidance. Use the following template to create a new markdown file in
|
|
97
|
+
docs/requirements/YYYY-MM-DD-HHMM-[slug].md, where `[slug]` is a slug extracted from the
|
|
98
|
+
requirement and `YYYY-MM-DD-HHMM` is parsed from the system's `date` command.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## PRP Output Template
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
# Product Requirement Prompt: [Feature Name]
|
|
106
|
+
|
|
107
|
+
**Generated:** [timestamp]
|
|
108
|
+
**Original Request:** $ARGUMENTS
|
|
109
|
+
**Complexity Level:** [Simple/Moderate/Complex]
|
|
110
|
+
**Questions Asked:** [X/10]
|
|
111
|
+
|
|
112
|
+
## Executive Summary
|
|
113
|
+
|
|
114
|
+
### Goal
|
|
115
|
+
[Concise statement of what this PRP aims to achieve based on discovery]
|
|
116
|
+
|
|
117
|
+
### Why
|
|
118
|
+
- **Business Value:** [Based on user needs discovered]
|
|
119
|
+
- **User Benefits:** [Who benefits and how]
|
|
120
|
+
- **Technical Benefits:** [System improvements]
|
|
121
|
+
- **Strategic Alignment:** [How it fits with existing functionality]
|
|
122
|
+
|
|
123
|
+
### What
|
|
124
|
+
**Core Functionality:**
|
|
125
|
+
[Detailed explanation based on all gathered context including:]
|
|
126
|
+
- Primary features and capabilities
|
|
127
|
+
- User interaction patterns
|
|
128
|
+
- System behaviors and rules
|
|
129
|
+
- Integration requirements
|
|
130
|
+
- Scope and boundaries
|
|
131
|
+
|
|
132
|
+
## Requirements Analysis
|
|
133
|
+
|
|
134
|
+
### User Requirements Summary
|
|
135
|
+
[Synthesis of discovery answers and user needs]
|
|
136
|
+
|
|
137
|
+
### Technical Requirements Summary
|
|
138
|
+
[Synthesis of technical context and codebase analysis]
|
|
139
|
+
|
|
140
|
+
### Key Decisions Made
|
|
141
|
+
- [Decision 1]: [Reasoning based on questions/research]
|
|
142
|
+
- [Decision 2]: [Reasoning based on questions/research]
|
|
143
|
+
- [Decision 3]: [Reasoning based on questions/research]
|
|
144
|
+
|
|
145
|
+
## Architecture & Implementation
|
|
146
|
+
|
|
147
|
+
### Technical Overview
|
|
148
|
+
- **Architecture Pattern:** [Based on codebase analysis]
|
|
149
|
+
- **Technology Stack:** [Current stack + any additions needed]
|
|
150
|
+
- **Integration Points:** [Internal and external connections]
|
|
151
|
+
- **Data Flow:** [How information moves through the system]
|
|
152
|
+
|
|
153
|
+
### Directory Structure
|
|
154
|
+
|
|
155
|
+
**Current Relevant Structure:**
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
[Tree representation of current relevant files/directories]
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Proposed Changes:**
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
[Tree showing new/modified files with descriptions]
|
|
166
|
+
├── [existing_dir]/
|
|
167
|
+
│ ├── [existing_file.ext]
|
|
168
|
+
│ ├── [new_file.ext] - [purpose and contents description]
|
|
169
|
+
│ └── [modified_file.ext] - [changes needed]
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Files to Reference
|
|
174
|
+
- **[file_path]** (existing) - [How to use as reference/pattern]
|
|
175
|
+
- **[documentation_url]** (external) - [Relevant sections for implementation]
|
|
176
|
+
- **[similar_feature_path]** (existing) - [Pattern to follow/extend]
|
|
177
|
+
- **[library_docs_url]** (external) - [Specific methods/approaches to use]
|
|
178
|
+
|
|
179
|
+
### Implementation Specifications
|
|
180
|
+
|
|
181
|
+
#### [Component Category 1: e.g., Data Layer]
|
|
182
|
+
**File: `[file_path]`**
|
|
183
|
+
Purpose: [Specific role in the implementation]
|
|
184
|
+
|
|
185
|
+
```[language]
|
|
186
|
+
[Sample code structure or key implementation patterns]
|
|
187
|
+
// Key considerations:
|
|
188
|
+
// - [Specific requirement from discovery]
|
|
189
|
+
// - [Pattern to follow from codebase]
|
|
190
|
+
// - [Best practice from research]
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### [Component Category 2: e.g., Business Logic]
|
|
194
|
+
|
|
195
|
+
**File: `[file_path]`**
|
|
196
|
+
Purpose: [Specific role in the implementation]
|
|
197
|
+
|
|
198
|
+
```[language]
|
|
199
|
+
[Sample code structure or key implementation patterns]
|
|
200
|
+
// Key considerations:
|
|
201
|
+
// - [User requirement addressed]
|
|
202
|
+
// - [Integration with existing systems]
|
|
203
|
+
// - [Error handling patterns]
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
#### [Component Category 3: e.g., User Interface]
|
|
207
|
+
|
|
208
|
+
**File: `[file_path]`**
|
|
209
|
+
Purpose: [Specific role in the implementation]
|
|
210
|
+
|
|
211
|
+
```[language]
|
|
212
|
+
[Sample code structure or key implementation patterns]
|
|
213
|
+
// Key considerations:
|
|
214
|
+
// - [User experience requirements]
|
|
215
|
+
// - [Accessibility standards]
|
|
216
|
+
// - [Responsive design needs]
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## API/Endpoints Design
|
|
220
|
+
|
|
221
|
+
### [Endpoint 1]
|
|
222
|
+
|
|
223
|
+
- **Method:** [GET/POST/PUT/DELETE]
|
|
224
|
+
- **Path:** [/api/path]
|
|
225
|
+
- **Purpose:** [What this endpoint accomplishes]
|
|
226
|
+
- **Parameters:**
|
|
227
|
+
- `param1` (type) - [description]
|
|
228
|
+
- `param2` (type) - [description]
|
|
229
|
+
- **Success Response:**
|
|
230
|
+
|
|
231
|
+
```json
|
|
232
|
+
[Example response structure]
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
- **Error Handling:** [Specific error cases and responses]
|
|
236
|
+
|
|
237
|
+
### [Endpoint 2]
|
|
238
|
+
|
|
239
|
+
[Similar structure for additional endpoints]
|
|
240
|
+
|
|
241
|
+
## Implementation Guidelines
|
|
242
|
+
|
|
243
|
+
### [Technical Domain 1: e.g., Authentication & Security]
|
|
244
|
+
|
|
245
|
+
**Requirements from Discovery:**
|
|
246
|
+
|
|
247
|
+
- [Specific security requirement from questions]
|
|
248
|
+
- [User data protection needs]
|
|
249
|
+
|
|
250
|
+
**Implementation Approach:**
|
|
251
|
+
|
|
252
|
+
- [Specific security patterns to follow]
|
|
253
|
+
- [Authentication/authorization strategy]
|
|
254
|
+
- [Data validation and sanitization]
|
|
255
|
+
- [Error handling for security scenarios]
|
|
256
|
+
|
|
257
|
+
**Code References:**
|
|
258
|
+
|
|
259
|
+
- Follow patterns in `[existing_auth_file]`
|
|
260
|
+
- Use security helpers from `[security_utils_file]`
|
|
261
|
+
|
|
262
|
+
### [Technical Domain 2: e.g., Data Management]
|
|
263
|
+
|
|
264
|
+
**Requirements from Discovery:**
|
|
265
|
+
|
|
266
|
+
- [Data persistence needs]
|
|
267
|
+
- [Performance requirements]
|
|
268
|
+
|
|
269
|
+
**Implementation Approach:**
|
|
270
|
+
|
|
271
|
+
- [Database/storage strategy]
|
|
272
|
+
- [Data validation rules]
|
|
273
|
+
- [Performance optimization techniques]
|
|
274
|
+
- [Backup and recovery considerations]
|
|
275
|
+
|
|
276
|
+
**Code References:**
|
|
277
|
+
|
|
278
|
+
- Extend patterns from `[existing_data_layer]`
|
|
279
|
+
- Use ORM/database helpers from `[db_utils_file]`
|
|
280
|
+
|
|
281
|
+
### [Technical Domain 3: e.g., User Experience]
|
|
282
|
+
|
|
283
|
+
**Requirements from Discovery:**
|
|
284
|
+
|
|
285
|
+
- [UI/UX requirements from questions]
|
|
286
|
+
- [Accessibility needs]
|
|
287
|
+
|
|
288
|
+
**Implementation Approach:**
|
|
289
|
+
|
|
290
|
+
- [User interface design principles]
|
|
291
|
+
- [Interaction patterns to follow]
|
|
292
|
+
- [Responsive design requirements]
|
|
293
|
+
- [Error messaging and feedback]
|
|
294
|
+
|
|
295
|
+
**Code References:**
|
|
296
|
+
|
|
297
|
+
- Follow component patterns in `[ui_components_dir]`
|
|
298
|
+
- Use styling conventions from `[styles_dir]`
|
|
299
|
+
|
|
300
|
+
## Validation & Testing Strategy
|
|
301
|
+
|
|
302
|
+
### Functional Validation
|
|
303
|
+
|
|
304
|
+
**Based on User Requirements:**
|
|
305
|
+
|
|
306
|
+
- [ ] [Specific user workflow works as expected]
|
|
307
|
+
- [ ] [User interaction produces correct results]
|
|
308
|
+
- [ ] [Error scenarios are handled gracefully]
|
|
309
|
+
|
|
310
|
+
**Test Commands:**
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
[Specific test commands for functional validation]
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Technical Validation
|
|
317
|
+
|
|
318
|
+
**Based on Technical Requirements:**
|
|
319
|
+
|
|
320
|
+
- [ ] [Performance benchmark met: response < Xms]
|
|
321
|
+
- [ ] [Security standard implemented: authentication required]
|
|
322
|
+
- [ ] [Integration working: external API connection established]
|
|
323
|
+
|
|
324
|
+
**Test Commands:**
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
[Specific test commands for technical validation]
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### User Acceptance Criteria
|
|
331
|
+
|
|
332
|
+
**Derived from Discovery Questions:**
|
|
333
|
+
|
|
334
|
+
- [ ] [Acceptance criterion based on Q1 answer]
|
|
335
|
+
- [ ] [Acceptance criterion based on Q2 answer]
|
|
336
|
+
- [ ] [Acceptance criterion based on Q3 answer]
|
|
337
|
+
- [ ] [Overall user satisfaction metric]
|
|
338
|
+
|
|
339
|
+
## Implementation Roadmap
|
|
340
|
+
|
|
341
|
+
### Checkpoint 1: Foundation Setup
|
|
342
|
+
|
|
343
|
+
**Tasks:**
|
|
344
|
+
|
|
345
|
+
- [ ] Set up basic project structure
|
|
346
|
+
- [ ] Implement core data models
|
|
347
|
+
- [ ] Create basic authentication framework
|
|
348
|
+
|
|
349
|
+
**Validation:**
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
[Test command to verify foundation]
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
**Expected:** [Specific expected outcome]
|
|
356
|
+
|
|
357
|
+
### Checkpoint 2: Core Feature Implementation
|
|
358
|
+
|
|
359
|
+
**Tasks:**
|
|
360
|
+
|
|
361
|
+
- [ ] Implement primary business logic
|
|
362
|
+
- [ ] Create user interface components
|
|
363
|
+
- [ ] Set up API endpoints
|
|
364
|
+
|
|
365
|
+
**Validation:**
|
|
366
|
+
|
|
367
|
+
```bash
|
|
368
|
+
[Test command to verify core features]
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
**Expected:** [Specific expected outcome]
|
|
372
|
+
|
|
373
|
+
### Checkpoint 3: Integration & Polish
|
|
374
|
+
|
|
375
|
+
**Tasks:**
|
|
376
|
+
|
|
377
|
+
- [ ] Integrate with existing systems
|
|
378
|
+
- [ ] Implement error handling and edge cases
|
|
379
|
+
- [ ] Performance optimization and testing
|
|
380
|
+
|
|
381
|
+
**Validation:**
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
[Test command to verify complete implementation]
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
**Expected:** [Specific expected outcome]
|
|
388
|
+
|
|
389
|
+
## Research References
|
|
390
|
+
|
|
391
|
+
### Best Practices Sources
|
|
392
|
+
|
|
393
|
+
- [URL/Resource 1]: [Key insights relevant to implementation]
|
|
394
|
+
- [URL/Resource 2]: [Specific techniques or patterns found]
|
|
395
|
+
- [URL/Resource 3]: [Standards or conventions to follow]
|
|
396
|
+
|
|
397
|
+
### Technical Documentation
|
|
398
|
+
|
|
399
|
+
- [Library/Framework Docs]: [Specific sections relevant to implementation]
|
|
400
|
+
- [API Documentation]: [Integration details and examples]
|
|
401
|
+
- [Security Guidelines]: [Relevant security considerations]
|
|
402
|
+
|
|
403
|
+
### Example Implementations
|
|
404
|
+
|
|
405
|
+
- [GitHub/StackOverflow URL]: [Pattern or approach to reference]
|
|
406
|
+
- [Code Example URL]: [Specific implementation technique]
|
|
407
|
+
- [Tutorial/Guide URL]: [Step-by-step process to follow]
|
|
408
|
+
|
|
409
|
+
## Risk Assessment & Mitigation
|
|
410
|
+
|
|
411
|
+
### Technical Risks
|
|
412
|
+
|
|
413
|
+
- **Risk:** [Potential technical challenge]
|
|
414
|
+
**Likelihood:** [High/Medium/Low]
|
|
415
|
+
**Impact:** [High/Medium/Low]
|
|
416
|
+
**Mitigation:** [Specific strategy to address]
|
|
417
|
+
|
|
418
|
+
### Business Risks
|
|
419
|
+
|
|
420
|
+
- **Risk:** [Potential business/user impact]
|
|
421
|
+
**Likelihood:** [High/Medium/Low]
|
|
422
|
+
**Impact:** [High/Medium/Low]
|
|
423
|
+
**Mitigation:** [Specific strategy to address]
|
|
424
|
+
|
|
425
|
+
### Dependencies & Assumptions
|
|
426
|
+
|
|
427
|
+
**External Dependencies:**
|
|
428
|
+
|
|
429
|
+
- [Dependency 1]: [Version and reliability considerations]
|
|
430
|
+
- [Dependency 2]: [Integration complexity and fallback options]
|
|
431
|
+
|
|
432
|
+
**Key Assumptions:**
|
|
433
|
+
|
|
434
|
+
- [ASSUMED]: [Assumption based on unanswered questions]
|
|
435
|
+
- [ASSUMED]: [Technical assumption based on codebase patterns]
|
|
436
|
+
- [ASSUMED]: [Business assumption based on discovery defaults]
|
|
437
|
+
|
|
438
|
+
## Success Metrics & Monitoring
|
|
439
|
+
|
|
440
|
+
### Key Performance Indicators
|
|
441
|
+
|
|
442
|
+
- **[Metric 1]:** [Target value] - [How to measure]
|
|
443
|
+
- **[Metric 2]:** [Target value] - [How to measure]
|
|
444
|
+
- **[Metric 3]:** [Target value] - [How to measure]
|
|
445
|
+
|
|
446
|
+
### Monitoring Strategy
|
|
447
|
+
|
|
448
|
+
- [What to track automatically]
|
|
449
|
+
- [User feedback collection methods]
|
|
450
|
+
- [Performance monitoring approach]
|
|
451
|
+
- [Error tracking and alerting]
|
|
452
|
+
|
|
453
|
+
### Success Definition
|
|
454
|
+
|
|
455
|
+
**MVP Success:**
|
|
456
|
+
|
|
457
|
+
- [ ] [Minimum viable implementation criteria]
|
|
458
|
+
- [ ] [Basic user satisfaction threshold]
|
|
459
|
+
- [ ] [Technical performance baseline]
|
|
460
|
+
|
|
461
|
+
**Full Success:**
|
|
462
|
+
|
|
463
|
+
- [ ] [Complete feature functionality]
|
|
464
|
+
- [ ] [Optimal user experience metrics]
|
|
465
|
+
- [ ] [Technical excellence standards]
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## Quick Implementation Guide
|
|
470
|
+
|
|
471
|
+
### Getting Started (Copy/Paste Ready)
|
|
472
|
+
|
|
473
|
+
```bash
|
|
474
|
+
# 1. Set up development environment
|
|
475
|
+
[Specific setup commands based on tech stack]
|
|
476
|
+
|
|
477
|
+
# 2. Create basic structure
|
|
478
|
+
[Commands to create necessary directories/files]
|
|
479
|
+
|
|
480
|
+
# 3. Implement core logic
|
|
481
|
+
[Key implementation steps in order]
|
|
482
|
+
|
|
483
|
+
# 4. Test implementation
|
|
484
|
+
[Test commands to verify each step]
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### Code Patterns to Follow
|
|
488
|
+
|
|
489
|
+
**Pattern 1: [Name]**
|
|
490
|
+
|
|
491
|
+
```[language]
|
|
492
|
+
// Location: [existing_file_reference]
|
|
493
|
+
[Code example showing pattern to follow]
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
**Pattern 2: [Name]**
|
|
497
|
+
|
|
498
|
+
```[language]
|
|
499
|
+
// Location: [existing_file_reference]
|
|
500
|
+
[Code example showing pattern to follow]
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
### Common Pitfalls & Solutions
|
|
504
|
+
|
|
505
|
+
- **Pitfall:** [Common mistake in this type of implementation]
|
|
506
|
+
**Solution:** [Specific approach to avoid the mistake]
|
|
507
|
+
**Example:** [Code or configuration example]
|
|
508
|
+
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
## Execution Strategy
|
|
512
|
+
|
|
513
|
+
### Request Analysis
|
|
514
|
+
1. **Parse `$ARGUMENTS`** for complexity indicators:
|
|
515
|
+
- **Simple:** Contains specific technical terms, clear scope
|
|
516
|
+
- **Moderate:** General feature description with some context
|
|
517
|
+
- **Complex:** Vague goals, broad scope, unclear requirements
|
|
518
|
+
|
|
519
|
+
2. **Determine Question Strategy:**
|
|
520
|
+
- **Simple:** Skip to research and generation
|
|
521
|
+
- **Moderate:** Ask 5 technical questions only
|
|
522
|
+
- **Complex:** Ask all 10 questions (5 discovery + 5 technical)
|
|
523
|
+
|
|
524
|
+
### Research Integration
|
|
525
|
+
- **Always perform web research** for best practices and standards
|
|
526
|
+
- **Use codebase tools when available** for context and patterns
|
|
527
|
+
- **Synthesize findings** into actionable implementation guidance
|
|
528
|
+
- **Provide concrete examples** and reference materials
|
|
529
|
+
|
|
530
|
+
### Output Quality Assurance
|
|
531
|
+
- **Ensure actionability:** Every section should be implementable
|
|
532
|
+
- **Maintain specificity:** Use actual file paths, concrete examples
|
|
533
|
+
- **Balance comprehensiveness with clarity:** Cover all aspects without overwhelming
|
|
534
|
+
- **Validate completeness:** Check that PRP provides sufficient context for implementation
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Refactor Code Command
|
|
2
|
+
|
|
3
|
+
Safely improve code structure while preserving functionality.
|
|
4
|
+
|
|
5
|
+
## Core Principles
|
|
6
|
+
|
|
7
|
+
- **Test First**: Ensure tests exist and pass before starting
|
|
8
|
+
- **Small Steps**: Make incremental changes, test after each
|
|
9
|
+
- **Preserve Behavior**: External functionality must remain identical
|
|
10
|
+
|
|
11
|
+
## Refactoring Process
|
|
12
|
+
|
|
13
|
+
1. **Analyze** - Understand current code and identify improvement areas
|
|
14
|
+
2. **Test Coverage** - Verify/add tests before changing anything
|
|
15
|
+
3. **Plan** - Choose refactoring technique (extract method, rename, simplify conditionals)
|
|
16
|
+
4. **Execute** - Make one small change at a time, running tests after each
|
|
17
|
+
5. **Verify** - Ensure all tests pass and performance hasn't degraded
|
|
18
|
+
|
|
19
|
+
## Key Improvements
|
|
20
|
+
|
|
21
|
+
- **Clarity**: Better names, simpler logic, shorter methods
|
|
22
|
+
- **Structure**: Remove duplication, improve separation of concerns, improve cohesion
|
|
23
|
+
- **Maintainability**: Apply patterns where beneficial, standardize error handling
|
|
24
|
+
- **Documentation**: Update comments and docs to match changes
|
|
25
|
+
|
|
26
|
+
## Safety Checklist
|
|
27
|
+
|
|
28
|
+
- [ ] All tests passing before and after
|
|
29
|
+
- [ ] No functionality changes
|
|
30
|
+
- [ ] Code reviewed for quality
|
|
31
|
+
- [ ] Changes documented
|
|
32
|
+
|
|
33
|
+
Remember: Working code > perfect code. Commit frequently, refactor incrementally.
|