Open Source Friday with Keploy - AI-Powered Testing for Developers!

GitHubAbout 7 min readJul 19, 2025Watch original
THE SUMMARYAI-generated

Key Concepts

  • GitHub Copilot: An AI pair programmer that assists developers with coding tasks.
  • Copilot Chat: An interface within GitHub where users can interact with Copilot using natural language.
  • GitHub Issues: A system for tracking tasks, bugs, and feature requests within a GitHub repository.
  • Model Context Protocol (MCP): A protocol that allows Copilot to access external tools and data sources, such as Notion.
  • GitHub Actions: A platform for automating software workflows, such as building, testing, and deploying code.
  • Kiplo: An open-source tool for automated API testing with AI.
  • EBPF (Extended Berkeley Packet Filter): A technology used by Kiplo to intercept network calls at the kernel level.
  • API Testing: Testing the functionality, reliability, and performance of APIs.
  • Test Cases: A set of conditions or variables under which a tester will determine whether an application, software system or one of its features is working as it was designed.
  • Test Suite: A collection of test cases that are intended to be used to test a software program to show that it has some specified set of behaviors.

GitHub Copilot and Issue Creation

  • Copilot Chat allows users to create GitHub issues directly from the chat interface.
  • Example: A product team using Copilot Airways wants to create an issue for user reviews on the travel guide, which is documented in Notion.
  • Copilot can create a GitHub issue with a link to the Notion document, providing traceability for the engineering team.
  • Copilot coding agent can be assigned issues directly from Copilot Chat.

Model Context Protocol (MCP)

  • MCP enables Copilot to access external tools and data sources.
  • Example: Copilot accesses product documentation in Notion using MCP.
  • Copilot uses multiple tool calls to gather information from Notion and incorporate it into its workflow.
  • MCP servers and associated tools are configured during Copilot setup in GitHub Actions.
  • MCP.json file configures the MCP servers that are available.
  • Different server types: stdio serverance events (SSE).
  • Stdio can run npm packages, pip packages, docker images, or local commands.
  • Requires authentication with a personal access token (PAT) with specific permissions.
  • PAT should not be stored in source code.

Copilot and Code Review

  • Copilot can summarize changes made in a pull request, providing context for code review.
  • This helps reviewers understand the changes and provide more effective feedback.

Building a Front-End Project with Copilot

  • Copilot can assist in building front-end projects, such as React clients.
  • Copilot Chat can provide detailed descriptions of the code in a directory.
  • Copilot can edit multiple files at once, allowing for iterative development.
  • Developers can provide additional suggestions to Copilot, refining the code.
  • Example: Building a fully functional MVP of an application in a short time with Copilot.

Pushing to GitHub with Copilot

  • Copilot can push repositories to GitHub, including creating new repositories.
  • This functionality is enabled by MCP support.
  • MCP allows the agent to use tools to interact with GitHub.

Open Source Friday and Kiplo

  • Open Source Friday is a show where maintainers discuss their open-source projects.
  • Niha, a core maintainer of Kiplo, discusses the tool.
  • Kiplo is an agent API platform based on EBPF that intercepts network calls and converts API traffic to test cases and data mocks.
  • Kiplo aims to provide good test coverage without requiring developers to spend excessive time writing test cases.
  • Kiplo was created out of frustration with the time spent fixing or writing test cases.

Kiplo vs. Traditional Testing Tools

  • Traditional record and playback tools require manual preparation of mocks and ensuring the test environment is in the same state.
  • Kiplo records database calls and external service interactions, automating the creation of mocks.
  • Kiplo records the database call as well while recording.

Kiplo Demo

  • Niha demonstrates Kiplo by recording API test cases for GitHub.
  • She opens github.com, records some calls, and copies the interactions.
  • She uses these curls as input, along with the open API schema of GitHub.
  • Kiplo generates test cases based on the schema and recorded interactions.
  • Example test case: Create a repository, check if the API call returns 201, create an issue, get an issue, and clean up the repository.
  • Kiplo generates multiple edge cases for the GitHub API.
  • Test cases can be run whenever there is a new release.
  • Kiplo can be integrated with GitHub Actions.

Kiplo Configuration

  • Configuring Kiplo in a repository is simple, requiring adding an action to the workflow file in GitHub repository.
  • For developers who prefer to record their own flows, Kiplo can wrap a JAR file and record API calls and responses.
  • Kiplo also records mocks, eliminating the need to set up databases.
  • Test cases can be run without a database.

Kiplo and Complex Offflows

  • Kiplo handles complex offflows by recording large payloads and allowing interchaining of APIs.
  • The response of one API can be used as the request of another.

Kiplo Language Support

  • Kiplo is language agnostic.
  • The underlying LLMs can be chosen by developers.
  • Kiplo focuses on the types of databases or protocols being used.
  • Currently supports popular databases like MongoDB, Postgress, and MySQL.

Kiplo CI/CD Integration

  • Kiplo can be integrated with any CI/CD platform where a binary can be downloaded and EBPF hooks can be plugged in.
  • It is commonly used with GitHub Actions, GitLab, and Bitbucket.

Kiplo API Traffic Capture

  • Kiplo captures real-time API traffic by monitoring network calls.
  • It uses a Chrome extension to see what's happening behind the scenes of the application.
  • It uses all those events to automatically generate test cases.

Kiplo Tech Stack

  • Kiplo is built in Golang.
  • It uses EBPF to intercept network calls at the kernel layer.
  • This eliminates the need for code integration or SDKs.

Kiplo and Evolving APIs

  • Kiplo monitors APIs and generates test cases for new APIs.
  • If something is breaking due to schema changes, Kiplo can self-heal the test case using AI.

Kiplo Platform Overview

  • The Kiplo platform allows users to share test suites with colleagues, view reports, and add resources.
  • It provides a dashboard to visualize which endpoints have been covered from the schema.
  • It is designed to be easy to get up and running within a few minutes.

Challenges in Building Kiplo

  • The most challenging part was mapping API requests to the dependencies of the application without injecting any SDK.
  • This required writing protocol parsers, which did not exist.
  • Building a proxy and parsers for the database was difficult and time-consuming.

Kiplo and Community

  • Kiplo has received a lot of help from the community.
  • Users have provided feedback and helped identify failing points.
  • The community has also contributed to new features, such as gRPC support.

Kiplo and Open Source Contributions

  • Kiplo accepts open-source contributions.
  • There are over 100 issues on the repository.
  • Contributions can include adding new databases, language frameworks, and reporting coverage libraries.
  • Kiplo also accepts contributions from non-coding backgrounds, such as blogs or tutorials.

Kiplo and Dynamic Values

  • Kiplo handles dynamic or non-deterministic values, such as UYU ids or timestamps, by adding them as noise.
  • Noisy fields are not compared in the actual and expected responses.
  • Wildcard entries can be added to ignore fields completely.

Conclusion

  • GitHub Copilot and Kiplo are powerful tools that can help developers improve their productivity and code quality.
  • Copilot assists with coding tasks, issue creation, and code review.
  • Kiplo automates API testing, reducing the time and effort required to write and maintain test cases.
  • Both tools are designed to be easy to use and integrate with existing workflows.

AI summaries can miss context or contain errors. Check important details against the original video.

Go a little deeper.

Have a question about this video? Load its transcript to open the video chat.