Skip to content

docs: expand CONTRIBUTING.md with local development setup#314

Open
giwaov wants to merge 1 commit into
KiiChain:mainfrom
giwaov:docs/contributing-guide
Open

docs: expand CONTRIBUTING.md with local development setup#314
giwaov wants to merge 1 commit into
KiiChain:mainfrom
giwaov:docs/contributing-guide

Conversation

@giwaov
Copy link
Copy Markdown

@giwaov giwaov commented Apr 2, 2026

Summary

Expand CONTRIBUTING.md with a complete local development setup guide, as requested in #64.

Changes

New "Local Development Setup" section

Covers every step a new contributor needs:

Section What it covers
Prerequisites Go 1.24+, Git, GNU Make, Docker — with version-check commands
Clone and Build Fork → clone → add upstream → create branch → make build / make install (with non-Make fallback)
Running Tests make test-unit, make test-unit-cover, make test-race, go test ./...
End-to-end Tests Docker image build steps + make test-e2e
Linting and Formatting make lint, make lint-fix, make format
Protobuf make proto-gen, make proto-format, make proto-lint
EVM Precompiles make compile-evm-precompiles

Bug fix: stale link references

The footer link references ([issues], [prs], [github], etc.) pointed to KiiChain/kiijs-sdk instead of KiiChain/kiichain. Fixed all four.

Closes #64

Add sections covering prerequisites, cloning/building, running unit
and e2e tests, linting/formatting, protobuf generation, and EVM
precompile compilation. Also fix stale link references that pointed
to kiijs-sdk instead of kiichain.

Closes KiiChain#64
@giwaov giwaov requested a review from jhelison as a code owner April 2, 2026 12:48
Copilot AI review requested due to automatic review settings April 2, 2026 12:48
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 2, 2026

Walkthrough

This change updates project documentation to improve developer onboarding. The CONTRIBUTING.md file is expanded with a new "Local Development Setup" section containing prerequisites, build instructions, test execution commands, and developer workflows for protobuf and EVM precompiles. References to "Kiijs" are updated to "KiiChain" throughout, and GitHub repository URLs are corrected from kiijs-sdk to kiichain. The CHANGELOG.md is updated with an entry documenting these documentation additions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely summarizes the main change: expanding CONTRIBUTING.md with local development setup documentation.
Description check ✅ Passed The description is well-related to the changeset, providing a detailed breakdown of the new Local Development Setup section and bug fix for stale link references.
Linked Issues check ✅ Passed The PR fully addresses issue #64 requirements: adds cloning, prerequisites (Go, Docker), build instructions (make build/install with fallback), running unit tests, e2e tests, plus additional developer workflows.
Out of Scope Changes check ✅ Passed All changes are in scope: the new Local Development Setup section and bug fix for link references directly address issue #64 requirements; CHANGELOG.md update documents the contributions appropriately.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Expands the contributor documentation to include a step-by-step local development setup guide for the KiiChain repository, and fixes stale GitHub link references.

Changes:

  • Add a new “Local Development Setup” section to CONTRIBUTING.md covering prerequisites, build, tests (unit/e2e), lint/format, protobuf, and EVM precompile workflows.
  • Fix footer link references in CONTRIBUTING.md that incorrectly pointed to KiiChain/kiijs-sdk.
  • Add a corresponding “Added” entry to CHANGELOG.md referencing issue #64.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
CONTRIBUTING.md Adds local dev setup documentation and corrects GitHub link references.
CHANGELOG.md Records the documentation expansion in the Unreleased “Added” section.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CONTRIBUTING.md
Comment on lines +34 to +39
| Tool | Version | Required |
|------|---------|----------|
| [Go](https://golang.org/dl/) | 1.24+ | Yes |
| [Git](https://git-scm.com/) | any recent | Yes |
| [GNU Make](https://www.gnu.org/software/make/) | any recent | Recommended |
| [Docker](https://docs.docker.com/get-docker/) | any recent | For e2e tests only |
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The prerequisites table syntax has an extra leading | on each row (|| Tool | ...), which renders an empty first column in Markdown. Use standard table formatting (| Tool | Version | Required | and | --- | --- | --- |) so the table renders correctly on GitHub.

Copilot uses AI. Check for mistakes.
Comment thread CONTRIBUTING.md
| [Go](https://golang.org/dl/) | 1.24+ | Yes |
| [Git](https://git-scm.com/) | any recent | Yes |
| [GNU Make](https://www.gnu.org/software/make/) | any recent | Recommended |
| [Docker](https://docs.docker.com/get-docker/) | any recent | For e2e tests only |
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line says Docker is "for e2e tests only", but the Protobuf targets (make proto-gen/format/lint) run a Docker-based proto-builder image (see Makefile protoImage=$(DOCKER) run ...). Please update the prerequisites to reflect that Docker is also required for protobuf workflows (or document an alternative non-Docker path).

Copilot uses AI. Check for mistakes.
Comment thread CONTRIBUTING.md
Comment on lines +102 to +104
docker build -t kiichain/kiichaind-e2e -f Dockerfile .
cd tests/e2e/docker && docker build -t kiichain/hermes-e2e:1.0.0 -f hermes.Dockerfile .
cd ../../..
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doc uses raw docker build/cd ... && docker build commands for e2e images, but the Makefile already provides make docker-build-debug, make docker-build-hermes, and make docker-build-all. Referencing the Makefile targets here would reduce duplication and prevent the docs from drifting if image names/paths change.

Suggested change
docker build -t kiichain/kiichaind-e2e -f Dockerfile .
cd tests/e2e/docker && docker build -t kiichain/hermes-e2e:1.0.0 -f hermes.Dockerfile .
cd ../../..
make docker-build-debug # Build kiichain e2e image
make docker-build-hermes # Build Hermes e2e image
# Or build all e2e images at once:
# make docker-build-all

Copilot uses AI. Check for mistakes.
Comment thread CONTRIBUTING.md
# Contribution Guidelines

Contributions to the Kiijs library are welcome. As a contributor, here are the guidelines we would like you to follow:
Contributions to KiiChain are welcome. As a contributor, here are the guidelines we would like you to follow:
Copy link

Copilot AI Apr 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The intro now refers to "KiiChain", but this file still contains references to "Kiijs" later (e.g., "The Kiijs team..." and "code under Kiijs"), which is inconsistent and confusing for contributors. Please update those remaining mentions so the project name is consistent throughout the guide.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
CONTRIBUTING.md (3)

175-175: ⚠️ Potential issue | 🟡 Minor

Update remaining "Kiijs" reference to "KiiChain".

This line still references "The Kiijs team" which is inconsistent with the terminology update made elsewhere in the document.

📝 Proposed fix
-The Kiijs team reserves the right not to accept pull requests from community members who haven't been good citizens of the community. Such behavior includes not following our [code of conduct][coc] and applies within or outside the managed channels.
+The KiiChain team reserves the right not to accept pull requests from community members who haven't been good citizens of the community. Such behavior includes not following our [code of conduct][coc] and applies within or outside the managed channels.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 175, Update the remaining "Kiijs" reference to
"KiiChain": locate the sentence containing the exact phrase "The Kiijs team
reserves the right not to accept pull requests..." and replace "The Kiijs team"
with "The KiiChain team" so the document consistently uses the updated project
name; ensure linkage and surrounding punctuation remain unchanged.

205-205: ⚠️ Potential issue | 🟡 Minor

Update remaining "Kiijs" reference to "KiiChain".

The API compatibility guidance still references "Kiijs" which should be updated to "KiiChain" for consistency.

📝 Proposed fix
-- Keep API compatibility in mind when you change any code under `Kiijs`. Above version `1.0.0`, breaking changes can happen across versions with different left digit. Below version `1.0.0`, they can happen across versions with different middle digit. Reviewers of your pull request will comment on any API compatibility issues.
+- Keep API compatibility in mind when you change any code under `KiiChain`. Above version `1.0.0`, breaking changes can happen across versions with different left digit. Below version `1.0.0`, they can happen across versions with different middle digit. Reviewers of your pull request will comment on any API compatibility issues.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 205, Replace the remaining occurrence of the project
name "Kiijs" with "KiiChain" in the CONTRIBUTING.md API compatibility paragraph;
specifically update the text that currently reads "Keep API compatibility in
mind when you change any code under `Kiijs`." to use `KiiChain` so the
documentation consistently references the correct project name.

165-165: ⚠️ Potential issue | 🟡 Minor

Fix broken link reference.

The text references [developing] but this link is not defined anywhere in the document.

🔗 Proposed fix

Either define the link at the bottom of the document or replace the reference with the actual section:

-8. Run all tests and checks locally, as described in the [development guide][developing], and ensure they pass. This saves CI hours and ensures you only commit clean code.
+8. Run all tests and checks locally, as described in the [Local Development Setup](`#local-development-setup`) section, and ensure they pass. This saves CI hours and ensures you only commit clean code.

Alternatively, if a separate development guide exists, add the link definition at the bottom with the other references.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` at line 165, The markdown reference [developing] in the
sentence "Run all tests and checks locally, as described in the [development
guide][developing], and ensure they pass." is undefined; fix it by either adding
a link definition for [developing] at the bottom alongside the other reference
definitions pointing to the development guide URL or replacing the bracketed
reference inline with the actual section title or relative anchor (e.g., the
"development guide" heading) so the link resolves correctly; update the document
so the symbol [developing] is defined and points to the intended resource.
🧹 Nitpick comments (1)
CONTRIBUTING.md (1)

98-108: Consider simplifying the Docker build commands.

The current approach with cd navigation works but could be more maintainable.

♻️ Optional refactor for clearer Docker builds
 # Build the required Docker images first
 docker build -t kiichain/kiichaind-e2e -f Dockerfile .
-cd tests/e2e/docker && docker build -t kiichain/hermes-e2e:1.0.0 -f hermes.Dockerfile .
-cd ../../..
+docker build -t kiichain/hermes-e2e:1.0.0 -f tests/e2e/docker/hermes.Dockerfile tests/e2e/docker

 # Run e2e tests
 make test-e2e

This eliminates directory changes and makes the build context explicit.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@CONTRIBUTING.md` around lines 98 - 108, Update the Docker build examples in
CONTRIBUTING.md to avoid changing directories: replace the two-step builds that
use `cd` (the `cd tests/e2e/docker && docker build -t kiichain/hermes-e2e:1.0.0
-f hermes.Dockerfile .` line) with explicit docker build commands that set the
Dockerfile path and the build context (e.g., `docker build -t
kiichain/hermes-e2e:1.0.0 -f tests/e2e/docker/hermes.Dockerfile
tests/e2e/docker`) so all builds are self-contained and more maintainable; keep
the top-level build command and the `make test-e2e` invocation unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@CONTRIBUTING.md`:
- Line 175: Update the remaining "Kiijs" reference to "KiiChain": locate the
sentence containing the exact phrase "The Kiijs team reserves the right not to
accept pull requests..." and replace "The Kiijs team" with "The KiiChain team"
so the document consistently uses the updated project name; ensure linkage and
surrounding punctuation remain unchanged.
- Line 205: Replace the remaining occurrence of the project name "Kiijs" with
"KiiChain" in the CONTRIBUTING.md API compatibility paragraph; specifically
update the text that currently reads "Keep API compatibility in mind when you
change any code under `Kiijs`." to use `KiiChain` so the documentation
consistently references the correct project name.
- Line 165: The markdown reference [developing] in the sentence "Run all tests
and checks locally, as described in the [development guide][developing], and
ensure they pass." is undefined; fix it by either adding a link definition for
[developing] at the bottom alongside the other reference definitions pointing to
the development guide URL or replacing the bracketed reference inline with the
actual section title or relative anchor (e.g., the "development guide" heading)
so the link resolves correctly; update the document so the symbol [developing]
is defined and points to the intended resource.

---

Nitpick comments:
In `@CONTRIBUTING.md`:
- Around line 98-108: Update the Docker build examples in CONTRIBUTING.md to
avoid changing directories: replace the two-step builds that use `cd` (the `cd
tests/e2e/docker && docker build -t kiichain/hermes-e2e:1.0.0 -f
hermes.Dockerfile .` line) with explicit docker build commands that set the
Dockerfile path and the build context (e.g., `docker build -t
kiichain/hermes-e2e:1.0.0 -f tests/e2e/docker/hermes.Dockerfile
tests/e2e/docker`) so all builds are self-contained and more maintainable; keep
the top-level build command and the `make test-e2e` invocation unchanged.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 58a29604-1b12-45c2-b1cc-bea3e6a4211a

📥 Commits

Reviewing files that changed from the base of the PR and between 5c894a6 and 0e4d8c2.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • CONTRIBUTING.md

@giwaov
Copy link
Copy Markdown
Author

giwaov commented Apr 10, 2026

Hi @jhelison — friendly ping! This PR is ready for review whenever you have a moment. All CI checks are passing. Happy to address any feedback. Thanks!

@giwaov
Copy link
Copy Markdown
Author

giwaov commented Apr 21, 2026

Hey @Thaleszh, would love to get your eyes on this when you have a moment. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve “Contributing” guide with local dev steps

2 participants