GHAgentFiles: A dataset of coding agent context file histories in GitHub repositories
收藏资源简介:
This replication package accompagnies the dataset and exploratory empirical analysis reported in the paper "A dataset of coding agent context file histories in GitHub repositories". Important notice : It looks like Zenodo is compressing gzipped files two times without notice, they are "double compressed". So, when you download them they should be named : x.gz.gz instead of x.gz. Notice that the provided MD5 refers to the original file. The dataset was created as follow : First, we used GitHub SEART (on July 1th, 2026) to get a list of every non-fork repositories created at least one year before. having at least 300 commits and at least 10 stars (SEART default) where at least one commit was made in the last year. (The goal of these filter is to exclude experimental and personnal repositories). We applied the tool cofee (available on GitHub) (version 1.0.0) on every repository given by SEART. We concatenated every files given by cofee into a csv and compressed it. We added the column uid via a script available in the replication package, as well as transformed some columns into boolean columns for ease of use (see uid.py and posprocessing scipts). Finally, we archived the folder with pigz. Using the extracted data, the following files were created : all_content.tar.gz contains the dataset of context/skill/subagent file histories. context_content.tar.gz is a similar file containing only context files. all_metadata.csv.gz contains the metadata for the extracted context/skill/subagent files. context_metadata.csv.gz is a similar file containing metadata only for context files. repositories.csv.gz contains metadata about the GitHub repositories containing the workflow files. These metadata were extracted using the SEART Search tool, and are provided as is. The metadata is separated in different columns: repository: The repository (author and repository name) from which the context file was extracted. The separator "/" allows to distinguish between the author and the repository name agent_name: The agent group (e.g., claude) to which the file belongs to. category: The file category (i.e., context, skill or subagent) to which the file belongs to. uid: Unique identifier for a given file surviving modifications and renames. It is generated on the addition of the file and stays the same until the file is deleted. Renamings does not change the identifier. commit_hash: The commit hash returned by git author_name: The name of the author that changed this file author_email: The email of the author that changed this file committer_name: The name of the committer committer_email: The email of the committer committed_date: The committed date of the commit authored_date: The authored date of the commit file_path: The path to this file in the repository previous_file_path: The path to this file before it has been touched file_hash: The name of the related workflow file in the dataset. previous_file_hash: The name of the related workflow file in the dataset, before it has been touched git_change_type: A single letter (A,D, M or R) representing the type of change made to the workflow (Added, Deleted, Modified or Renamed). This letter is given by gitpython and provided as is. This can be unreliable to detect addition or deletion of a file in the scope of the dataset. Please use file_hash and previous_file_hash to detect the addition or deletion of a file in the scope of this dataset. symbolic_link: A boolean flag signaling whether the file is a symbolic link (i.e., a pointer or alias to another file). previous_symbolic_link: A boolean flag signaling whether the file was a symbolic link before it was touched. Both all_metadata.csv.gz and context_metadata.csv.gz are following this format.



