mteb/BrightProRoboticsRetrieval huggingface dataset:
* [ Code  ](/ros2torial/ros2_ethercat)
  * [ Issues  ](/ros2torial/ros2_ethercat/issues)
  * [ Pull requests  ](/ros2torial/ros2_ethercat/pulls)
  * [ Actions  ](/ros2torial/ros2_ethercat/actions)
  * [ Projects  ](/ros2torial/ros2_ethercat/projects)
  * [ Security  ](/ros2torial/ros2_ethercat/security)
  * [ Insights  ](/ros2torial/ros2_ethercat/pulse)
License

[ Apache-2.0 license ](/ICube-Robotics/ethercat_driver_ros2/blob/main/LICENSE)

[ 111  stars ](/ICube-Robotics/ethercat_driver_ros2/stargazers) [ 28  forks
](/ICube-Robotics/ethercat_driver_ros2/forks) [ Branches  ](/ICube-
Robotics/ethercat_driver_ros2/branches) [ Tags  ](/ICube-
Robotics/ethercat_driver_ros2/tags) [ Activity  ](/ICube-
Robotics/ethercat_driver_ros2/activity)

[ Star  ](/login?return_to=%2FICube-Robotics%2Fethercat_driver_ros2)

[ Notifications ](/login?return_to=%2FICube-Robotics%2Fethercat_driver_ros2)

  * [ Code  ](/ICube-Robotics/ethercat_driver_ros2)
  * [ Issues  13  ](/ICube-Robotics/ethercat_driver_ros2/issues)
  * [ Pull requests  4  ](/ICube-Robotics/ethercat_driver_ros2/pulls)
  * [ Discussions  ](/ICube-Robotics/ethercat_driver_ros2/discussions)
  * [ Actions  ](/ICube-Robotics/ethercat_driver_ros2/actions)
  * [ Projects  0  ](/ICube-Robotics/ethercat_driver_ros2/projects)
  * [ Security  ](/ICube-Robotics/ethercat_driver_ros2/security)
  * [ Insights  ](/ICube-Robotics/ethercat_driver_ros2/pulse)

Additional navigation options

  * [ Code  ](/ICube-Robotics/ethercat_driver_ros2)
  * [ Issues  ](/ICube-Robotics/ethercat_driver_ros2/issues)
  * [ Pull requests  ](/ICube-Robotics/ethercat_driver_ros2/pulls)
  * [ Discussions  ](/ICube-Robotics/ethercat_driver_ros2/discussions)
  * [ Actions  ](/ICube-Robotics/ethercat_driver_ros2/actions)
  * [ Projects  ](/ICube-Robotics/ethercat_driver_ros2/projects)
  * [ Security  ](/ICube-Robotics/ethercat_driver_ros2/security)
  * [ Insights  ](/ICube-Robotics/ethercat_driver_ros2/pulse)
* [ Appendix ](../../tutorials/docs/docker_dev.html#appendix)
        * [ Nav2 Development Image ](../../tutorials/docs/docker_dev.html#nav2-development-image)
        * [ Nav2 Deployment Image ](../../tutorials/docs/docker_dev.html#nav2-deployment-image)
  * [ Plugin Tutorials ](../index.html)
    * [ Writing a New Costmap2D Plugin ](writing_new_costmap2d_plugin.html)
      * [ Overview ](writing_new_costmap2d_plugin.html#overview)
      * [ Requirements ](writing_new_costmap2d_plugin.html#requirements)
      * [ Tutorial Steps ](writing_new_costmap2d_plugin.html#tutorial-steps)
        * [ 1- Write a new Costmap2D plugin ](writing_new_costmap2d_plugin.html#write-a-new-costmap2d-plugin)
        * [ 2- Export and make GradientLayer plugin ](writing_new_costmap2d_plugin.html#export-and-make-gradientlayer-plugin)
        * [ 3- Enable the plugin in Costmap2D ](writing_new_costmap2d_plugin.html#enable-the-plugin-in-costmap2d)
        * [ 4- Run GradientLayer plugin ](writing_new_costmap2d_plugin.html#run-gradientlayer-plugin)
    * [ Writing a New Planner Plugin ](writing_new_nav2planner_plugin.html)
      * [ Overview ](writing_new_nav2planner_plugin.html#overview)
      * [ Requirements ](writing_new_nav2planner_plugin.html#requirements)
      * [ Tutorial Steps ](writing_new_nav2planner_plugin.html#tutorial-steps)
        * [ 1- Creating a new Planner Plugin ](writing_new_nav2planner_plugin.html#creating-a-new-planner-plugin)
        * [ 2- Exporting the planner plugin ](writing_new_nav2planner_plugin.html#exporting-the-planner-plugin)
        * [ 3- Pass the plugin name through params file ](writing_new_nav2planner_plugin.html#pass-the-plugin-name-through-params-file)
        * [ 4- Run StraightLine plugin ](writing_new_nav2planner_plugin.html#run-straightline-plugin)
    * [ Writing a New Controller Plugin ](writing_new_nav2controller_plugin.html)
      * [ Overview ](writing_new_nav2controller_plugin.html#overview)
      * [ Requirements ](writing_new_nav2controller_plugin.html#requirements)
      * [ Tutorial Steps ](writing_new_nav2controller_plugin.html#tutorial-steps)
        * [ 1- Create a new Controller Plugin ](writing_new_nav2controller_plugin.html#create-a-new-controller-plugin)
        * [ 2- Exporting the controller plugin ](writing_new_nav2controller_plugin.html#exporting-the-controller-plugin)
        * [ 3- Pass the plugin name through the params file ](writing_new_nav2controller_plugin.html#pass-the-plugin-name-through-the-params-file)
        * [ 4- Run Pure Pursuit Controller plugin ](writing_new_nav2controller_plugin.html#run-pure-pursuit-controller-plugin)
    * Writing a New Behavior Tree Plugin 
      * Overview 
      * Requirements 
      * Tutorial Steps 
        * 1- Creating a new BT Plugin 
        * 2- Exporting the planner plugin 
        * 3- Add plugin library name to config 
        * 4- Run Your Custom plugin 
    * [ Writing a New Behavior Plugin ](writing_new_behavior_plugin.html)
      * [ Overview ](writing_new_behavior_plugin.html#overview)
      * [ Requirements ](writing_new_behavior_plugin.html#requirements)
      * [ Tutorial Steps ](writing_new_behavior_plugin.html#tutorial-steps)
* [ Code  ](/berkeleyauv/behavior_tree)
  * [ Issues  2  ](/berkeleyauv/behavior_tree/issues)
  * [ Pull requests  1  ](/berkeleyauv/behavior_tree/pulls)
  * [ Actions  ](/berkeleyauv/behavior_tree/actions)
  * [ Projects  0  ](/berkeleyauv/behavior_tree/projects)
  * [ Security  ](/berkeleyauv/behavior_tree/security)
  * [ Insights  ](/berkeleyauv/behavior_tree/pulse)
* [ Code  ](/BehaviorTree/BehaviorTree.ROS2)
  * [ Issues  ](/BehaviorTree/BehaviorTree.ROS2/issues)
  * [ Pull requests  ](/BehaviorTree/BehaviorTree.ROS2/pulls)
  * [ Actions  ](/BehaviorTree/BehaviorTree.ROS2/actions)
  * [ Projects  ](/BehaviorTree/BehaviorTree.ROS2/projects)
  * [ Security  ](/BehaviorTree/BehaviorTree.ROS2/security)
  * [ Insights  ](/BehaviorTree/BehaviorTree.ROS2/pulse)
* [ Code  ](/berkeleyauv/behavior_tree)
  * [ Issues  ](/berkeleyauv/behavior_tree/issues)
  * [ Pull requests  ](/berkeleyauv/behavior_tree/pulls)
  * [ Actions  ](/berkeleyauv/behavior_tree/actions)
  * [ Projects  ](/berkeleyauv/behavior_tree/projects)
  * [ Security  ](/berkeleyauv/behavior_tree/security)
  * [ Insights  ](/berkeleyauv/behavior_tree/pulse)
* [ ![@facontidavide](https://avatars.githubusercontent.com/u/2822888?s=64&v=4) ](https://github.com/facontidavide)
  * [ ![@tony-p](https://avatars.githubusercontent.com/u/11678396?s=64&v=4) ](https://github.com/tony-p)
  * [ ![@vicmassy](https://avatars.githubusercontent.com/u/12095279?s=64&v=4) ](https://github.com/vicmassy)
  * [ ![@emersonknapp](https://avatars.githubusercontent.com/u/537409?s=64&v=4) ](https://github.com/emersonknapp)
  * [ ![@marip8](https://avatars.githubusercontent.com/u/18411310?s=64&v=4) ](https://github.com/marip8)
  * [ ![@SyllogismRXS](https://avatars.githubusercontent.com/u/573396?s=64&v=4) ](https://github.com/SyllogismRXS)
  * [ ![@mnumanuyar](https://avatars.githubusercontent.com/u/15452050?s=64&v=4) ](https://github.com/mnumanuyar)
  * [ ![@MarqRazz](https://avatars.githubusercontent.com/u/25058794?s=64&v=4) ](https://github.com/MarqRazz)
  * [ ![@CihatAltiparmak](https://avatars.githubusercontent.com/u/35902471?s=64&v=4) ](https://github.com/CihatAltiparmak)
  * [ ![@marj3220](https://avatars.githubusercontent.com/u/56129292?s=64&v=4) ](https://github.com/marj3220)
* [ Code  ](/BehaviorTree/BehaviorTree.ROS2)
  * [ Issues  13  ](/BehaviorTree/BehaviorTree.ROS2/issues)
  * [ Pull requests  1  ](/BehaviorTree/BehaviorTree.ROS2/pulls)
  * [ Actions  ](/BehaviorTree/BehaviorTree.ROS2/actions)
  * [ Projects  0  ](/BehaviorTree/BehaviorTree.ROS2/projects)
  * [ Security  ](/BehaviorTree/BehaviorTree.ROS2/security)
  * [ Insights  ](/BehaviorTree/BehaviorTree.ROS2/pulse)
Thanks for explaining it. Is this restriction at the loaned interfaces level
already applied to the code in this PR?
Sorry, something went wrong.
All reactions
[
![christophfroehlich](https://avatars.githubusercontent.com/u/3367244?s=60&v=4)
](/christophfroehlich)
**[ christophfroehlich ](/christophfroehlich) ** requested changes  Mar 24,
2024
[ View reviewed changes  ](/ros-controls/ros2_control/pull/1240/files)
Copy link
Contributor
###
![@christophfroehlich](https://avatars.githubusercontent.com/u/3367244?s=48&v=4)
**[ christophfroehlich ](/christophfroehlich) ** left a comment  •
edited
There was a problem hiding this comment.
###  Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. [ Learn more
](https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-
comment) .
Choose a reason  Spam  Abuse  Off Topic  Outdated  Duplicate  Resolved  Hide
comment
I like the approach, considering the cleaner code as demonstrated with
example_1 and the (as by now, theoretical) support of other datatypes. I don't
comment on the code as this has been done extensively by others already.
What is missing for my approval is an update to the documentation:
  * A migration guide [ here ](https://github.com/ros-controls/ros2_control/blob/master/doc/migration/Iron.rst) . 
  * Update the [ Writing a Hardware Component ](https://control.ros.org/master/doc/ros2_control/hardware_interface/doc/writing_new_hardware_component.html#writing-a-hardware-component) section 
Sorry, something went wrong.
All reactions
[ ![@bmagyar](https://avatars.githubusercontent.com/u/3524577?s=40&v=4)
](/bmagyar) [ bmagyar ](/bmagyar) mentioned this pull request  Apr 1, 2024
[ Changing how handles are used (in stages and PRs)  #1467  ](/ros-
controls/ros2_control/issues/1467)
Open
[
![@mamueluth](https://avatars.githubusercontent.com/u/19118679?s=40&u=f81462164d8259aace7a7f80ef76fd0c3dfeff1d&v=4)
](/mamueluth) [ mamueluth ](/mamueluth) [ force-pushed ](/ros-
controls/ros2_control/compare/7c07d0c6bf0b677fe0feedd48d5343c5b8e9079a..8dec983a6d3ca945ad6f4277b935f6d466e68120)
* [ Collections ](/collections)
  * [ Pricing ](/pricing)
Search or jump to...
#  Search code, repositories, users, issues, pull requests...
Search
Clear
[ Search syntax tips ](https://docs.github.com/search-github/github-code-
search/understanding-github-code-search-syntax)
#  Provide feedback
We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel  Submit feedback
#  Saved searches
##  Use saved searches to filter your results more quickly
Name
Query
To see all available qualifiers, see our [ documentation
](https://docs.github.com/search-github/github-code-search/understanding-
github-code-search-syntax) .
Cancel  Create saved search
[ Sign in ](/login?return_to=https%3A%2F%2Fgithub.com%2Fros-
controls%2Fros2_control%2Fpull%2F1240)
[ Sign up
](/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-
name%3E%2F%3Crepo-
name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-
repo&source_repo=ros-controls%2Fros2_control)
You signed in with another tab or window. [ Reload ]() to refresh your
session.  You signed out in another tab or window. [ Reload ]() to refresh
your session.  You switched accounts on another tab or window. [ Reload ]() to
refresh your session.  Dismiss alert
{{ message }}
[ ros-controls ](/ros-controls) /  **[ ros2_control ](/ros-
controls/ros2_control) ** Public
  * [ Notifications ](/login?return_to=%2Fros-controls%2Fros2_control)
  * [ Fork  253  ](/login?return_to=%2Fros-controls%2Fros2_control)
  * [ Star  390  ](/login?return_to=%2Fros-controls%2Fros2_control)
  * [ Code  ](/ros-controls/ros2_control)
  * [ Issues  131  ](/ros-controls/ros2_control/issues)
  * [ Pull requests  25  ](/ros-controls/ros2_control/pulls)
](/saikishor) [ saikishor  ](/saikishor) [ ](/ros-
controls/ros2_control/pull/1240/files/7c07d0c6bf0b677fe0feedd48d5343c5b8e9079a)
saikishor requested changes
[ ![@destogl](https://avatars.githubusercontent.com/u/1918204?s=40&v=4)
](/destogl) [ destogl  ](/destogl) [ ](/ros-
controls/ros2_control/pull/1240/files/e70f436b6a20181ccdddc657572e4fec60195979)
destogl requested changes
[
![@christophfroehlich](https://avatars.githubusercontent.com/u/3367244?s=40&v=4)
](/christophfroehlich) [ christophfroehlich  ](/christophfroehlich) [ ](/ros-
controls/ros2_control/pull/1240/files/7c07d0c6bf0b677fe0feedd48d5343c5b8e9079a)
christophfroehlich requested changes
[ ![@aprotyas](https://avatars.githubusercontent.com/u/34530011?s=40&v=4)
](/aprotyas) [ aprotyas  ](/aprotyas) Awaiting requested review from aprotyas
[ ![@bmagyar](https://avatars.githubusercontent.com/u/3524577?s=40&v=4)
](/bmagyar) [ bmagyar  ](/bmagyar) Awaiting requested review from bmagyar
[ ![@livanov93](https://avatars.githubusercontent.com/u/26708124?s=40&v=4)
](/livanov93) [ livanov93  ](/livanov93) Awaiting requested review from
livanov93
[ ![@moriarty](https://avatars.githubusercontent.com/u/55676?s=40&v=4)
](/moriarty) [ moriarty  ](/moriarty) Awaiting requested review from moriarty
[
![@peterdavidfagan](https://avatars.githubusercontent.com/u/42982057?s=40&v=4)
](/peterdavidfagan) [ peterdavidfagan  ](/peterdavidfagan) Awaiting requested
review from peterdavidfagan
[ ![@VanshGehlot](https://avatars.githubusercontent.com/u/63863949?s=40&v=4)
](/VanshGehlot) [ VanshGehlot  ](/VanshGehlot) Awaiting requested review from
VanshGehlot
Requested changes must be addressed to merge this pull request.
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
None yet
![@mateusmenezes95](https://avatars.githubusercontent.com/u/22382953?s=40&v=4)
](/mateusmenezes95) [ mateusmenezes95 ](/mateusmenezes95) mentioned this pull
request  Feb 1, 2024
[ How to pass additional information to the hardware interface  #1016  ](/ros-
controls/ros2_control/issues/1016)
Open
[ ![@destogl](https://avatars.githubusercontent.com/u/1918204?s=40&v=4)
](/destogl) [ destogl ](/destogl) mentioned this pull request  Mar 11, 2024
[ [HW Interface] Command-/SystemInterface export via description. Handles
store value instead of pointers  #952  ](/ros-controls/ros2_control/pull/952)
Closed
1 task
[ ![saikishor](https://avatars.githubusercontent.com/u/10082428?s=60&v=4)
](/saikishor)
**[ saikishor ](/saikishor) ** suggested changes  Mar 17, 2024
[ View reviewed changes  ](/ros-controls/ros2_control/pull/1240/files)
Copy link
Member
###
![@saikishor](https://avatars.githubusercontent.com/u/10082428?s=48&v=4) **[
saikishor ](/saikishor) ** left a comment
There was a problem hiding this comment.
###  Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. [ Learn more
](https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-
comment) .
Choose a reason  Spam  Abuse  Off Topic  Outdated  Duplicate  Resolved  Hide
comment
I've added some minor comments and some questions at different parts to
discuss
Sorry, something went wrong.
All reactions
[ hardware_interface/include/hardware_interface/actuator.hpp ](/ros-
controls/ros2_control/pull/1240/files#diff-
dca572d4721d979c8fb92a36453f69a34a5dd4ae5bf45fb11267269bcfed1212)
|  |  @@ -65,10 +65,10 @@ class Actuator final  
---|---|---  
|  |  const rclcpp_lifecycle::State & error();  
|  |
##  Public Member Functions  
  
---  
|  **StateInterface** (const [ StateInterface
](classhardware__interface_1_1StateInterface.html) &other)=default  
|  **StateInterface** ( [ StateInterface
](classhardware__interface_1_1StateInterface.html) &&other)=default  
|  **ReadOnlyHandle** (const std::string &name, const std::string
&interface_name, double *value_ptr=nullptr)  
|  **ReadOnlyHandle** (const std::string &interface_name)  
|  **ReadOnlyHandle** (const char *interface_name)  
|  **ReadOnlyHandle** (const [ ReadOnlyHandle
](classhardware__interface_1_1ReadOnlyHandle.html) &other)=default  
|  **ReadOnlyHandle** ( [ ReadOnlyHandle
](classhardware__interface_1_1ReadOnlyHandle.html) &&other)=default  
![-](closed.png) Public Member Functions inherited from [
hardware_interface::ReadOnlyHandle
](classhardware__interface_1_1ReadOnlyHandle.html)  
|  **ReadOnlyHandle** (const std::string &name, const std::string
&interface_name, double *value_ptr=nullptr)  
|  **ReadOnlyHandle** (const std::string &interface_name)  
|  **ReadOnlyHandle** (const char *interface_name)  
|  **ReadOnlyHandle** (const [ ReadOnlyHandle
](classhardware__interface_1_1ReadOnlyHandle.html) &other)=default  
|  **ReadOnlyHandle** ( [ ReadOnlyHandle
](classhardware__interface_1_1ReadOnlyHandle.html) &&other)=default  
[ ReadOnlyHandle ](classhardware__interface_1_1ReadOnlyHandle.html) & |
**operator=** (const [ ReadOnlyHandle
](classhardware__interface_1_1ReadOnlyHandle.html) &other)=default  
[ ReadOnlyHandle ](classhardware__interface_1_1ReadOnlyHandle.html) & |
**operator=** ( [ ReadOnlyHandle
](classhardware__interface_1_1ReadOnlyHandle.html) &&other)=default  
|  [ operator bool
](classhardware__interface_1_1ReadOnlyHandle.html#a964b07a6a0f5b2414e070e5a8a1f746e)
() const  
|  Returns true if handle references a value.  
  
const std::string & |  **get_name** () const  
const std::string & |  **get_interface_name** () const  
const std::string  |  **get_full_name** () const
* [ Actions  ](/ros-controls/ros2_control/actions)
  * [ Projects  0  ](/ros-controls/ros2_control/projects)
  * [ Security  ](/ros-controls/ros2_control/security)
  * [ Insights  ](/ros-controls/ros2_control/pulse)
Additional navigation options
  * [ Code  ](/ros-controls/ros2_control)
  * [ Issues  ](/ros-controls/ros2_control/issues)
  * [ Pull requests  ](/ros-controls/ros2_control/pulls)
  * [ Actions  ](/ros-controls/ros2_control/actions)
  * [ Projects  ](/ros-controls/ros2_control/projects)
  * [ Security  ](/ros-controls/ros2_control/security)
  * [ Insights  ](/ros-controls/ros2_control/pulse)
New issue
**Have a question about this project?** Sign up for a free GitHub account to
open an issue and contact its maintainers and the community.
Pick a username
    
Email Address
    
Password
    
Sign up for GitHub
By clicking “Sign up for GitHub”, you agree to our [ terms of service
](https://docs.github.com/terms) and [ privacy statement
](https://docs.github.com/privacy) . We’ll occasionally send you account
related emails.
Already on GitHub? [ Sign in ](/login?return_to=%2Fros-
controls%2Fros2_control%2Fissues%2Fnew%2Fchoose) to your account
Jump to bottom
#  [HW Interface] Change creation, exportation and storing of
Command-/StateInterface + Support for variant  #1240
Open
[ mamueluth ](/mamueluth) wants to merge  22  commits into  [ ros-controls  :
master  ](/ros-controls/ros2_control/tree/master "ros-
controls/ros2_control:master")
_base:_ master
Choose a base branch
Branches  Tags
Could not load branches
Branch not found: **{{ refName }}**
5 participants
[ ![@mamueluth](https://avatars.githubusercontent.com/u/19118679?s=52&v=4)
](/mamueluth) [
![@saikishor](https://avatars.githubusercontent.com/u/10082428?s=52&v=4)
](/saikishor) [
![@VX792](https://avatars.githubusercontent.com/u/25421074?s=52&v=4) ](/VX792)
[ ![@destogl](https://avatars.githubusercontent.com/u/1918204?s=52&v=4)
](/destogl) [
![@christophfroehlich](https://avatars.githubusercontent.com/u/3367244?s=52&v=4)
](/christophfroehlich)
Add this suggestion to a batch that can be applied as a single commit.  This
suggestion is invalid because no changes were made to the code.  Suggestions
cannot be applied while the pull request is closed.  Suggestions cannot be
applied while viewing a subset of changes.  Only one suggestion per line can
be applied in a batch.  Add this suggestion to a batch that can be applied as
a single commit.  Applying suggestions on deleted lines is not supported.  You
must change the existing code in this line in order to create a valid
suggestion.  Outdated suggestions cannot be applied.  This suggestion has been
applied or marked resolved.  Suggestions cannot be applied from pending
reviews.  Suggestions cannot be applied on multi-line comments.  Suggestions
cannot be applied while the pull request is queued to merge.  Suggestion
cannot be applied right now. Please check back later.
##  Footer
[ ](https://github.com "GitHub") © 2024 GitHub, Inc.
###  Footer navigation
  * [ Terms ](https://docs.github.com/site-policy/github-terms/github-terms-of-service)
  * [ Privacy ](https://docs.github.com/site-policy/privacy-policies/github-privacy-statement)
  * [ Security ](/security)
  * [ Status ](https://www.githubstatus.com/)
  * [ Docs ](https://docs.github.com/)
  * [ Contact ](https://support.github.com?tags=dotcom-footer)
  * Manage cookies 
  * Do not share my personal information 
You can’t perform that action at this time.
Skip to content
Toggle navigation
[ ](https://github.com/)
[ Sign in ](/login?return_to=https%3A%2F%2Fgithub.com%2Fros-
controls%2Fros2_control%2Fpull%2F1240)
  * Product 
    * [ Actions  Automate any workflow  ](/features/actions)
    * [ Packages  Host and manage packages  ](/features/packages)
    * [ Security  Find and fix vulnerabilities  ](/features/security)
    * [ Codespaces  Instant dev environments  ](/features/codespaces)
    * [ Copilot  Write better code with AI  ](/features/copilot)
    * [ Code review  Manage code changes  ](/features/code-review)
    * [ Issues  Plan and track work  ](/features/issues)
    * [ Discussions  Collaborate outside of code  ](/features/discussions)
Explore
    * [ All features ](/features)
    * [ Documentation  ](https://docs.github.com)
    * [ GitHub Skills  ](https://skills.github.com/)
    * [ Blog  ](https://github.blog)
  * Solutions 
For
    * [ Enterprise ](/enterprise)
    * [ Teams ](/team)
    * [ Startups ](/enterprise/startups)
    * [ Education  ](https://education.github.com)
By Solution
    * [ CI/CD & Automation ](/solutions/ci-cd/)
    * [ DevOps ](/solutions/devops/)
    * [ DevSecOps  ](https://resources.github.com/devops/fundamentals/devsecops/)
Resources
    * [ Learning Pathways  ](https://resources.github.com/learn/pathways/)
    * [ White papers, Ebooks, Webinars  ](https://resources.github.com/)
    * [ Customer Stories ](/customer-stories)
    * [ Partners  ](https://partner.github.com/)
  * Open Source 
    * [ GitHub Sponsors  Fund open source developers  ](/sponsors)
    * [ The ReadME Project  GitHub community articles  ](/readme)
Repositories
    * [ Topics ](/topics)
    * [ Trending ](/trending)