agentrules 3.4.1__tar.gz → 3.4.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.
- {agentrules-3.4.1/src/agentrules.egg-info → agentrules-3.4.2}/PKG-INFO +23 -9
- {agentrules-3.4.1 → agentrules-3.4.2}/README.md +22 -8
- {agentrules-3.4.1 → agentrules-3.4.2}/pyproject.toml +1 -1
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/formatters/clean_agentrules.py +65 -8
- {agentrules-3.4.1 → agentrules-3.4.2/src/agentrules.egg-info}/PKG-INFO +23 -9
- {agentrules-3.4.1 → agentrules-3.4.2}/LICENSE +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/setup.cfg +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/__main__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/app.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/bootstrap.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/analyze.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/configure.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/execplan.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/execplan_registry.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/keys.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/scaffold.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/snapshot.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/commands/tree.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/context.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/services/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/services/codex_runtime.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/services/configuration.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/services/output_validation.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/services/pipeline_runner.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/services/tree_preview.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/analysis_view.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/event_sink.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/main_menu.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/codex.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/exclusions/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/exclusions/editor.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/exclusions/preview.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/exclusions/summary.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/logging.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/menu.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/models/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/models/researcher.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/models/utils.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/outputs.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/settings/providers.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/cli/ui/styles.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/agents.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/exclusions.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/final_analysis_prompt.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/phase_1_prompts.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/phase_2_prompts.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/phase_3_prompts.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/phase_4_prompts.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/phase_5_prompts.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/tools.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agent_tools/tool_manager.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agent_tools/web_search/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agent_tools/web_search/tavily.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/architect.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/capabilities.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/client.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/prompting.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/request_builder.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/response_parser.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/tooling.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/base.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/architect.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/client.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/errors.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/models.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/process.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/protocol.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/request_builder.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/codex/response_parser.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/architect.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/client.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/compat.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/config.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/prompting.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/request_builder.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/response_parser.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/tooling.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/factory/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/factory/factory.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/architect.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/capabilities.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/client.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/errors.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/legacy.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/prompting.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/response_parser.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/gemini/tooling.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/openai/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/openai/architect.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/openai/client.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/openai/compat.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/openai/config.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/openai/request_builder.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/openai/response_parser.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/architect.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/client.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/config.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/prompting.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/request_builder.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/response_parser.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/xai/tooling.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/events.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/final_analysis.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/phase_1.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/phase_2.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/phase_3.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/phase_4.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/analysis/phase_5.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/constants.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/environment.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/manager.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/model_presets.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/models.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/repository.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/serde.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/codex.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/exclusions.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/features.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/logging.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/outputs.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/phase_models.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/services/providers.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/configuration/utils.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/creator.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/identity.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/locks.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/milestones.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/paths.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/registry.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/templates/EXECPLAN_TEMPLATE.md +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/execplan/templates/MILESTONE_FILE_TEMPLATE.md +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/logging/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/logging/config.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/pipeline/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/pipeline/config.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/pipeline/factory.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/pipeline/orchestrator.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/pipeline/output.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/pipeline/snapshot.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/streaming/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/streaming/types.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/types/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/types/agent_config.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/types/models.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/types/tool_config.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/async_stream.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/constants.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/constants.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/discovery.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/metadata.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/models.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/clojure.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/dart.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/dotnet.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/elixir.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/generic.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/go.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/helpers.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/java.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/javascript.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/php.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/python.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/ruby.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/swift.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/parsers/toml_based.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/registry.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/dependency_scanner/scan.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/agent_scaffold.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/atomic_write.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/cursorignore.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/phases_output.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/snapshot_artifact.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/snapshot_policy.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/templates/MILESTONE_TEMPLATE.md +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_creation/templates/PLANS.md +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_system/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_system/file_retriever.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_system/gitignore.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/file_system/tree_generator.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/formatters/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/model_config_helper.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/offline.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/parsers/__init__.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/parsers/agent_parser.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/provider_capabilities.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/release_metadata.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/structured_outputs.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/system_prompt.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/token_estimator.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/token_packer.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules.egg-info/SOURCES.txt +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules.egg-info/dependency_links.txt +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules.egg-info/entry_points.txt +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules.egg-info/requires.txt +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules.egg-info/top_level.txt +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/tests/test_cli_services.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/tests/test_env.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/tests/test_openai_responses.py +0 -0
- {agentrules-3.4.1 → agentrules-3.4.2}/tests/test_smoke_discovery.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentrules
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.2
|
|
4
4
|
Summary: AGENTS.md/CLAUDE.md generator and ExecPlan harness for coding agents
|
|
5
5
|
Author: trevor-nichols
|
|
6
6
|
License-Expression: MIT
|
|
@@ -41,6 +41,7 @@ Dynamic: license-file
|
|
|
41
41
|
<div align="center">
|
|
42
42
|
|
|
43
43
|
[](https://choosealicense.com/licenses/mit/)
|
|
44
|
+
[](https://pypi.org/project/agentrules/)
|
|
44
45
|
[](https://openai.com/)
|
|
45
46
|
[](https://github.com/openai/codex)
|
|
46
47
|
[](https://www.anthropic.com/)
|
|
@@ -65,7 +66,7 @@ Version 3 rebrands the project from **CursorRules Architect** to **AgentRules Ar
|
|
|
65
66
|
|
|
66
67
|
## 🔥 v3 Highlights
|
|
67
68
|
|
|
68
|
-
- ✨ **Rebrand & packaging** – ships with console-script and `python -m agentrules` entry points
|
|
69
|
+
- ✨ **Rebrand & packaging** – ships on PyPI with console-script and `python -m agentrules` entry points.
|
|
69
70
|
- 🧭 **Typer CLI overhaul** – `agentrules` launches an interactive main menu with subcommands for `analyze`, `configure`, and `keys`.
|
|
70
71
|
- 🗂️ **Persistent settings** – API keys, model presets, logging, and output preferences live in `~/.config/agentrules/config.toml` (override with `AGENTRULES_CONFIG_DIR`).
|
|
71
72
|
- 🧠 **Expanded provider matrix** – the preset catalog spans Anthropic, OpenAI, Google, DeepSeek, xAI, and Codex runtime presets, with phase-by-phase model selection from the CLI or config file.
|
|
@@ -116,9 +117,12 @@ The pipeline captures metrics (elapsed time, agent counts) and hands them to the
|
|
|
116
117
|
### Install from PyPI
|
|
117
118
|
|
|
118
119
|
```bash
|
|
119
|
-
pip install agentrules
|
|
120
|
+
pip install -U agentrules
|
|
120
121
|
```
|
|
121
122
|
|
|
123
|
+
- Package page: <https://pypi.org/project/agentrules/>
|
|
124
|
+
- Test index page: <https://test.pypi.org/project/agentrules/>
|
|
125
|
+
|
|
122
126
|
### Install from source
|
|
123
127
|
|
|
124
128
|
```bash
|
|
@@ -154,6 +158,12 @@ Need to install directly from GitHub instead of PyPI?
|
|
|
154
158
|
pip install "git+https://github.com/trevor-nichols/agentrules-architect.git#egg=agentrules"
|
|
155
159
|
```
|
|
156
160
|
|
|
161
|
+
Need to validate against TestPyPI specifically?
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple agentrules==3.4.1
|
|
165
|
+
```
|
|
166
|
+
|
|
157
167
|
## 🔐 Configure API Keys
|
|
158
168
|
|
|
159
169
|
Run the interactive configurator to store credentials securely:
|
|
@@ -364,17 +374,21 @@ Toggle outputs with `agentrules configure --outputs` or via the config TOML.
|
|
|
364
374
|
- Run targeted tests: `python tests/phase_3_test/run_test.py`
|
|
365
375
|
- Deterministic smoke runs (CI/local without API calls): `agentrules analyze --offline tests/tests_input`
|
|
366
376
|
- Full suite: `python -m unittest discover tests -v`
|
|
367
|
-
- Releases are
|
|
377
|
+
- Releases are Release Please-driven: merges to `main` update/open a release PR, and merging that PR creates the `vX.Y.Z` tag + GitHub release automatically.
|
|
368
378
|
- GitHub Actions now publishes package artifacts with Trusted Publishing (OIDC) via `.github/workflows/publish-pypi.yml` (no long-lived PyPI API token).
|
|
369
|
-
- Run a safe preflight publish first from Actions with `workflow_dispatch` and `repository = testpypi`; publish to production PyPI on tag push or manual `repository = pypi`.
|
|
379
|
+
- Run a safe preflight publish first from Actions with `workflow_dispatch` and `repository = testpypi`; publish to production PyPI on release-tag push or manual `repository = pypi`.
|
|
370
380
|
- Keep docs and presets in sync when adding providers (`config/agents.py`, `config/tools.py`, `core/agents/*`).
|
|
371
381
|
|
|
372
382
|
### Release Process (PyPI)
|
|
373
383
|
|
|
374
|
-
1.
|
|
375
|
-
2.
|
|
376
|
-
3.
|
|
377
|
-
4.
|
|
384
|
+
1. Merge feature PRs into `main` using Conventional Commit-style titles/messages (for example `feat: ...`, `fix: ...`).
|
|
385
|
+
2. `.github/workflows/release-please.yml` updates or opens a release PR with the version bump and changelog.
|
|
386
|
+
3. (Optional, recommended) run `.github/workflows/publish-pypi.yml` manually with `repository = testpypi` from the release PR head commit.
|
|
387
|
+
4. Merge the release PR. Release Please creates/pushes the matching `vX.Y.Z` tag and publishes a GitHub release.
|
|
388
|
+
5. The tag push triggers `.github/workflows/publish-pypi.yml` to publish to production PyPI.
|
|
389
|
+
6. One-time setup for new projects:
|
|
390
|
+
- Configure a repo secret `RELEASE_PLEASE_TOKEN` (PAT or GitHub App token) with permission to create/update PRs, tags, and releases. This ensures tag pushes from Release Please trigger downstream workflows.
|
|
391
|
+
- Configure Trusted Publishers on TestPyPI and PyPI for repository `trevor-nichols/agentrules-architect`, workflow `.github/workflows/publish-pypi.yml`, and environments `testpypi`/`pypi`.
|
|
378
392
|
|
|
379
393
|
## 🤝 Contributing
|
|
380
394
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
5
|
[](https://choosealicense.com/licenses/mit/)
|
|
6
|
+
[](https://pypi.org/project/agentrules/)
|
|
6
7
|
[](https://openai.com/)
|
|
7
8
|
[](https://github.com/openai/codex)
|
|
8
9
|
[](https://www.anthropic.com/)
|
|
@@ -27,7 +28,7 @@ Version 3 rebrands the project from **CursorRules Architect** to **AgentRules Ar
|
|
|
27
28
|
|
|
28
29
|
## 🔥 v3 Highlights
|
|
29
30
|
|
|
30
|
-
- ✨ **Rebrand & packaging** – ships with console-script and `python -m agentrules` entry points
|
|
31
|
+
- ✨ **Rebrand & packaging** – ships on PyPI with console-script and `python -m agentrules` entry points.
|
|
31
32
|
- 🧭 **Typer CLI overhaul** – `agentrules` launches an interactive main menu with subcommands for `analyze`, `configure`, and `keys`.
|
|
32
33
|
- 🗂️ **Persistent settings** – API keys, model presets, logging, and output preferences live in `~/.config/agentrules/config.toml` (override with `AGENTRULES_CONFIG_DIR`).
|
|
33
34
|
- 🧠 **Expanded provider matrix** – the preset catalog spans Anthropic, OpenAI, Google, DeepSeek, xAI, and Codex runtime presets, with phase-by-phase model selection from the CLI or config file.
|
|
@@ -78,9 +79,12 @@ The pipeline captures metrics (elapsed time, agent counts) and hands them to the
|
|
|
78
79
|
### Install from PyPI
|
|
79
80
|
|
|
80
81
|
```bash
|
|
81
|
-
pip install agentrules
|
|
82
|
+
pip install -U agentrules
|
|
82
83
|
```
|
|
83
84
|
|
|
85
|
+
- Package page: <https://pypi.org/project/agentrules/>
|
|
86
|
+
- Test index page: <https://test.pypi.org/project/agentrules/>
|
|
87
|
+
|
|
84
88
|
### Install from source
|
|
85
89
|
|
|
86
90
|
```bash
|
|
@@ -116,6 +120,12 @@ Need to install directly from GitHub instead of PyPI?
|
|
|
116
120
|
pip install "git+https://github.com/trevor-nichols/agentrules-architect.git#egg=agentrules"
|
|
117
121
|
```
|
|
118
122
|
|
|
123
|
+
Need to validate against TestPyPI specifically?
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple agentrules==3.4.1
|
|
127
|
+
```
|
|
128
|
+
|
|
119
129
|
## 🔐 Configure API Keys
|
|
120
130
|
|
|
121
131
|
Run the interactive configurator to store credentials securely:
|
|
@@ -326,17 +336,21 @@ Toggle outputs with `agentrules configure --outputs` or via the config TOML.
|
|
|
326
336
|
- Run targeted tests: `python tests/phase_3_test/run_test.py`
|
|
327
337
|
- Deterministic smoke runs (CI/local without API calls): `agentrules analyze --offline tests/tests_input`
|
|
328
338
|
- Full suite: `python -m unittest discover tests -v`
|
|
329
|
-
- Releases are
|
|
339
|
+
- Releases are Release Please-driven: merges to `main` update/open a release PR, and merging that PR creates the `vX.Y.Z` tag + GitHub release automatically.
|
|
330
340
|
- GitHub Actions now publishes package artifacts with Trusted Publishing (OIDC) via `.github/workflows/publish-pypi.yml` (no long-lived PyPI API token).
|
|
331
|
-
- Run a safe preflight publish first from Actions with `workflow_dispatch` and `repository = testpypi`; publish to production PyPI on tag push or manual `repository = pypi`.
|
|
341
|
+
- Run a safe preflight publish first from Actions with `workflow_dispatch` and `repository = testpypi`; publish to production PyPI on release-tag push or manual `repository = pypi`.
|
|
332
342
|
- Keep docs and presets in sync when adding providers (`config/agents.py`, `config/tools.py`, `core/agents/*`).
|
|
333
343
|
|
|
334
344
|
### Release Process (PyPI)
|
|
335
345
|
|
|
336
|
-
1.
|
|
337
|
-
2.
|
|
338
|
-
3.
|
|
339
|
-
4.
|
|
346
|
+
1. Merge feature PRs into `main` using Conventional Commit-style titles/messages (for example `feat: ...`, `fix: ...`).
|
|
347
|
+
2. `.github/workflows/release-please.yml` updates or opens a release PR with the version bump and changelog.
|
|
348
|
+
3. (Optional, recommended) run `.github/workflows/publish-pypi.yml` manually with `repository = testpypi` from the release PR head commit.
|
|
349
|
+
4. Merge the release PR. Release Please creates/pushes the matching `vX.Y.Z` tag and publishes a GitHub release.
|
|
350
|
+
5. The tag push triggers `.github/workflows/publish-pypi.yml` to publish to production PyPI.
|
|
351
|
+
6. One-time setup for new projects:
|
|
352
|
+
- Configure a repo secret `RELEASE_PLEASE_TOKEN` (PAT or GitHub App token) with permission to create/update PRs, tags, and releases. This ensures tag pushes from Release Please trigger downstream workflows.
|
|
353
|
+
- Configure Trusted Publishers on TestPyPI and PyPI for repository `trevor-nichols/agentrules-architect`, workflow `.github/workflows/publish-pypi.yml`, and environments `testpypi`/`pypi`.
|
|
340
354
|
|
|
341
355
|
## 🤝 Contributing
|
|
342
356
|
|
{agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/utils/formatters/clean_agentrules.py
RENAMED
|
@@ -28,13 +28,46 @@ DEVELOPMENT_PRINCIPLES_HEADING_PATTERN = re.compile(
|
|
|
28
28
|
MARKDOWN_HEADING_PATTERN = re.compile(r'^(?P<hashes>#{1,6})\s+\S')
|
|
29
29
|
EXECPLANS_HEADING = "## ExecPlans"
|
|
30
30
|
EXECPLANS_GUIDANCE_LINE = (
|
|
31
|
-
"When writing complex features or
|
|
32
|
-
"
|
|
31
|
+
"- When writing complex features or refactors, use an ExecPlan "
|
|
32
|
+
"(as described in `.agent/PLANS.md`) from design to implementation."
|
|
33
|
+
)
|
|
34
|
+
EXECPLANS_MILESTONES_HEADING = "### Milestones"
|
|
35
|
+
EXECPLANS_MILESTONES_LINE = (
|
|
36
|
+
"- When the feature or refactor your writing is significantly complex, "
|
|
37
|
+
"disaggregate the ExecPlan into milestones "
|
|
38
|
+
"(as described in `.agent/templates/MILESTONE_TEMPLATE.md`)"
|
|
39
|
+
)
|
|
40
|
+
EXECPLANS_CLI_HEADING = "### Prefer CLI creation over manual file creation:"
|
|
41
|
+
EXECPLANS_CLI_LINES = (
|
|
42
|
+
"* ExecPlan:",
|
|
43
|
+
" * Create: `agentrules execplan new \"<title>\" --slug <short-slug> --ms <N>` "
|
|
44
|
+
"(Use `--ms <N>` for deterministic `MS###` sequence assignment).",
|
|
45
|
+
" * Archive: `agentrules execplan archive EP-YYYYMMDD-NNN`",
|
|
46
|
+
"* Milestones:",
|
|
47
|
+
" * Create: `agentrules execplan milestone new EP-YYYYMMDD-NNN \"<Milestone Title>\"`",
|
|
48
|
+
" * Archive: `agentrules execplan milestone archive EP-YYYYMMDD-NNN --ms <N>`",
|
|
49
|
+
)
|
|
50
|
+
EXECPLANS_GUIDANCE_BLOCK = (
|
|
51
|
+
EXECPLANS_HEADING,
|
|
52
|
+
EXECPLANS_GUIDANCE_LINE,
|
|
53
|
+
"",
|
|
54
|
+
EXECPLANS_MILESTONES_HEADING,
|
|
55
|
+
EXECPLANS_MILESTONES_LINE,
|
|
56
|
+
"",
|
|
57
|
+
EXECPLANS_CLI_HEADING,
|
|
58
|
+
*EXECPLANS_CLI_LINES,
|
|
59
|
+
)
|
|
60
|
+
EXECPLANS_REQUIRED_LINES = (
|
|
61
|
+
EXECPLANS_GUIDANCE_LINE,
|
|
62
|
+
EXECPLANS_MILESTONES_HEADING,
|
|
63
|
+
EXECPLANS_MILESTONES_LINE,
|
|
64
|
+
EXECPLANS_CLI_HEADING,
|
|
65
|
+
*EXECPLANS_CLI_LINES,
|
|
33
66
|
)
|
|
34
67
|
|
|
35
68
|
|
|
36
69
|
def _inject_execplans_guidance(content: str) -> tuple[str, bool, str]:
|
|
37
|
-
if
|
|
70
|
+
if all(line in content for line in EXECPLANS_REQUIRED_LINES):
|
|
38
71
|
return content, False, "ExecPlans guidance already present."
|
|
39
72
|
|
|
40
73
|
lines = content.splitlines()
|
|
@@ -54,8 +87,7 @@ def _inject_execplans_guidance(content: str) -> tuple[str, bool, str]:
|
|
|
54
87
|
[
|
|
55
88
|
"# Development Principles",
|
|
56
89
|
"",
|
|
57
|
-
|
|
58
|
-
EXECPLANS_GUIDANCE_LINE,
|
|
90
|
+
*EXECPLANS_GUIDANCE_BLOCK,
|
|
59
91
|
]
|
|
60
92
|
)
|
|
61
93
|
return "\n".join(lines) + "\n", True, "Added missing Development Principles section with ExecPlans guidance."
|
|
@@ -71,16 +103,41 @@ def _inject_execplans_guidance(content: str) -> tuple[str, bool, str]:
|
|
|
71
103
|
break
|
|
72
104
|
|
|
73
105
|
section_lines = lines[heading_index:section_end]
|
|
74
|
-
|
|
106
|
+
execplans_heading_index: int | None = None
|
|
107
|
+
execplans_heading_level = 0
|
|
108
|
+
for index, line in enumerate(section_lines):
|
|
75
109
|
normalized = line.strip().lower().rstrip(":")
|
|
76
110
|
if normalized == "## execplans" or normalized == "### execplans":
|
|
77
|
-
|
|
111
|
+
execplans_heading_index = heading_index + index
|
|
112
|
+
heading_match = MARKDOWN_HEADING_PATTERN.match(line.strip())
|
|
113
|
+
if heading_match:
|
|
114
|
+
execplans_heading_level = len(heading_match.group("hashes"))
|
|
115
|
+
break
|
|
116
|
+
|
|
117
|
+
if execplans_heading_index is not None:
|
|
118
|
+
execplans_block_end = section_end
|
|
119
|
+
for index in range(execplans_heading_index + 1, section_end):
|
|
120
|
+
line = lines[index]
|
|
121
|
+
heading_match = MARKDOWN_HEADING_PATTERN.match(line.strip())
|
|
122
|
+
if not heading_match:
|
|
123
|
+
continue
|
|
124
|
+
if len(heading_match.group("hashes")) <= execplans_heading_level:
|
|
125
|
+
execplans_block_end = index
|
|
126
|
+
break
|
|
127
|
+
|
|
128
|
+
replacement_lines = list(EXECPLANS_GUIDANCE_BLOCK)
|
|
129
|
+
updated_lines = lines[:execplans_heading_index] + replacement_lines + lines[execplans_block_end:]
|
|
130
|
+
return (
|
|
131
|
+
"\n".join(updated_lines) + "\n",
|
|
132
|
+
True,
|
|
133
|
+
"Updated existing ExecPlans guidance under Development Principles.",
|
|
134
|
+
)
|
|
78
135
|
|
|
79
136
|
insert_at = section_end
|
|
80
137
|
while insert_at > heading_index and not lines[insert_at - 1].strip():
|
|
81
138
|
insert_at -= 1
|
|
82
139
|
|
|
83
|
-
insertion_lines = ["",
|
|
140
|
+
insertion_lines = ["", *EXECPLANS_GUIDANCE_BLOCK, ""]
|
|
84
141
|
updated_lines = lines[:insert_at] + insertion_lines + lines[section_end:]
|
|
85
142
|
return "\n".join(updated_lines) + "\n", True, "Added ExecPlans guidance under Development Principles."
|
|
86
143
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentrules
|
|
3
|
-
Version: 3.4.
|
|
3
|
+
Version: 3.4.2
|
|
4
4
|
Summary: AGENTS.md/CLAUDE.md generator and ExecPlan harness for coding agents
|
|
5
5
|
Author: trevor-nichols
|
|
6
6
|
License-Expression: MIT
|
|
@@ -41,6 +41,7 @@ Dynamic: license-file
|
|
|
41
41
|
<div align="center">
|
|
42
42
|
|
|
43
43
|
[](https://choosealicense.com/licenses/mit/)
|
|
44
|
+
[](https://pypi.org/project/agentrules/)
|
|
44
45
|
[](https://openai.com/)
|
|
45
46
|
[](https://github.com/openai/codex)
|
|
46
47
|
[](https://www.anthropic.com/)
|
|
@@ -65,7 +66,7 @@ Version 3 rebrands the project from **CursorRules Architect** to **AgentRules Ar
|
|
|
65
66
|
|
|
66
67
|
## 🔥 v3 Highlights
|
|
67
68
|
|
|
68
|
-
- ✨ **Rebrand & packaging** – ships with console-script and `python -m agentrules` entry points
|
|
69
|
+
- ✨ **Rebrand & packaging** – ships on PyPI with console-script and `python -m agentrules` entry points.
|
|
69
70
|
- 🧭 **Typer CLI overhaul** – `agentrules` launches an interactive main menu with subcommands for `analyze`, `configure`, and `keys`.
|
|
70
71
|
- 🗂️ **Persistent settings** – API keys, model presets, logging, and output preferences live in `~/.config/agentrules/config.toml` (override with `AGENTRULES_CONFIG_DIR`).
|
|
71
72
|
- 🧠 **Expanded provider matrix** – the preset catalog spans Anthropic, OpenAI, Google, DeepSeek, xAI, and Codex runtime presets, with phase-by-phase model selection from the CLI or config file.
|
|
@@ -116,9 +117,12 @@ The pipeline captures metrics (elapsed time, agent counts) and hands them to the
|
|
|
116
117
|
### Install from PyPI
|
|
117
118
|
|
|
118
119
|
```bash
|
|
119
|
-
pip install agentrules
|
|
120
|
+
pip install -U agentrules
|
|
120
121
|
```
|
|
121
122
|
|
|
123
|
+
- Package page: <https://pypi.org/project/agentrules/>
|
|
124
|
+
- Test index page: <https://test.pypi.org/project/agentrules/>
|
|
125
|
+
|
|
122
126
|
### Install from source
|
|
123
127
|
|
|
124
128
|
```bash
|
|
@@ -154,6 +158,12 @@ Need to install directly from GitHub instead of PyPI?
|
|
|
154
158
|
pip install "git+https://github.com/trevor-nichols/agentrules-architect.git#egg=agentrules"
|
|
155
159
|
```
|
|
156
160
|
|
|
161
|
+
Need to validate against TestPyPI specifically?
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple agentrules==3.4.1
|
|
165
|
+
```
|
|
166
|
+
|
|
157
167
|
## 🔐 Configure API Keys
|
|
158
168
|
|
|
159
169
|
Run the interactive configurator to store credentials securely:
|
|
@@ -364,17 +374,21 @@ Toggle outputs with `agentrules configure --outputs` or via the config TOML.
|
|
|
364
374
|
- Run targeted tests: `python tests/phase_3_test/run_test.py`
|
|
365
375
|
- Deterministic smoke runs (CI/local without API calls): `agentrules analyze --offline tests/tests_input`
|
|
366
376
|
- Full suite: `python -m unittest discover tests -v`
|
|
367
|
-
- Releases are
|
|
377
|
+
- Releases are Release Please-driven: merges to `main` update/open a release PR, and merging that PR creates the `vX.Y.Z` tag + GitHub release automatically.
|
|
368
378
|
- GitHub Actions now publishes package artifacts with Trusted Publishing (OIDC) via `.github/workflows/publish-pypi.yml` (no long-lived PyPI API token).
|
|
369
|
-
- Run a safe preflight publish first from Actions with `workflow_dispatch` and `repository = testpypi`; publish to production PyPI on tag push or manual `repository = pypi`.
|
|
379
|
+
- Run a safe preflight publish first from Actions with `workflow_dispatch` and `repository = testpypi`; publish to production PyPI on release-tag push or manual `repository = pypi`.
|
|
370
380
|
- Keep docs and presets in sync when adding providers (`config/agents.py`, `config/tools.py`, `core/agents/*`).
|
|
371
381
|
|
|
372
382
|
### Release Process (PyPI)
|
|
373
383
|
|
|
374
|
-
1.
|
|
375
|
-
2.
|
|
376
|
-
3.
|
|
377
|
-
4.
|
|
384
|
+
1. Merge feature PRs into `main` using Conventional Commit-style titles/messages (for example `feat: ...`, `fix: ...`).
|
|
385
|
+
2. `.github/workflows/release-please.yml` updates or opens a release PR with the version bump and changelog.
|
|
386
|
+
3. (Optional, recommended) run `.github/workflows/publish-pypi.yml` manually with `repository = testpypi` from the release PR head commit.
|
|
387
|
+
4. Merge the release PR. Release Please creates/pushes the matching `vX.Y.Z` tag and publishes a GitHub release.
|
|
388
|
+
5. The tag push triggers `.github/workflows/publish-pypi.yml` to publish to production PyPI.
|
|
389
|
+
6. One-time setup for new projects:
|
|
390
|
+
- Configure a repo secret `RELEASE_PLEASE_TOKEN` (PAT or GitHub App token) with permission to create/update PRs, tags, and releases. This ensures tag pushes from Release Please trigger downstream workflows.
|
|
391
|
+
- Configure Trusted Publishers on TestPyPI and PyPI for repository `trevor-nichols/agentrules-architect`, workflow `.github/workflows/publish-pypi.yml`, and environments `testpypi`/`pypi`.
|
|
378
392
|
|
|
379
393
|
## 🤝 Contributing
|
|
380
394
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/config/prompts/final_analysis_prompt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agent_tools/web_search/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/request_builder.py
RENAMED
|
File without changes
|
{agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/anthropic/response_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/request_builder.py
RENAMED
|
File without changes
|
{agentrules-3.4.1 → agentrules-3.4.2}/src/agentrules/core/agents/deepseek/response_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|