Skip to content

[Feature] Separate runtime artifacts from repository directory #160

@kr37swarm

Description

@kr37swarm

Summary

AutoResearchClaw writes all runtime artifacts (artifacts/, docs/kb/, experiment outputs) into the cloned repository directory. There is no runtime directory concept. This pollutes the repo, complicates git workflows, and prevents clean separation of product vs instance.

Current Behavior

autoresearchclaw/           # git clone
├── researchclaw/           # source code
├── artifacts/              # ← runtime data in repo
│   ├── rc-20260324-.../
│   └── rc-20260320-.../
├── docs/kb/                # ← runtime knowledge base in repo
└── config.yaml             # ← user config in repo root

Proposed Behavior

autoresearchclaw/            # git clone (clean, stays pushable)
├── researchclaw/            # source code
└── config.example.yaml

~/.autoresearchclaw/         # runtime directory (XDG_DATA_HOME)
├── config.yaml              # user config
├── runs/                    # per-run artifacts
├── kb/                      # knowledge base
└── cache/

Suggested Implementation

  1. Add RESEARCHCLAW_HOME env var (default ~/.autoresearchclaw/)
  2. Change default --output to $RESEARCHCLAW_HOME/runs/<run_id>/
  3. researchclaw init creates the runtime directory structure
  4. --output flag continues to work for overrides

This follows the pattern used by Claude Code (~/.claude/), Codex (~/.codex/), Gemini (~/.gemini/), and most modern CLI tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions