josepablocam / changestructor

Demo repo
MIT License
0 stars 0 forks source link

Project

test

changestructor overview.

Docker setup

The easiest way to get setup, for development, will be to use the provided docker container. You should install Docker, if you don't already have it on your machine.

Once you have done so, you can call

make docker

to build the container.

You can then launch the container with

docker run -it chg-container

and then just make sure to append --ui cli to both chg annotate and chg ask. (We have not yet setup propert X11 forwarding to use the Tkinter UI).

Standard Setup

Run

make

and make sure to add the following to your PATH variable

export PATH=${PATH}:$(realpath bin/)

from changestructor's source root folder. You can do this by just running

source init.sh

You may want to add this environment variable to your usual dot files instead of running this script each time.

Annotate

After you have staged your git changes (with git add), in the corresponding project.

chg annotate

Ask

Similarly, within the same git repository subtree

chg ask

will bring up the (very simple) UI for question asking.

Build from an existing git repo

The idea here is that we take the git log and:

git-to-chg

builds changestructor database.

chg-to-index

creates a queryable index and trains a question ranker, as such you should run this step before you start using chg. You may also want to run this command periodically to update the system.

Some chg details

Source code overview

Development

If you want to make source changes, you will likely want to make you activate the corresponding conda environment (installed and built during chg installation) by running

source chg/scripts/defaults.sh
conda activate ${CHG_CONDA_ENV}

TODOs

Ideas

Related Work/ Motivation

FAQ

We keep a FAQ at https://docs.google.com/document/d/1drCEYYsPs5rCX4BFfU2Px1txLg8FqKNE-Pk4dGINd1A/edit?usp=sharing

If you have the link, you have editing rights -- so please be careful and avoid sharing the link with people outside of the project (or share a readonly version).

Implementation needed

Templatized questions

Need to:

Commit message generation