How to Request a Feature for Graphify: A Complete Contribution Guide
To request a feature for Graphify, open a GitHub Issue using the "Feature request" template, describe the problem and your proposed solution, apply the enhancement label, and reference specific source files like graphify/skill-codex.md or graphify/detect.py to demonstrate architectural context.
Graphify is an open-source graph-building toolkit maintained by Graphify-Labs. Understanding how to request a feature for Graphify ensures your proposal aligns with the project's architecture and receives timely review from maintainers. The repository explicitly encourages community contributions through its structured issue workflow, as documented in the "What to contribute" section of README.md (line ≈ 833).
Step-by-Step Guide to Submitting a Feature Request
1. Open a GitHub Issue
Navigate to the Graphify Issues page and click New issue. This initiates the formal proposal process and creates a public record for community discussion.
2. Select the Feature Request Template
Choose the "Feature request" template from the available options. This template pre-populates the issue with sections requiring a clear title, concise description, use-case scenarios, and relevant code snippets, ensuring you provide consistent information.
3. Describe the Problem and Solution
Explain why the feature is needed, what problem it solves, and how you envision the implementation working within Graphify’s architecture. Specify whether the feature should function as a new skill, a CLI flag, or an extension to the graph-building pipeline.
4. Reference Key Source Files
Include references to existing components that your feature will interact with. For skill-related proposals, point to graphify/skill-codex.md or graphify/skill-amp.md to show how the new capability fits into the skill registration system. For detection logic modifications, reference graphify/detect.py.
5. Label and Submit
Apply the enhancement (or feature) label so maintainers can triage the issue correctly. After submission, be prepared to answer follow-up questions from maintainers or other contributors. If the feature gains traction, you may be invited to submit a Pull Request implementing the changes.
Code Examples to Include in Your Request
Providing concrete implementation sketches helps maintainers evaluate technical feasibility. Include code blocks that demonstrate intended usage patterns.
Proposing a New Skill
If your feature adds a new skill to the system, provide a sample skill definition file:
# graphify/skill-myfeature.md
# Register a new skill that extracts custom annotations
name: myfeature
description: |
Handles `# MYFEATURE:` comments and links them to the nearest function definition.
commands:
- /myfeature .
Explain that the new skill will be auto-loaded by graphify install and can be invoked via /myfeature . within the CLI.
CLI Flag Prototype
For command-line enhancements, specify the proposed syntax and behavior:
# Proposed CLI usage
graphify run --my-feature
Describe how this flag would enable a new detector in graphify/detect.py or modify the graph-building pipeline.
API Extension
If the feature extends the Python API, provide a function signature example:
# In graphify/api.py
def enable_my_feature(graph: Graph) -> Graph:
"""Activates the MyFeature transformer on the supplied graph."""
# implementation details …
return graph
This demonstrates how developers could programmatically invoke the feature from their own scripts.
Critical Source Files to Reference
Supporting your request with references to specific source files demonstrates technical due diligence:
README.md– Contains the "What to contribute" guidance (line ≈ 833) and links to the issue trackergraphify/skill-codex.md– Example of an existing skill definition, useful as a template for new skillsgraphify/skill-amp.md– Demonstrates how skills wire into the CLI throughgraphify install.github/ISSUE_TEMPLATE/feature_request.md– The official template structuring feature requestsgraphify/detect.py– Core detection logic, often the target of new feature integrations
Summary
- Open a GitHub Issue using the dedicated feature request template
- Describe the use case and proposed implementation architecture clearly
- Label the issue with
enhancementfor proper triage - Reference source files like
graphify/skill-codex.mdorgraphify/detect.pyto show architectural fit - Provide code examples illustrating the intended usage pattern
- Engage in discussion to refine the proposal with maintainer feedback
Frequently Asked Questions
How do I know if my feature aligns with Graphify's roadmap?
Review the existing issues and README.md to understand current priorities. Features that extend the skill system or enhance the detection pipeline in graphify/detect.py typically align well with the project's architecture. If uncertain, open a discussion issue before submitting a formal feature request.
What makes a feature request more likely to be accepted?
Requests that include concrete use cases, reference specific source files like graphify/skill-amp.md, and provide working code prototypes receive priority. Demonstrating that you understand how the feature integrates with graphify install or the CLI parser shows technical readiness and reduces implementation burden on maintainers.
Can I implement the feature myself after requesting it?
Yes. The Graphify-Labs team explicitly encourages contributors to move from issue to implementation. After submitting your request and receiving maintainer feedback, you can fork the repository and submit a Pull Request referencing the original issue. Include tests that verify integration with existing components like the skill loader or detection engine.
Where do I find the official feature request template?
The template resides in .github/ISSUE_TEMPLATE/feature_request.md within the repository. When you click "New issue" on GitHub, the interface automatically presents this template. If the template does not appear, manually structure your issue to match the sections found in that file: clear title, description, use cases, and proposed implementation details.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →