reprompt-cli 1.4.1__tar.gz → 1.6.0__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.
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/CHANGELOG.md +103 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/CLAUDE.md +10 -6
- reprompt_cli-1.6.0/PKG-INFO +215 -0
- reprompt_cli-1.6.0/README.md +170 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/roadmap.md +22 -7
- reprompt_cli-1.6.0/docs/superpowers/specs/2026-03-28-v1.6-agent-intelligence-design.md +479 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/pyproject.toml +1 -1
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/__init__.py +1 -1
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/claude_code.py +10 -0
- reprompt_cli-1.6.0/src/reprompt/adapters/codex.py +239 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/bridge/manifest.py +2 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/cli.py +298 -160
- reprompt_cli-1.6.0/src/reprompt/core/agent.py +319 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/conversation.py +2 -0
- reprompt_cli-1.6.0/src/reprompt/core/dashboard.py +150 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/distill.py +66 -5
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/pipeline.py +3 -0
- reprompt_cli-1.6.0/src/reprompt/core/privacy_scan.py +176 -0
- reprompt_cli-1.6.0/src/reprompt/core/session_type.py +112 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/suggestions.py +4 -2
- reprompt_cli-1.6.0/src/reprompt/output/agent_terminal.py +143 -0
- reprompt_cli-1.6.0/src/reprompt/output/dashboard_terminal.py +103 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/distill_terminal.py +4 -1
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/terminal.py +47 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/storage/db.py +29 -0
- reprompt_cli-1.6.0/tests/test_agent.py +383 -0
- reprompt_cli-1.6.0/tests/test_agent_cli.py +178 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_bridge_cli.py +13 -4
- reprompt_cli-1.6.0/tests/test_bridge_e2e.py +343 -0
- reprompt_cli-1.6.0/tests/test_cli_deprecations.py +140 -0
- reprompt_cli-1.6.0/tests/test_cli_library_effectiveness.py +44 -0
- reprompt_cli-1.6.0/tests/test_codex_adapter.py +319 -0
- reprompt_cli-1.6.0/tests/test_copy_flag.py +133 -0
- reprompt_cli-1.6.0/tests/test_dashboard.py +423 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_db.py +39 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_distill.py +105 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_distill_cli.py +81 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_e2e.py +4 -19
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_parse_conversation_claude.py +78 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_pipeline.py +1 -1
- reprompt_cli-1.6.0/tests/test_privacy_scan.py +195 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_recommend.py +3 -5
- reprompt_cli-1.6.0/tests/test_session_type.py +184 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_suggestions.py +9 -2
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_trends_cli.py +6 -21
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/uv.lock +1 -1
- reprompt_cli-1.4.1/PKG-INFO +0 -143
- reprompt_cli-1.4.1/README.md +0 -98
- reprompt_cli-1.4.1/tests/test_cli_library_effectiveness.py +0 -87
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.editorconfig +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/dependabot.yml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/workflows/ci.yml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.github/workflows/publish.yml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.gitignore +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.pre-commit-config.yaml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/.testmondata +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/CODE_OF_CONDUCT.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/CONTRIBUTING.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/LICENSE +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/SECURITY.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/action.yml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/launch-post.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-11-html-dashboard-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-11-merge-view-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-11-prompt-templates-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-22-prompt-compress-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-23-distill-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-23-v131-suggestions-source-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-24-v14-context-recovery-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/docs/superpowers/specs/2026-03-24-v141-polish-design.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/module.yaml +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/scripts/generate_demo_data.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/scripts/launch/hn_monitor.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/scripts/launch/reddit_helper.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/aider.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/base.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/chatgpt.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/claude_chat.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/cline.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/cursor.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/filters.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/gemini.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/adapters/openclaw.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/bridge/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/bridge/handler.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/bridge/host.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/bridge/protocol.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/commands/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/commands/telemetry.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/commands/wrapped.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/config.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/analyzer.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/compress.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/dedup.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/digest.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/effectiveness.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/extractors.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/extractors_zh.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/insights.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/lang_detect.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/library.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/lint.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/merge_view.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/models.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/persona.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/privacy.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/prompt_dna.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/recommend.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/scorer.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/segmenter.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/session_meta.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/style.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/templates.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/timeutil.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/trends.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/core/wrapped.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/demo.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/embeddings/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/embeddings/base.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/embeddings/local_embed.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/embeddings/ollama.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/embeddings/openai_embed.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/embeddings/tfidf.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/mcp.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/mcp_main.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/chartjs.min.js +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/compress_terminal.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/export.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/html_report.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/json_out.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/markdown.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/wrapped_html.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/output/wrapped_terminal.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/py.typed +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/sharing/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/sharing/client.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/sharing/clipboard.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/storage/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/telemetry/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/telemetry/collector.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/telemetry/consent.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/telemetry/events.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/telemetry/prompt.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/telemetry/queue.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/src/reprompt/telemetry/sender.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/__init__.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/conftest.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/aider_chat_history.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/chatgpt_conversations.json +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/claude_chat_export.json +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/claude_session.jsonl +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/cline_task/api_conversation_history.json +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/export/default_export.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/export/full_export.md +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/gemini_session.json +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/fixtures/openclaw_session.jsonl +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_adapter_aider.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_adapter_chatgpt.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_adapter_claude.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_adapter_claude_chat.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_adapter_cline.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_adapter_gemini.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_adapter_openclaw.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_analyzer.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_bridge_handler.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_bridge_integration.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_bridge_manifest.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_bridge_protocol.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_clipboard.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_compare_best_worst.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_compress.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_compress_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_compress_dna.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_compress_html.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_compress_insights.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_config.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_conversation.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_coverage_boost.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_cursor_adapter.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_db_digest.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_db_effectiveness.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_db_trends.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_dedup.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_demo.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_deprecated_commands.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_digest.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_digest_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_distill_weights.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_effectiveness.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_embeddings_local.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_embeddings_ollama.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_embeddings_openai.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_empty_state.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_export.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_export_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_export_snapshot.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_extractors.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_extractors_routing.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_extractors_zh.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_extractors_zh_e2e.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_html_report.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_import_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_import_e2e.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_insights.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_insights_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_insights_expanded.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_install_hook.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_lang_detect.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_library.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_lint.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_lint_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_markdown.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_mcp.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_merge_view.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_models.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_output.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_parse_conversation_base.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_parse_conversation_chatgpt.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_persona.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_privacy.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_privacy_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_privacy_e2e.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_privacy_output.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_prompt_dna.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_public_api.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_schema_version.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_score_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_scorer.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_segmenter.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_share_e2e.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_sharing_client.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_source_filter.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_style.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_style_trends.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_collector.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_consent.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_e2e.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_events.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_prompt.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_queue.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_telemetry_sender.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_template_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_templates.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_timeutil.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_trends.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_use_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_wrapped.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_wrapped_cli.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_wrapped_e2e.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_wrapped_html.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_wrapped_output.py +0 -0
- {reprompt_cli-1.4.1 → reprompt_cli-1.6.0}/tests/test_wrapped_share.py +0 -0
|
@@ -2,6 +2,109 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.6.0] - 2026-03-28
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Agent workflow analysis** — `reprompt agent` detects error loops, tool call patterns, and session efficiency from existing session files. Zero config, zero instrumentation.
|
|
9
|
+
- **Codex CLI adapter** — full support for OpenAI Codex CLI sessions (`~/.codex/sessions/`), including user/assistant turns, tool calls (shell + function), error detection with exit codes, and file path tracking. 9th adapter.
|
|
10
|
+
- **Sensitive content detection** — `reprompt privacy --deep` scans stored prompts for API keys, JWT tokens, emails, IP addresses, passwords, env secrets, and home paths. All regex-based, zero network.
|
|
11
|
+
- **Chrome Web Store extension** — `install-extension` now defaults to the published extension ID; `extension-status` shows the Chrome Web Store install link.
|
|
12
|
+
- **Extension E2E tests** — 8 tests covering the full extension -> Native Messaging -> DB -> CLI pipeline across 3 sources.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- **ConversationTurn model** — added `tool_names` and `error_text` fields for richer agent analysis (backward-compatible defaults)
|
|
16
|
+
- **Claude Code adapter** — now extracts individual tool names (Read, Edit, Bash, etc.) from tool_use blocks, not just counts
|
|
17
|
+
- **Suggestions** — `distill` now suggests `reprompt agent`; `agent` suggests `--loops-only` and `privacy --deep`
|
|
18
|
+
- Tests: 1397 -> 1490+
|
|
19
|
+
|
|
20
|
+
## [1.5.0] - 2026-03-25
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
- **Instant dashboard** — bare `reprompt` now shows a health overview: total prompts, sessions, avg score, top categories, recent activity. Zero-state guides new users; data-state gives at-a-glance intelligence
|
|
24
|
+
- **Session type detection** — `distill` auto-classifies sessions (debugging, feature-dev, exploration, refactoring, config, learning) and adapts signal weights per type
|
|
25
|
+
- **Hook suggestion throttle** — `reprompt scan` suggests `install-hook` only once, not every run
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- **Command consolidation (23 → 20)** — deprecated `library`, `recommend`, `trends` as standalone commands; functionality absorbed into `report --smart` and `style --trends` flags
|
|
29
|
+
- **Signal quality improvements** — reduced false positives in position, length, and error_recovery signals for more accurate distillation
|
|
30
|
+
- Tests: 1350 → 1397
|
|
31
|
+
|
|
32
|
+
### Deprecated
|
|
33
|
+
- `reprompt library` → use `reprompt report --smart`
|
|
34
|
+
- `reprompt recommend` → use `reprompt insights`
|
|
35
|
+
- `reprompt trends` → use `reprompt style --trends`
|
|
36
|
+
|
|
37
|
+
## [1.4.1] - 2026-03-25
|
|
38
|
+
|
|
39
|
+
### Added
|
|
40
|
+
- **`compare --best-worst`** — auto-selects your highest and lowest scoring prompts from the database for instant comparison
|
|
41
|
+
- **`style --trends`** — period-over-period style fingerprint comparison showing how your prompting patterns evolve
|
|
42
|
+
|
|
43
|
+
## [1.4.0] - 2026-03-24
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
- **Context recovery** — `distill --export` generates a markdown summary of conversation context, ready to paste into a new session when context is lost
|
|
47
|
+
- **`--full` mode** — exports all turns (not just important ones) for complete session records
|
|
48
|
+
- **`--show-weights` / `--weights`** — transparent signal weighting so you can see and tune how importance is scored
|
|
49
|
+
- **Template sub-app** — `reprompt template save|list|use` for managing reusable prompts
|
|
50
|
+
- **Enhanced insights** — effectiveness scoring and similar prompt suggestions
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
- **Command consolidation (27 → 23)** — deprecated `save`, `templates`, `use`, `effectiveness`, `merge-view` in favor of unified `template` and `insights` commands
|
|
54
|
+
- Tests: 1250 → 1350
|
|
55
|
+
|
|
56
|
+
### Deprecated
|
|
57
|
+
- `reprompt save` → use `reprompt template save`
|
|
58
|
+
- `reprompt templates` → use `reprompt template list`
|
|
59
|
+
- `reprompt use` → use `reprompt template use`
|
|
60
|
+
- `reprompt effectiveness` → folded into `reprompt insights`
|
|
61
|
+
- `reprompt merge-view` → use `reprompt report --smart`
|
|
62
|
+
|
|
63
|
+
## [1.3.1] - 2026-03-23
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
- **Actionable suggestions** — 5 core commands now show contextual "→ Try:" hints guiding users to the next useful command
|
|
67
|
+
- **`--source` consistency** — all data commands support `--source` filtering
|
|
68
|
+
|
|
69
|
+
### Fixed
|
|
70
|
+
- System-injected XML prompts (starting with `<`) filtered from distillation input
|
|
71
|
+
|
|
72
|
+
## [1.3.0] - 2026-03-23
|
|
73
|
+
|
|
74
|
+
### Added
|
|
75
|
+
- **Conversation distillation** — `reprompt distill` extracts the most important turns from AI conversations using 6-signal importance scoring: position, length, tool trigger, error recovery, semantic shift, uniqueness
|
|
76
|
+
- **Full conversation parsing** — adapters now return both user and assistant turns (Claude Code and ChatGPT have full implementations; others fall back to user-only)
|
|
77
|
+
- **Rule-based summaries** — `--summary` generates compressed conversation overviews without requiring an LLM
|
|
78
|
+
- **Flexible session selection** — `--last N` for recent sessions, `--threshold` to control importance cutoff
|
|
79
|
+
- **Output options** — `--json`, `--copy` for pipeline integration
|
|
80
|
+
|
|
81
|
+
### Changed
|
|
82
|
+
- Tests: 1153 → 1217
|
|
83
|
+
|
|
84
|
+
## [1.2.0] - 2026-03-23
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
- **4-layer prompt compression** — `reprompt compress` optimizes prompts through character normalization, phrase simplification (40+ zh / 50+ en rules), filler word deletion (jieba-aware), and structure cleanup
|
|
88
|
+
- **Compressibility in PromptDNA** — every scanned prompt gets a compressibility score, visible in insights and HTML dashboard
|
|
89
|
+
- **`--copy` flag** — compressed output copies to clipboard
|
|
90
|
+
|
|
91
|
+
### Changed
|
|
92
|
+
- Tests: 1046 → 1153
|
|
93
|
+
|
|
94
|
+
### Research
|
|
95
|
+
- Compression rules based on LLMLingua (Microsoft), CompactPrompt, TSC, stopwords-iso/zh, Prompt Report 2406.06608
|
|
96
|
+
|
|
97
|
+
## [1.1.0] - 2026-03-22
|
|
98
|
+
|
|
99
|
+
### Added
|
|
100
|
+
- **Privacy exposure analysis** — `reprompt privacy` shows what data you've sent to which AI tools: file paths, error messages, code snippets, personal identifiers
|
|
101
|
+
- **Per-adapter breakdown** — see privacy exposure grouped by source (Claude Code vs ChatGPT vs Cursor etc.)
|
|
102
|
+
- **Instruction repetition scoring** — detects and scores redundant instructions within prompts
|
|
103
|
+
- **Per-source insights** — `reprompt insights --source` shows patterns specific to each tool
|
|
104
|
+
|
|
105
|
+
### Changed
|
|
106
|
+
- Tests: 923 → 1046
|
|
107
|
+
|
|
5
108
|
## [1.0.0] - 2026-03-16
|
|
6
109
|
|
|
7
110
|
### Changed
|
|
@@ -18,7 +18,7 @@ uv run python -m build # build wheel
|
|
|
18
18
|
|
|
19
19
|
```
|
|
20
20
|
src/reprompt/
|
|
21
|
-
├── cli.py # Typer CLI (scan, import, report, search,
|
|
21
|
+
├── cli.py # Typer CLI (scan, import, report, search, demo, status, purge, install-hook, install-extension, extension-status, score, compare, insights, digest, style, template [save|list|use], privacy, compress, distill, agent, lint, wrapped, telemetry, mcp-serve) + bare `reprompt` dashboard + plugin loading
|
|
22
22
|
├── config.py # pydantic-settings, env vars (REPROMPT_ prefix) + TOML config
|
|
23
23
|
├── demo.py # Built-in demo data generator (no network required)
|
|
24
24
|
├── core/
|
|
@@ -40,13 +40,16 @@ src/reprompt/
|
|
|
40
40
|
│ ├── persona.py # 6 prompt personas (Architect/Debugger/Explorer/Novelist/Sniper/Teacher)
|
|
41
41
|
│ ├── wrapped.py # WrappedReport dataclass + build_wrapped(db) aggregation
|
|
42
42
|
│ ├── privacy.py # Privacy metadata registry + exposure summary per adapter
|
|
43
|
+
│ ├── privacy_scan.py # Sensitive content detection (API keys, tokens, PII) via regex
|
|
43
44
|
│ ├── compress.py # 4-layer prompt compression (char norm + phrase simplify + filler delete + structure cleanup)
|
|
44
|
-
│ ├── suggestions.py # Command journey suggestions ("→ Try:" hints for
|
|
45
|
+
│ ├── suggestions.py # Command journey suggestions ("→ Try:" hints for 7 core commands)
|
|
45
46
|
│ ├── conversation.py # ConversationTurn, Conversation, DistillResult dataclasses
|
|
46
|
-
│
|
|
47
|
+
│ ├── distill.py # 6-signal importance scoring + filtering + summary generation
|
|
48
|
+
│ └── agent.py # Agent workflow analysis: error loop detection, tool distribution, efficiency
|
|
47
49
|
├── adapters/
|
|
48
50
|
│ ├── base.py # BaseAdapter ABC + parse_conversation() default
|
|
49
|
-
│ ├── claude_code.py # Claude Code JSONL parser
|
|
51
|
+
│ ├── claude_code.py # Claude Code JSONL parser (full conversation + tool names)
|
|
52
|
+
│ ├── codex.py # Codex CLI JSONL rollout parser (full conversation + shell/function calls)
|
|
50
53
|
│ ├── openclaw.py # OpenClaw JSON parser (supports ~/.openclaw/ + legacy ~/.opencode/)
|
|
51
54
|
│ ├── cursor.py # Cursor IDE .vscdb parser (cursorDiskKV + legacy ItemTable)
|
|
52
55
|
│ ├── aider.py # Aider markdown chat history parser (.aider.chat.history.md)
|
|
@@ -87,7 +90,8 @@ src/reprompt/
|
|
|
87
90
|
├── wrapped_terminal.py # Rich Prompt Wrapped report rendering
|
|
88
91
|
├── wrapped_html.py # Self-contained HTML share card (dark theme)
|
|
89
92
|
├── compress_terminal.py # Rich output for compress command
|
|
90
|
-
|
|
93
|
+
├── distill_terminal.py # Rich output for distill command
|
|
94
|
+
└── agent_terminal.py # Rich output for agent workflow report
|
|
91
95
|
```
|
|
92
96
|
|
|
93
97
|
## Data Flow
|
|
@@ -124,7 +128,7 @@ reprompt-extension (private) ← Browser extension: Chrome/Firefox prompt capt
|
|
|
124
128
|
- Pattern upsert (not clear+re-insert) for stable IDs
|
|
125
129
|
- Prompts starting with `<` are filtered (system-injected XML)
|
|
126
130
|
- Config: env vars (REPROMPT_ prefix) > TOML (~/.config/reprompt/config.toml) > defaults
|
|
127
|
-
- Tests: pytest,
|
|
131
|
+
- Tests: pytest, 1490+ tests, 95% coverage target
|
|
128
132
|
|
|
129
133
|
## Prompt Science Engine
|
|
130
134
|
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: reprompt-cli
|
|
3
|
+
Version: 1.6.0
|
|
4
|
+
Summary: Discover, analyze, and optimize your prompts from AI coding sessions
|
|
5
|
+
Project-URL: Homepage, https://github.com/reprompt-dev/reprompt
|
|
6
|
+
Project-URL: Repository, https://github.com/reprompt-dev/reprompt
|
|
7
|
+
Project-URL: Issues, https://github.com/reprompt-dev/reprompt/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/reprompt-dev/reprompt/blob/main/CHANGELOG.md
|
|
9
|
+
License: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: ai,analytics,claude-code,cli,llm,prompt
|
|
12
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
22
|
+
Classifier: Typing :: Typed
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Requires-Dist: pydantic-settings>=2.0
|
|
25
|
+
Requires-Dist: rich>=13.0
|
|
26
|
+
Requires-Dist: scikit-learn>=1.4
|
|
27
|
+
Requires-Dist: typer>=0.9
|
|
28
|
+
Provides-Extra: chinese
|
|
29
|
+
Requires-Dist: jieba>=0.42; extra == 'chinese'
|
|
30
|
+
Provides-Extra: dev
|
|
31
|
+
Requires-Dist: jieba>=0.42; extra == 'dev'
|
|
32
|
+
Requires-Dist: mypy>=1.0; extra == 'dev'
|
|
33
|
+
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: pytest>=8.0; extra == 'dev'
|
|
35
|
+
Requires-Dist: ruff>=0.4; extra == 'dev'
|
|
36
|
+
Provides-Extra: local
|
|
37
|
+
Requires-Dist: sentence-transformers>=2.0; extra == 'local'
|
|
38
|
+
Provides-Extra: mcp
|
|
39
|
+
Requires-Dist: fastmcp>=2.0; extra == 'mcp'
|
|
40
|
+
Provides-Extra: ollama
|
|
41
|
+
Requires-Dist: requests>=2.31; extra == 'ollama'
|
|
42
|
+
Provides-Extra: openai
|
|
43
|
+
Requires-Dist: openai>=1.0; extra == 'openai'
|
|
44
|
+
Description-Content-Type: text/markdown
|
|
45
|
+
|
|
46
|
+
# `re:prompt`
|
|
47
|
+
|
|
48
|
+
**Prompt Intelligence for AI power users** -- understand, optimize, and manage your AI conversations.
|
|
49
|
+
|
|
50
|
+
[](https://pypi.org/project/reprompt-cli/)
|
|
51
|
+
[](https://pypi.org/project/reprompt-cli/)
|
|
52
|
+
[](https://opensource.org/licenses/MIT)
|
|
53
|
+
[](https://github.com/reprompt-dev/reprompt/actions)
|
|
54
|
+
[](https://github.com/reprompt-dev/reprompt)
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## See it in action
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
$ pip install reprompt-cli
|
|
62
|
+
$ reprompt
|
|
63
|
+
╭─ Prompt Dashboard ─────────────────────────────────────────╮
|
|
64
|
+
│ Prompts: 1,063 (295 unique) Sessions: 890 │
|
|
65
|
+
│ Avg Score: 68/100 Top: debug (31%), impl (24%)│
|
|
66
|
+
│ Sources: claude-code, cursor, chatgpt │
|
|
67
|
+
╰────────────────────────────────────────────────────────────╯
|
|
68
|
+
|
|
69
|
+
$ reprompt score "Fix the auth bug in src/login.ts where JWT expires"
|
|
70
|
+
Score: 74/100
|
|
71
|
+
Structure: 18/25 | Context: 22/25 | Position: 15/20 | Repetition: 9/15 | Clarity: 10/15
|
|
72
|
+
Tip: Add the error message for +15% accuracy
|
|
73
|
+
|
|
74
|
+
$ reprompt distill --last 3 --summary
|
|
75
|
+
Session: feature-dev (42 turns, 18 important)
|
|
76
|
+
Key moments: initial spec → auth module → test failures → JWT fix → passing
|
|
77
|
+
Context: "Building auth system with JWT refresh tokens for Express API"
|
|
78
|
+
|
|
79
|
+
$ reprompt compress "请帮我看一下这个代码,就是那个 login 的那个文件,好像有点问题"
|
|
80
|
+
Before: 31 tokens → After: 15 tokens (52% saved)
|
|
81
|
+
"看一下 login 文件的问题"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## What it does
|
|
85
|
+
|
|
86
|
+
### Analyze
|
|
87
|
+
|
|
88
|
+
| Command | Description |
|
|
89
|
+
|---------|-------------|
|
|
90
|
+
| `reprompt` | Instant dashboard -- prompts, sessions, avg score, top categories |
|
|
91
|
+
| `reprompt scan` | Auto-discover prompts from 9 AI tools |
|
|
92
|
+
| `reprompt score "prompt"` | Research-backed 0-100 scoring with 30+ features |
|
|
93
|
+
| `reprompt compare "a" "b"` | Side-by-side prompt analysis (or `--best-worst` for auto-selection) |
|
|
94
|
+
| `reprompt insights` | Personal patterns vs research-optimal benchmarks |
|
|
95
|
+
| `reprompt style` | Prompting fingerprint with `--trends` for evolution tracking |
|
|
96
|
+
| `reprompt agent` | Agent workflow analysis -- error loops, tool patterns, session efficiency |
|
|
97
|
+
|
|
98
|
+
### Optimize
|
|
99
|
+
|
|
100
|
+
| Command | Description |
|
|
101
|
+
|---------|-------------|
|
|
102
|
+
| `reprompt compress "prompt"` | 4-layer prompt compression (50%+ token savings typical) |
|
|
103
|
+
| `reprompt distill` | Extract important turns from conversations with 6-signal scoring |
|
|
104
|
+
| `reprompt distill --export` | Recover context when a session runs out -- paste into new session |
|
|
105
|
+
| `reprompt lint` | Prompt quality linter with GitHub Action support |
|
|
106
|
+
|
|
107
|
+
### Manage
|
|
108
|
+
|
|
109
|
+
| Command | Description |
|
|
110
|
+
|---------|-------------|
|
|
111
|
+
| `reprompt privacy` | See what data you sent where -- file paths, errors, PII exposure |
|
|
112
|
+
| `reprompt privacy --deep` | Scan for sensitive content: API keys, tokens, passwords, PII |
|
|
113
|
+
| `reprompt report` | Full analytics: hot phrases, clusters, patterns (`--html` for dashboard) |
|
|
114
|
+
| `reprompt digest` | Weekly summary comparing current vs previous period |
|
|
115
|
+
| `reprompt wrapped` | Prompt DNA report -- persona, scores, shareable card |
|
|
116
|
+
| `reprompt template save\|list\|use` | Save and reuse your best prompts |
|
|
117
|
+
|
|
118
|
+
## Prompt Science
|
|
119
|
+
|
|
120
|
+
Scoring is calibrated against 4 research papers covering 30+ features across 5 dimensions:
|
|
121
|
+
|
|
122
|
+
| Dimension | What it measures | Paper |
|
|
123
|
+
|-----------|-----------------|-------|
|
|
124
|
+
| **Structure** | Markdown, code blocks, explicit constraints | Prompt Report 2406.06608 |
|
|
125
|
+
| **Context** | File paths, error messages, technical specificity | Google 2512.14982 |
|
|
126
|
+
| **Position** | Instruction placement relative to context | Stanford 2307.03172 |
|
|
127
|
+
| **Repetition** | Redundancy that degrades model attention | Google 2512.14982 |
|
|
128
|
+
| **Clarity** | Readability, sentence length, ambiguity | SPELL (EMNLP 2023) |
|
|
129
|
+
|
|
130
|
+
All analysis runs locally in <1ms per prompt. No LLM calls, no network requests.
|
|
131
|
+
|
|
132
|
+
## Conversation Distillation
|
|
133
|
+
|
|
134
|
+
`reprompt distill` scores every turn in a conversation using 6 signals:
|
|
135
|
+
|
|
136
|
+
- **Position** -- first/last turns carry framing and conclusions
|
|
137
|
+
- **Length** -- substantial turns contain more information
|
|
138
|
+
- **Tool trigger** -- turns that cause tool calls are action-driving
|
|
139
|
+
- **Error recovery** -- turns that follow errors show problem-solving
|
|
140
|
+
- **Semantic shift** -- topic changes mark conversation boundaries
|
|
141
|
+
- **Uniqueness** -- novel phrasing vs repetitive follow-ups
|
|
142
|
+
|
|
143
|
+
Session type (debugging, feature-dev, exploration, refactoring) is auto-detected and signal weights adapt accordingly.
|
|
144
|
+
|
|
145
|
+
## Supported AI tools
|
|
146
|
+
|
|
147
|
+
| Tool | Format | Auto-discovered by `scan` |
|
|
148
|
+
|------|--------|--------------------------|
|
|
149
|
+
| Claude Code | JSONL | Yes |
|
|
150
|
+
| Codex CLI | JSONL | Yes |
|
|
151
|
+
| Cursor | .vscdb | Yes |
|
|
152
|
+
| Aider | Markdown | Yes |
|
|
153
|
+
| Gemini CLI | JSON | Yes |
|
|
154
|
+
| Cline (VS Code) | JSON | Yes |
|
|
155
|
+
| OpenClaw / OpenCode | JSON | Yes |
|
|
156
|
+
| ChatGPT | JSON | Via `reprompt import` |
|
|
157
|
+
| Claude.ai | JSON/ZIP | Via `reprompt import` |
|
|
158
|
+
|
|
159
|
+
## Installation
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
pip install reprompt-cli # core (all features, zero config)
|
|
163
|
+
pip install reprompt-cli[chinese] # + Chinese prompt analysis (jieba)
|
|
164
|
+
pip install reprompt-cli[mcp] # + MCP server for Claude Code / Continue.dev / Zed
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Quick start
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
reprompt scan # discover prompts from installed AI tools
|
|
171
|
+
reprompt # see your dashboard
|
|
172
|
+
reprompt score "your prompt here" # score any prompt instantly
|
|
173
|
+
reprompt distill --last 1 # distill your most recent conversation
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Auto-scan after every session
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
reprompt install-hook # adds post-session hook to Claude Code
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Browser extension
|
|
183
|
+
|
|
184
|
+
Capture prompts from ChatGPT, Claude.ai, and Gemini directly in your browser:
|
|
185
|
+
|
|
186
|
+
1. **Install the extension** from [Chrome Web Store](https://chromewebstore.google.com/detail/reprompt/ojdccpagaanchmkninlbgbgemdcjckhn)
|
|
187
|
+
2. **Connect to the CLI:** `reprompt install-extension`
|
|
188
|
+
3. **Verify:** `reprompt extension-status`
|
|
189
|
+
|
|
190
|
+
Captured prompts sync locally via Native Messaging -- nothing leaves your machine.
|
|
191
|
+
|
|
192
|
+
## Privacy
|
|
193
|
+
|
|
194
|
+
- All analysis runs locally. No prompts leave your machine.
|
|
195
|
+
- `reprompt privacy` shows exactly what you've sent to which AI tool.
|
|
196
|
+
- Optional telemetry sends only anonymous 26-dimension feature vectors -- never prompt text.
|
|
197
|
+
- Open source: audit exactly what's collected.
|
|
198
|
+
|
|
199
|
+
[Privacy policy](https://getreprompt.dev/privacy)
|
|
200
|
+
|
|
201
|
+
## Links
|
|
202
|
+
|
|
203
|
+
- **Website:** [getreprompt.dev](https://getreprompt.dev)
|
|
204
|
+
- **Chrome Extension:** [Chrome Web Store](https://chromewebstore.google.com/detail/reprompt/ojdccpagaanchmkninlbgbgemdcjckhn)
|
|
205
|
+
- **PyPI:** [reprompt-cli](https://pypi.org/project/reprompt-cli/)
|
|
206
|
+
- **Changelog:** [CHANGELOG.md](CHANGELOG.md)
|
|
207
|
+
- **Privacy:** [getreprompt.dev/privacy](https://getreprompt.dev/privacy)
|
|
208
|
+
|
|
209
|
+
## Contributing
|
|
210
|
+
|
|
211
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
|
|
212
|
+
|
|
213
|
+
## License
|
|
214
|
+
|
|
215
|
+
MIT
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# `re:prompt`
|
|
2
|
+
|
|
3
|
+
**Prompt Intelligence for AI power users** -- understand, optimize, and manage your AI conversations.
|
|
4
|
+
|
|
5
|
+
[](https://pypi.org/project/reprompt-cli/)
|
|
6
|
+
[](https://pypi.org/project/reprompt-cli/)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
[](https://github.com/reprompt-dev/reprompt/actions)
|
|
9
|
+
[](https://github.com/reprompt-dev/reprompt)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## See it in action
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
$ pip install reprompt-cli
|
|
17
|
+
$ reprompt
|
|
18
|
+
╭─ Prompt Dashboard ─────────────────────────────────────────╮
|
|
19
|
+
│ Prompts: 1,063 (295 unique) Sessions: 890 │
|
|
20
|
+
│ Avg Score: 68/100 Top: debug (31%), impl (24%)│
|
|
21
|
+
│ Sources: claude-code, cursor, chatgpt │
|
|
22
|
+
╰────────────────────────────────────────────────────────────╯
|
|
23
|
+
|
|
24
|
+
$ reprompt score "Fix the auth bug in src/login.ts where JWT expires"
|
|
25
|
+
Score: 74/100
|
|
26
|
+
Structure: 18/25 | Context: 22/25 | Position: 15/20 | Repetition: 9/15 | Clarity: 10/15
|
|
27
|
+
Tip: Add the error message for +15% accuracy
|
|
28
|
+
|
|
29
|
+
$ reprompt distill --last 3 --summary
|
|
30
|
+
Session: feature-dev (42 turns, 18 important)
|
|
31
|
+
Key moments: initial spec → auth module → test failures → JWT fix → passing
|
|
32
|
+
Context: "Building auth system with JWT refresh tokens for Express API"
|
|
33
|
+
|
|
34
|
+
$ reprompt compress "请帮我看一下这个代码,就是那个 login 的那个文件,好像有点问题"
|
|
35
|
+
Before: 31 tokens → After: 15 tokens (52% saved)
|
|
36
|
+
"看一下 login 文件的问题"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## What it does
|
|
40
|
+
|
|
41
|
+
### Analyze
|
|
42
|
+
|
|
43
|
+
| Command | Description |
|
|
44
|
+
|---------|-------------|
|
|
45
|
+
| `reprompt` | Instant dashboard -- prompts, sessions, avg score, top categories |
|
|
46
|
+
| `reprompt scan` | Auto-discover prompts from 9 AI tools |
|
|
47
|
+
| `reprompt score "prompt"` | Research-backed 0-100 scoring with 30+ features |
|
|
48
|
+
| `reprompt compare "a" "b"` | Side-by-side prompt analysis (or `--best-worst` for auto-selection) |
|
|
49
|
+
| `reprompt insights` | Personal patterns vs research-optimal benchmarks |
|
|
50
|
+
| `reprompt style` | Prompting fingerprint with `--trends` for evolution tracking |
|
|
51
|
+
| `reprompt agent` | Agent workflow analysis -- error loops, tool patterns, session efficiency |
|
|
52
|
+
|
|
53
|
+
### Optimize
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
|---------|-------------|
|
|
57
|
+
| `reprompt compress "prompt"` | 4-layer prompt compression (50%+ token savings typical) |
|
|
58
|
+
| `reprompt distill` | Extract important turns from conversations with 6-signal scoring |
|
|
59
|
+
| `reprompt distill --export` | Recover context when a session runs out -- paste into new session |
|
|
60
|
+
| `reprompt lint` | Prompt quality linter with GitHub Action support |
|
|
61
|
+
|
|
62
|
+
### Manage
|
|
63
|
+
|
|
64
|
+
| Command | Description |
|
|
65
|
+
|---------|-------------|
|
|
66
|
+
| `reprompt privacy` | See what data you sent where -- file paths, errors, PII exposure |
|
|
67
|
+
| `reprompt privacy --deep` | Scan for sensitive content: API keys, tokens, passwords, PII |
|
|
68
|
+
| `reprompt report` | Full analytics: hot phrases, clusters, patterns (`--html` for dashboard) |
|
|
69
|
+
| `reprompt digest` | Weekly summary comparing current vs previous period |
|
|
70
|
+
| `reprompt wrapped` | Prompt DNA report -- persona, scores, shareable card |
|
|
71
|
+
| `reprompt template save\|list\|use` | Save and reuse your best prompts |
|
|
72
|
+
|
|
73
|
+
## Prompt Science
|
|
74
|
+
|
|
75
|
+
Scoring is calibrated against 4 research papers covering 30+ features across 5 dimensions:
|
|
76
|
+
|
|
77
|
+
| Dimension | What it measures | Paper |
|
|
78
|
+
|-----------|-----------------|-------|
|
|
79
|
+
| **Structure** | Markdown, code blocks, explicit constraints | Prompt Report 2406.06608 |
|
|
80
|
+
| **Context** | File paths, error messages, technical specificity | Google 2512.14982 |
|
|
81
|
+
| **Position** | Instruction placement relative to context | Stanford 2307.03172 |
|
|
82
|
+
| **Repetition** | Redundancy that degrades model attention | Google 2512.14982 |
|
|
83
|
+
| **Clarity** | Readability, sentence length, ambiguity | SPELL (EMNLP 2023) |
|
|
84
|
+
|
|
85
|
+
All analysis runs locally in <1ms per prompt. No LLM calls, no network requests.
|
|
86
|
+
|
|
87
|
+
## Conversation Distillation
|
|
88
|
+
|
|
89
|
+
`reprompt distill` scores every turn in a conversation using 6 signals:
|
|
90
|
+
|
|
91
|
+
- **Position** -- first/last turns carry framing and conclusions
|
|
92
|
+
- **Length** -- substantial turns contain more information
|
|
93
|
+
- **Tool trigger** -- turns that cause tool calls are action-driving
|
|
94
|
+
- **Error recovery** -- turns that follow errors show problem-solving
|
|
95
|
+
- **Semantic shift** -- topic changes mark conversation boundaries
|
|
96
|
+
- **Uniqueness** -- novel phrasing vs repetitive follow-ups
|
|
97
|
+
|
|
98
|
+
Session type (debugging, feature-dev, exploration, refactoring) is auto-detected and signal weights adapt accordingly.
|
|
99
|
+
|
|
100
|
+
## Supported AI tools
|
|
101
|
+
|
|
102
|
+
| Tool | Format | Auto-discovered by `scan` |
|
|
103
|
+
|------|--------|--------------------------|
|
|
104
|
+
| Claude Code | JSONL | Yes |
|
|
105
|
+
| Codex CLI | JSONL | Yes |
|
|
106
|
+
| Cursor | .vscdb | Yes |
|
|
107
|
+
| Aider | Markdown | Yes |
|
|
108
|
+
| Gemini CLI | JSON | Yes |
|
|
109
|
+
| Cline (VS Code) | JSON | Yes |
|
|
110
|
+
| OpenClaw / OpenCode | JSON | Yes |
|
|
111
|
+
| ChatGPT | JSON | Via `reprompt import` |
|
|
112
|
+
| Claude.ai | JSON/ZIP | Via `reprompt import` |
|
|
113
|
+
|
|
114
|
+
## Installation
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
pip install reprompt-cli # core (all features, zero config)
|
|
118
|
+
pip install reprompt-cli[chinese] # + Chinese prompt analysis (jieba)
|
|
119
|
+
pip install reprompt-cli[mcp] # + MCP server for Claude Code / Continue.dev / Zed
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Quick start
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
reprompt scan # discover prompts from installed AI tools
|
|
126
|
+
reprompt # see your dashboard
|
|
127
|
+
reprompt score "your prompt here" # score any prompt instantly
|
|
128
|
+
reprompt distill --last 1 # distill your most recent conversation
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Auto-scan after every session
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
reprompt install-hook # adds post-session hook to Claude Code
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Browser extension
|
|
138
|
+
|
|
139
|
+
Capture prompts from ChatGPT, Claude.ai, and Gemini directly in your browser:
|
|
140
|
+
|
|
141
|
+
1. **Install the extension** from [Chrome Web Store](https://chromewebstore.google.com/detail/reprompt/ojdccpagaanchmkninlbgbgemdcjckhn)
|
|
142
|
+
2. **Connect to the CLI:** `reprompt install-extension`
|
|
143
|
+
3. **Verify:** `reprompt extension-status`
|
|
144
|
+
|
|
145
|
+
Captured prompts sync locally via Native Messaging -- nothing leaves your machine.
|
|
146
|
+
|
|
147
|
+
## Privacy
|
|
148
|
+
|
|
149
|
+
- All analysis runs locally. No prompts leave your machine.
|
|
150
|
+
- `reprompt privacy` shows exactly what you've sent to which AI tool.
|
|
151
|
+
- Optional telemetry sends only anonymous 26-dimension feature vectors -- never prompt text.
|
|
152
|
+
- Open source: audit exactly what's collected.
|
|
153
|
+
|
|
154
|
+
[Privacy policy](https://getreprompt.dev/privacy)
|
|
155
|
+
|
|
156
|
+
## Links
|
|
157
|
+
|
|
158
|
+
- **Website:** [getreprompt.dev](https://getreprompt.dev)
|
|
159
|
+
- **Chrome Extension:** [Chrome Web Store](https://chromewebstore.google.com/detail/reprompt/ojdccpagaanchmkninlbgbgemdcjckhn)
|
|
160
|
+
- **PyPI:** [reprompt-cli](https://pypi.org/project/reprompt-cli/)
|
|
161
|
+
- **Changelog:** [CHANGELOG.md](CHANGELOG.md)
|
|
162
|
+
- **Privacy:** [getreprompt.dev/privacy](https://getreprompt.dev/privacy)
|
|
163
|
+
|
|
164
|
+
## Contributing
|
|
165
|
+
|
|
166
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
|
|
167
|
+
|
|
168
|
+
## License
|
|
169
|
+
|
|
170
|
+
MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# reprompt Roadmap
|
|
2
2
|
|
|
3
|
-
> Last updated: 2026-03-25 · Current version: v1.
|
|
3
|
+
> Last updated: 2026-03-25 · Current version: v1.5.0
|
|
4
4
|
|
|
5
5
|
## Vision
|
|
6
6
|
|
|
@@ -10,18 +10,19 @@ reprompt is the **prompt intelligence** tool for AI sessions — distill your co
|
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
## Current State (v1.
|
|
13
|
+
## Current State (v1.5.0) — Production Stable
|
|
14
14
|
|
|
15
15
|
### Adapters (8)
|
|
16
16
|
Claude Code · OpenClaw · Cursor IDE · Aider · Gemini CLI · Cline · ChatGPT · Claude.ai
|
|
17
17
|
|
|
18
|
-
### Commands (23 visible,
|
|
19
|
-
`scan` · `import` · `report` · `
|
|
18
|
+
### Commands (23 visible, 8 deprecated)
|
|
19
|
+
`scan` · `import` · `report` · `template [save|list|use]` · `lint` · `search` · `demo` · `status` · `purge` · `install-hook` · `install-extension` · `extension-status` · `score` · `compare` · `insights` · `digest` · `style` · `wrapped` · `telemetry` · `mcp-serve` · `compress` · `distill` · `privacy`
|
|
20
20
|
|
|
21
21
|
### Integrations
|
|
22
22
|
- MCP server (`reprompt mcp-serve`) for IDE integration
|
|
23
23
|
- GitHub Action (`action.yml`) for CI prompt quality checks
|
|
24
24
|
- HTML dashboard (`reprompt report --html`)
|
|
25
|
+
- Bare `reprompt` dashboard (zero-state + data-state)
|
|
25
26
|
- Browser extension (Chrome/Firefox) via Native Messaging bridge
|
|
26
27
|
- JSON output on all commands for pipeline integration
|
|
27
28
|
|
|
@@ -36,15 +37,30 @@ Claude Code · OpenClaw · Cursor IDE · Aider · Gemini CLI · Cline · ChatGPT
|
|
|
36
37
|
| v1.3.1 | UX polish | Actionable suggestions on 5 commands, `--source` filter on all data commands |
|
|
37
38
|
| v1.4.0 | Context recovery + consolidation | `distill --export` context document, signal transparency, command consolidation (27→23) |
|
|
38
39
|
| v1.4.1 | Compare + style polish | `compare --best-worst` auto-pick, `style --trends` period-over-period deltas |
|
|
40
|
+
| v1.5.0 | Dashboard + signal fixes | Bare `reprompt` dashboard, session type detection, distill signal quality fixes, scan hook shows once |
|
|
39
41
|
|
|
40
42
|
### Quality
|
|
41
|
-
-
|
|
43
|
+
- 1397 tests, ≥90% coverage
|
|
42
44
|
- Strict mypy, ruff lint/format
|
|
43
45
|
- CI: coverage gate + pre-publish test step
|
|
44
46
|
- Stable public API (`score_prompt`, `compare_prompts`, `extract_features`)
|
|
45
47
|
|
|
46
48
|
---
|
|
47
49
|
|
|
50
|
+
## v1.5.0 — Dashboard + Session Type Detection + Signal Fixes
|
|
51
|
+
|
|
52
|
+
| Priority | Item | Rationale |
|
|
53
|
+
|----------|------|-----------|
|
|
54
|
+
| P1 | Bare `reprompt` dashboard | **DONE** — zero-state shows onboarding guide; data-state shows 7d summary (prompts, sessions, avg score, compressibility, long sessions) with score-by-task-type breakdown and contextual next-step suggestions |
|
|
55
|
+
| P1 | Session type detection | **DONE** — auto-detects session type (debug, feature, refactor, explore, review, etc.) and adjusts distill signal weights per type |
|
|
56
|
+
| P2 | Distill signal quality fixes | **DONE** — position signal no longer over-scores small-talk openers/closers; length signal penalizes error dumps; error_recovery signal filters "ok try again" noise |
|
|
57
|
+
| P3 | Scan hook suggestion shows once | **DONE** — `install-hook` suggestion displays only on first scan, not every time |
|
|
58
|
+
| P3 | `library`/`recommend`/`trends` deprecated | **DONE** — consolidated into `template list`, `template list --smart`, and `digest --trends` respectively |
|
|
59
|
+
|
|
60
|
+
**Status: Dashboard, session-aware distill, and signal quality shipped.**
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
48
64
|
## v1.4 — Context Recovery + Command Consolidation
|
|
49
65
|
|
|
50
66
|
| Priority | Item | Rationale |
|
|
@@ -61,11 +77,10 @@ Claude Code · OpenClaw · Cursor IDE · Aider · Gemini CLI · Cline · ChatGPT
|
|
|
61
77
|
|
|
62
78
|
---
|
|
63
79
|
|
|
64
|
-
## v1.
|
|
80
|
+
## v1.6+ — Future Work
|
|
65
81
|
|
|
66
82
|
| Feature | Description |
|
|
67
83
|
|---------|-------------|
|
|
68
|
-
| Distill false positive reduction | Position signal breaks on small-talk openers / "thanks bye" closers; long error dumps score high on length+uniqueness but aren't decision points; "ok try again" triggers error_recovery but is noise. Community feedback from r/LLMDevs. |
|
|
69
84
|
| Sensitive content detection | Privacy narrative; PII in prompts |
|
|
70
85
|
| Agent workflow analysis | Multi-step agent session patterns |
|
|
71
86
|
| `.reprompt.yml` configurable lint | Team/Pro direction |
|