campfire-cli 0.1.1__tar.gz → 0.1.3__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.
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/PKG-INFO +13 -2
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/README.md +12 -1
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/pyproject.toml +1 -1
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/__init__.py +1 -1
- campfire_cli-0.1.3/src/campfire_cli/common/agent_hints.py +53 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/container.py +31 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/main.py +51 -1
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/conftest.py +6 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/integration/test_cli.py +61 -0
- campfire_cli-0.1.3/tests/unit/test_agent_hints.py +39 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/uv.lock +1 -1
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/.github/workflows/ci.yml +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/.github/workflows/release.yml +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/.gitignore +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/AGENTS.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/ARCHITECTURE.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/COMMAND.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/DECISIONS.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/LICENSE +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/alembic/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/alembic/env.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/alembic/script.py.mako +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/alembic/versions/001_initial_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/alembic.ini +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/scripts/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/env.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/script.py.mako +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/001_initial_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/002_workspace_project_registry.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/003_unified_workspace_state.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/004_restructure_workspace_domain.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/005_decision_channel.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/006_workspace_topology_index.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/007_workspace_adoption.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/base/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/base/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/base/cli/base_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/base/repository/base_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/base/schema/base_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/base/service/base_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/cli/decision_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/repository/decision_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/schema/decision_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/service/decision_projection_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/service/decision_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/cli/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/cli/document_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/cli/profile_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/cli/type_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/repository/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/repository/document_profile_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/repository/document_type_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/document_profile_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/document_rule_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/document_scanner.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/document_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/document_type_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/frontmatter_apply.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/frontmatter_formatter.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/frontmatter_plan.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/profile_registry.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/type_apply.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/type_plan.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/cli/maintenance_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/repository/maintenance_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/schema/maintenance_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/archive_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/link_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/maintenance_protocol.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/maintenance_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/moc_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/plan_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/cli/skill_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/repository/skill_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/schema/skill_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/service/skill_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/adoption_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/config_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/domain_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/project_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/restructure_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/space_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/workspace_cli.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/repository/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/repository/adoption_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/repository/manifest_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/repository/restructure_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/repository/workspace_repository.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/schema/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/schema/adoption_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/schema/restructure_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/schema/workspace_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/adoption_protocol.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/adoption_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/config_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/domain_restructure_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/project_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/restructure_protocol.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/restructure_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/restructure_verifier.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/structure_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/workspace_protocol.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/workspace_service.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/database/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/database/migrations.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/database/models.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/database/session.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/documents/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/documents/document_types.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/documents/frontmatter_schema.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/documents/markdown.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/exceptions/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/exceptions/base.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/filesystem/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/filesystem/atomic.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/filesystem/locking.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/governance/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/governance/issues.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/governance/locking.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/governance/snapshots.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/hashing.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/reports/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/reports/json_report.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/reports/markdown_report.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/config/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/config/defaults.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/config/settings.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/bases/Agent/346/211/247/350/241/214/345/267/245/344/275/234/345/217/260.base" +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/bases/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/bases//344/273/273/345/212/241/345/267/245/344/275/234/345/217/260.base" +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/bases//345/206/263/347/255/226/345/267/245/344/275/234/345/217/260.base" +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/bases//345/276/205/345/275/222/346/241/243/346/226/207/346/241/243.base" +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/bases//351/241/271/347/233/256/346/226/207/346/241/243.base" +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/defaults/__init__.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/defaults/config.yml +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-context-bootstrap/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-context-bootstrap/agents/openai.yaml +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-conversation-router/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-conversation-router/agents/openai.yaml +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-conversation-router/references/inbox-handoff.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-conversation-router/references/learning-intake.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-conversation-router/references/task-intake.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-document-capture/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-inbox-triage/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-weekly-report-writing/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-weekly-report-writing/agents/openai.yaml +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-workspace-adoption/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-workspace-maintenance/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-workspace-maintenance/references//344/273/273/345/212/241/346/255/243/346/226/207/347/273/223/346/236/204.md" +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/resources/skills/campfire-workspace-restructure/SKILL.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/SPEC.md +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/unit/test_atomic_write.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/unit/test_common_governance.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/unit/test_config.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/unit/test_frontmatter.py +0 -0
- {campfire_cli-0.1.1 → campfire_cli-0.1.3}/tests/unit/test_repository_boundaries.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: campfire-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Local-first shared context and governance CLI for humans and agents
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -32,7 +32,18 @@ Vault 根目录的 `.campfire.yaml` 是可跨设备同步的 Workspace/Project
|
|
|
32
32
|
|
|
33
33
|
## 安装与调用
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
标准安装(已发布至 PyPI,无需源码仓库):
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
uv tool install campfire-cli
|
|
39
|
+
campfire version
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
升级使用 `uv tool upgrade campfire-cli`(或 `pipx upgrade campfire-cli`),随后运行 `campfire upgrade`(别名 `campfire update`)对齐本机治理资源:SQLite Schema 迁移、全局 Skill、Base 与全局提示词路标。
|
|
43
|
+
|
|
44
|
+
`campfire setup` 初始化时会向 `~/.claude/CLAUDE.md` 与 `~/.agents/AGENTS.md` 注入 campfire 路标块(幂等、带注释标记、不触碰块外内容;可用 `CAMPFIRE_AGENT_HINT_PATH` 覆盖目标文件列表),让 Agent 冷启动时知道本机装有 campfire。
|
|
45
|
+
|
|
46
|
+
开发机安装(跟随本地源码):
|
|
36
47
|
|
|
37
48
|
```bash
|
|
38
49
|
uv tool install --editable /path/to/campfire-cli
|
|
@@ -16,7 +16,18 @@ Vault 根目录的 `.campfire.yaml` 是可跨设备同步的 Workspace/Project
|
|
|
16
16
|
|
|
17
17
|
## 安装与调用
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
标准安装(已发布至 PyPI,无需源码仓库):
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
uv tool install campfire-cli
|
|
23
|
+
campfire version
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
升级使用 `uv tool upgrade campfire-cli`(或 `pipx upgrade campfire-cli`),随后运行 `campfire upgrade`(别名 `campfire update`)对齐本机治理资源:SQLite Schema 迁移、全局 Skill、Base 与全局提示词路标。
|
|
27
|
+
|
|
28
|
+
`campfire setup` 初始化时会向 `~/.claude/CLAUDE.md` 与 `~/.agents/AGENTS.md` 注入 campfire 路标块(幂等、带注释标记、不触碰块外内容;可用 `CAMPFIRE_AGENT_HINT_PATH` 覆盖目标文件列表),让 Agent 冷启动时知道本机装有 campfire。
|
|
29
|
+
|
|
30
|
+
开发机安装(跟随本地源码):
|
|
20
31
|
|
|
21
32
|
```bash
|
|
22
33
|
uv tool install --editable /path/to/campfire-cli
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from campfire_cli.common.filesystem import atomic_write
|
|
7
|
+
|
|
8
|
+
HINT_START = "<!-- campfire:agent-hints:start -->"
|
|
9
|
+
HINT_END = "<!-- campfire:agent-hints:end -->"
|
|
10
|
+
|
|
11
|
+
HINT_BODY = """## Campfire 文档治理
|
|
12
|
+
|
|
13
|
+
本机装有 campfire CLI(`campfire --help`),Obsidian Vault 已注册为文档工作区。
|
|
14
|
+
当用户要求"沉淀/记录/写文档/归档/跟踪问题"到知识库或项目文档时,先运行
|
|
15
|
+
`campfire workspace resolve` 解析工作区,再按 campfire skill 流程处理;
|
|
16
|
+
不要直接在代码仓库里创建笔记文件。文档分类不确定时用"记录-"前缀兜底,
|
|
17
|
+
字段规则以 `campfire document inspect` 返回的有效 Profile 为准。"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def default_hint_paths() -> list[Path]:
|
|
21
|
+
override = os.environ.get("CAMPFIRE_AGENT_HINT_PATH")
|
|
22
|
+
if override:
|
|
23
|
+
return [Path(item).expanduser().resolve() for item in override.split(os.pathsep) if item]
|
|
24
|
+
home = Path.home()
|
|
25
|
+
return [home / ".claude" / "CLAUDE.md", home / ".agents" / "AGENTS.md"]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def render_hint_block() -> str:
|
|
29
|
+
return f"{HINT_START}\n{HINT_BODY}\n{HINT_END}"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def inject_agent_hint(path: Path) -> str:
|
|
33
|
+
"""幂等地向 path 写入 campfire 路标块,返回 created/appended/updated/kept。
|
|
34
|
+
|
|
35
|
+
块由 HTML 注释标记包围;已存在时整体替换以升级内容,块外用户内容不动。
|
|
36
|
+
"""
|
|
37
|
+
block = render_hint_block()
|
|
38
|
+
current = path.read_text(encoding="utf-8") if path.is_file() else ""
|
|
39
|
+
if HINT_START in current and HINT_END in current:
|
|
40
|
+
start = current.index(HINT_START)
|
|
41
|
+
end = current.index(HINT_END) + len(HINT_END)
|
|
42
|
+
updated = current[:start] + block + current[end:]
|
|
43
|
+
action = "updated" if updated != current else "kept"
|
|
44
|
+
elif current:
|
|
45
|
+
separator = "" if current.endswith("\n\n") else ("\n" if current.endswith("\n") else "\n\n")
|
|
46
|
+
updated = current + separator + block + "\n"
|
|
47
|
+
action = "appended"
|
|
48
|
+
else:
|
|
49
|
+
updated = block + "\n"
|
|
50
|
+
action = "created"
|
|
51
|
+
if action != "kept":
|
|
52
|
+
atomic_write(path, updated)
|
|
53
|
+
return action
|
|
@@ -28,6 +28,7 @@ from campfire_cli.app.workspace.service.domain_restructure_service import (
|
|
|
28
28
|
)
|
|
29
29
|
from campfire_cli.app.workspace.service.restructure_service import RestructureService
|
|
30
30
|
from campfire_cli.app.workspace.service.workspace_service import WorkspaceService
|
|
31
|
+
from campfire_cli.common.agent_hints import default_hint_paths, inject_agent_hint
|
|
31
32
|
from campfire_cli.common.database import create_sqlite_engine, open_session, upgrade_database
|
|
32
33
|
from campfire_cli.common.exceptions import ConfigurationError
|
|
33
34
|
from campfire_cli.config.defaults import effective_config
|
|
@@ -60,10 +61,40 @@ class AppContainer:
|
|
|
60
61
|
"config": WorkspaceConfigService(settings).check().model_dump(mode="json"),
|
|
61
62
|
"skills": container.skill.sync(dry_run=False).model_dump(mode="json"),
|
|
62
63
|
"bases": container.base.sync(dry_run=False).model_dump(mode="json"),
|
|
64
|
+
"agent_hints": cls._inject_hints(),
|
|
63
65
|
},
|
|
64
66
|
"health": container.maintenance.check(summary=True).model_dump(mode="json"),
|
|
65
67
|
}
|
|
66
68
|
|
|
69
|
+
@classmethod
|
|
70
|
+
def upgrade(cls) -> dict:
|
|
71
|
+
"""对齐本机治理资源与当前包版本:Schema 迁移、Skill、Base 与提示词路标。"""
|
|
72
|
+
home = campfire_home()
|
|
73
|
+
upgrade_database(home / "campfire.db")
|
|
74
|
+
workspaces = []
|
|
75
|
+
for workspace_id in SqliteWorkspaceRepository(home).load_registry().workspaces:
|
|
76
|
+
container = cls.build(workspace_id)
|
|
77
|
+
workspaces.append(
|
|
78
|
+
{
|
|
79
|
+
"workspace_id": workspace_id,
|
|
80
|
+
"bases": container.base.sync(dry_run=False).model_dump(mode="json"),
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
return {
|
|
84
|
+
"status": "ok",
|
|
85
|
+
"database": {"status": "up-to-date"},
|
|
86
|
+
"skills": cls.build_skill().sync(dry_run=False).model_dump(mode="json"),
|
|
87
|
+
"agent_hints": cls._inject_hints(),
|
|
88
|
+
"workspaces": workspaces,
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
@staticmethod
|
|
92
|
+
def _inject_hints() -> list[dict[str, str]]:
|
|
93
|
+
return [
|
|
94
|
+
{"path": str(path), "action": inject_agent_hint(path)}
|
|
95
|
+
for path in default_hint_paths()
|
|
96
|
+
]
|
|
97
|
+
|
|
67
98
|
@classmethod
|
|
68
99
|
def build_skill(cls) -> SkillService:
|
|
69
100
|
"""Build the global Skill service without requiring a registered Workspace."""
|
|
@@ -121,13 +121,63 @@ def tree(ctx: typer.Context) -> None:
|
|
|
121
121
|
|
|
122
122
|
@app.command("setup")
|
|
123
123
|
def setup(
|
|
124
|
-
workspace: Path = typer.Option(
|
|
124
|
+
workspace: Path | None = typer.Option(
|
|
125
|
+
None, "--workspace", help="要初始化的 Workspace 根目录;缺省时输出接入引导"
|
|
126
|
+
),
|
|
125
127
|
make_default: bool = typer.Option(False, "--default", help="设为默认 Workspace"),
|
|
126
128
|
) -> None:
|
|
127
129
|
"""从 .campfire.yaml 配置本机,或为已注册 Workspace 创建首份 Manifest。"""
|
|
130
|
+
if workspace is None:
|
|
131
|
+
typer.echo(
|
|
132
|
+
json.dumps(
|
|
133
|
+
{
|
|
134
|
+
"status": "needs-input",
|
|
135
|
+
"message": "需要指定 Vault 根目录;按场景选择以下入口之一",
|
|
136
|
+
"paths": [
|
|
137
|
+
{
|
|
138
|
+
"scenario": "接入已有 Vault(目录已存在,含或不含 .campfire.yaml)",
|
|
139
|
+
"command": "campfire setup --workspace <vault路径> --default",
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"scenario": "从零创建新 Workspace(初始化目录结构并注册)",
|
|
143
|
+
"command": (
|
|
144
|
+
"campfire workspace create --id <id> --path <路径> --default"
|
|
145
|
+
),
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"scenario": "暂不接入 Vault,仅安装全局资源(Skill 与提示词路标)",
|
|
149
|
+
"command": "campfire upgrade",
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
},
|
|
153
|
+
ensure_ascii=False,
|
|
154
|
+
indent=2,
|
|
155
|
+
)
|
|
156
|
+
)
|
|
157
|
+
return
|
|
128
158
|
try:
|
|
129
159
|
result = AppContainer.setup(workspace, make_default)
|
|
130
160
|
except AppError as exc:
|
|
131
161
|
typer.echo(json.dumps({"status": "error", "message": str(exc)}, ensure_ascii=False))
|
|
132
162
|
raise typer.Exit(exc.exit_code) from exc
|
|
133
163
|
typer.echo(json.dumps(result, ensure_ascii=False, indent=2))
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
@app.command("upgrade")
|
|
167
|
+
def upgrade() -> None:
|
|
168
|
+
"""升级本机治理资源:SQLite Schema 迁移、全局 Skill、Base 与提示词路标。"""
|
|
169
|
+
try:
|
|
170
|
+
result = AppContainer.upgrade()
|
|
171
|
+
except AppError as exc:
|
|
172
|
+
typer.echo(
|
|
173
|
+
json.dumps({"status": "error", "message": str(exc)}, ensure_ascii=False),
|
|
174
|
+
err=True,
|
|
175
|
+
)
|
|
176
|
+
raise typer.Exit(exc.exit_code) from exc
|
|
177
|
+
typer.echo(json.dumps(result, ensure_ascii=False, indent=2))
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
@app.command("update", hidden=True)
|
|
181
|
+
def update() -> None:
|
|
182
|
+
"""campfire upgrade 的等价别名。"""
|
|
183
|
+
upgrade()
|
|
@@ -8,6 +8,12 @@ from campfire_cli.app.workspace.repository.workspace_repository import SqliteWor
|
|
|
8
8
|
from campfire_cli.app.workspace.schema.workspace_schema import WorkspaceEntry, WorkspaceRegistry
|
|
9
9
|
|
|
10
10
|
|
|
11
|
+
@pytest.fixture(autouse=True)
|
|
12
|
+
def _isolate_agent_hints(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
|
|
13
|
+
"""所有测试的提示词注入一律落在临时目录,绝不触碰用户真实全局文件。"""
|
|
14
|
+
monkeypatch.setenv("CAMPFIRE_AGENT_HINT_PATH", str(tmp_path / "agent-hints"))
|
|
15
|
+
|
|
16
|
+
|
|
11
17
|
@pytest.fixture
|
|
12
18
|
def workspace(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> Path:
|
|
13
19
|
campfire_home = tmp_path / "_campfire"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
|
+
import os
|
|
4
5
|
import subprocess
|
|
5
6
|
from pathlib import Path
|
|
6
7
|
|
|
@@ -2097,3 +2098,63 @@ def test_project_resolve_does_not_match_by_shared_remote_alone(
|
|
|
2097
2098
|
)
|
|
2098
2099
|
assert within["status"] == "matched"
|
|
2099
2100
|
assert within["matches"][0]["project"]["id"] == "registered-app"
|
|
2101
|
+
|
|
2102
|
+
|
|
2103
|
+
def test_setup_injects_agent_hints_idempotently(
|
|
2104
|
+
workspace: Path, monkeypatch
|
|
2105
|
+
) -> None:
|
|
2106
|
+
claude_md = workspace / "CLAUDE.md"
|
|
2107
|
+
agents_md = workspace / "AGENTS.md"
|
|
2108
|
+
monkeypatch.setenv(
|
|
2109
|
+
"CAMPFIRE_AGENT_HINT_PATH", f"{claude_md}{os.pathsep}{agents_md}"
|
|
2110
|
+
)
|
|
2111
|
+
first = runner.invoke(app, ["setup", "--workspace", str(workspace)])
|
|
2112
|
+
assert first.exit_code == 0, first.output
|
|
2113
|
+
payload = json.loads(first.output)
|
|
2114
|
+
actions = payload["resources"]["agent_hints"]
|
|
2115
|
+
assert {item["action"] for item in actions} == {"created"}
|
|
2116
|
+
for item in [claude_md, agents_md]:
|
|
2117
|
+
assert "campfire:agent-hints:start" in item.read_text(encoding="utf-8")
|
|
2118
|
+
|
|
2119
|
+
second = runner.invoke(app, ["setup", "--workspace", str(workspace)])
|
|
2120
|
+
assert second.exit_code == 0, second.output
|
|
2121
|
+
assert {
|
|
2122
|
+
item["action"] for item in json.loads(second.output)["resources"]["agent_hints"]
|
|
2123
|
+
} == {"kept"}
|
|
2124
|
+
|
|
2125
|
+
|
|
2126
|
+
def test_upgrade_syncs_resources_and_accepts_update_alias(
|
|
2127
|
+
workspace: Path, monkeypatch
|
|
2128
|
+
) -> None:
|
|
2129
|
+
claude_md = workspace / "CLAUDE.md"
|
|
2130
|
+
monkeypatch.setenv("CAMPFIRE_AGENT_HINT_PATH", str(claude_md))
|
|
2131
|
+
stale = workspace / "_global_skills" / "campfire-document-capture" / "SKILL.md"
|
|
2132
|
+
result = runner.invoke(app, ["upgrade"])
|
|
2133
|
+
assert result.exit_code == 0, result.output
|
|
2134
|
+
payload = json.loads(result.output)
|
|
2135
|
+
assert payload["status"] == "ok"
|
|
2136
|
+
assert payload["database"]["status"] == "up-to-date"
|
|
2137
|
+
assert payload["skills"]["status"] == "synced"
|
|
2138
|
+
assert payload["agent_hints"][0]["action"] == "created"
|
|
2139
|
+
assert [item["workspace_id"] for item in payload["workspaces"]] == ["test"]
|
|
2140
|
+
assert stale.is_file()
|
|
2141
|
+
stale.write_text("过时内容\n", encoding="utf-8")
|
|
2142
|
+
|
|
2143
|
+
alias = runner.invoke(app, ["update"])
|
|
2144
|
+
assert alias.exit_code == 0, alias.output
|
|
2145
|
+
aliased = json.loads(alias.output)
|
|
2146
|
+
assert aliased["skills"]["status"] == "synced"
|
|
2147
|
+
assert aliased["agent_hints"][0]["action"] == "kept"
|
|
2148
|
+
assert stale.read_text(encoding="utf-8") != "过时内容\n"
|
|
2149
|
+
|
|
2150
|
+
|
|
2151
|
+
def test_setup_without_workspace_prints_guidance(tmp_path: Path, monkeypatch) -> None:
|
|
2152
|
+
monkeypatch.setenv("CAMPFIRE_HOME", str(tmp_path / "home"))
|
|
2153
|
+
result = runner.invoke(app, ["setup"])
|
|
2154
|
+
assert result.exit_code == 0, result.output
|
|
2155
|
+
payload = json.loads(result.output)
|
|
2156
|
+
assert payload["status"] == "needs-input"
|
|
2157
|
+
commands = {item["command"] for item in payload["paths"]}
|
|
2158
|
+
assert "campfire setup --workspace <vault路径> --default" in commands
|
|
2159
|
+
assert any("workspace create" in command for command in commands)
|
|
2160
|
+
assert any("upgrade" in command for command in commands)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
from campfire_cli.common.agent_hints import (
|
|
6
|
+
HINT_END,
|
|
7
|
+
HINT_START,
|
|
8
|
+
inject_agent_hint,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_inject_creates_then_keeps(tmp_path: Path) -> None:
|
|
13
|
+
target = tmp_path / "CLAUDE.md"
|
|
14
|
+
assert inject_agent_hint(target) == "created"
|
|
15
|
+
content = target.read_text(encoding="utf-8")
|
|
16
|
+
assert content.startswith(HINT_START)
|
|
17
|
+
assert content.endswith(HINT_END + "\n")
|
|
18
|
+
assert inject_agent_hint(target) == "kept"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def test_inject_appends_without_touching_existing_content(tmp_path: Path) -> None:
|
|
22
|
+
target = tmp_path / "CLAUDE.md"
|
|
23
|
+
original = "# 我的规范\n\n- 保持原样\n"
|
|
24
|
+
target.write_text(original, encoding="utf-8")
|
|
25
|
+
assert inject_agent_hint(target) == "appended"
|
|
26
|
+
content = target.read_text(encoding="utf-8")
|
|
27
|
+
assert content.startswith(original)
|
|
28
|
+
assert HINT_END in content
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def test_inject_replaces_stale_block_only(tmp_path: Path) -> None:
|
|
32
|
+
target = tmp_path / "CLAUDE.md"
|
|
33
|
+
stale = f"# 头部\n\n{HINT_START}\n旧内容\n{HINT_END}\n# 尾部\n"
|
|
34
|
+
target.write_text(stale, encoding="utf-8")
|
|
35
|
+
assert inject_agent_hint(target) == "updated"
|
|
36
|
+
content = target.read_text(encoding="utf-8")
|
|
37
|
+
assert "旧内容" not in content
|
|
38
|
+
assert content.startswith("# 头部")
|
|
39
|
+
assert content.endswith("# 尾部\n")
|
|
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
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/001_initial_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/alembic/versions/005_decision_channel.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
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/base/repository/base_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/schema/decision_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/decision/service/decision_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/repository/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/document_scanner.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/document_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/frontmatter_apply.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/frontmatter_plan.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/profile_registry.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/type_apply.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/document/service/type_plan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/cli/maintenance_cli.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/link_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/moc_service.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/maintenance/service/plan_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/repository/skill_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/skill/service/skill_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/adoption_cli.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/restructure_cli.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/cli/workspace_cli.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/repository/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/schema/adoption_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/schema/workspace_schema.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/adoption_service.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/config_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/app/workspace/service/project_service.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
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/documents/document_types.py
RENAMED
|
File without changes
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/documents/frontmatter_schema.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
|
{campfire_cli-0.1.1 → campfire_cli-0.1.3}/src/campfire_cli/common/reports/markdown_report.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
|
|
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
|