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.





