Skip to content

cmpct/cmpctircd

Repository files navigation

cmpct logo

cmpctircd

Open Source Love GitHub PRs Welcome GitHub issues GitHub Workflow Status (branch) GitHub Repo stars

compact eye-are-see-dee
An IRC server software; written with modern tools.

Under heavy development. It'll be clear when it is production ready.

Contact

Feel free to report any bugs as an issue.

We run a live server at irc://irc.cmpct.info:+6697/stratcom, come and join us!

Quickstart

Dependencies

  • .NET Core 5.0

Clone and run

git clone https://github.com/cmpct/cmpctircd

cd cmpctircd/cmpctircd

# Fetch dependencies
dotnet restore

# Adjust App.config to suit your preferences
dotnet run

Docker container

wget https://raw.githubusercontent.com/cmpct/cmpctircd/master/Dockerfile

mkdir cmpctircd-docker
# Place your App.config and so on in cmpctircd-docker

# Your cmpctircd-docker folder will be populated with logs once the IRCd runs
docker build -t cmpctircd .
docker run -v $HOME/cmpctircd-docker:/cmpctircd/ --name cmpctircd -p 6667:6667 -p 6697:6697 -d cmpctircd

Contributing

Many hands make light work, we welcome you to help us out.

Before you start working, check in on the project's issues and discuss your plans in order to avoid repeated or unnecessary work.

Workflow

If you're new here, we recommend that you create a fork of the project in order to commit your changes to it. After creating a fork, you can clone the repository from your own account:

# Clone the repository from your own account
git clone https://github.com/<YOUR_USERNAME>/cmpctircd cmpctircd

It is also recommended that you add the main repository as a remote, so that you can keep up to date with the project:

# Add the main repository as "upstream"
git remote add upstream https://github.com/cmpct/cmpctircd cmpctircd

# Pull from the upstream repository
git pull upstream master

You must make your changes in a new branch with a name related to the task you are performing:

# Create a new branch for your task
git checkout -b feature/17-Implement-LIST

Branches are usually prefixed with the corresponding task type, such as bugfix or feature, as above.

Please follow the below convention for commit messages:

<component>: <description>

<remarks>

<task type>: #<task number>

For example:

Handlers: Add LIST command handler.

New users will now be able to find a channel to join.

feature: #17

When you are finished making your changes, push them to your remote repository and create a pull request for us to review.

Tests

This project uses NUnit for testing. Tests are located in the cmpctircd-tests folder.

Please run the tests before and after making changes, to make sure you have not broken anything before submitting your pull request:

# Run all tests
dotnet tests

If you are adding a feature, please write tests for the feature's components. If you are writing a bugfix, where possible, please write a regression test for it.


a prjct by frnds @ cmpct.