Hi there! Thanks for taking the time to contribute. Just to be clear, this repo is meant to host my solutions to Code Jam problems. Thus, I won't accept pull requests for solutions from others, even if they're better. However, I'll consider bug fixes, improved docs, and even optimizations that don't change the basic idea of a solution. I'll also consider changes to the CLI app that don't change or add to the solution algorithms.
Report issues on GitHub. The guidelines in this section are based on Atom's contributor guidelines..
A good bug report has:
- A clear, descriptive title
- Exact steps to reproduce the issue
- If you're not sure, describe what you were doing before the issue appeared
- Examples demonstrating the steps
- What happened, what you expected to happen, and why you expected it
- Screenshots/GIFs
You can also suggest an enhancement as an issue. Make sure to include:
- A clear, descriptive title
- A detailed description of the enhancement
- Examples to demonstrate the proposal
- The current behavior, the behavior you want, and why
- Screenshots/GIFs
- Why the enhancement would be useful
In the CodeJam
directory, there is a Visual Studio solution.
The CodeJam
project contains code for the CLI and the Code Jam solutions. It
can be built for both Debug and Release targets.
The CodeJam.Tests
project contains tests for the Code Jam solutions and the
CLI. The tests can be ran using Visual Studio's built-in test runner. The
CodeJam
project must be built for the Debug target before all the tests will
pass, which is done for you if you build CodeJam.Tests
for the Debug target.
Ensure that your Debug build of the CodeJam
project is up-to-date.
Make sure that Terminalizer is installed.
npm install -g terminalizer
In the root of the repository, run
terminalizer record demo-gif-recording --config config\demo-gif-config
Terminalizer starts up PowerShell. Next, type the following lines:
.\CodeJam --problem coin-jam
1
6 3
.\CodeJam
.\CodeJam -v
exit
Now, Terminalizer's stored a recording of your PowerShell session in
demo-gif-recording.yml
. You can check out this recording by running
terminalizer play demo-gif-recording
.
Next, render the recording into a GIF.
terminalizer render demo-gif-recording --output demo.gif
Releases should be made using GitHub's Release feature. Release tags should
start with a v
followed by a version number major.minor.patch
. Use
semantic versioning.
A ZIP file with the following should be shipped with each release:
- A Release build of the
CodeJam
project (CodeJam.exe
) - Other necessary DLLs, like
FSharp.Core.dll
andSystem.ValueTuple.dll
- A file with licenses for the included dependencies (
LICENSES.md
)
In the release notes, there should instructions to install the .NET 4 redistributable.
On behavior: Be nice to each other, be willing to accept critique.