GSoC 2026 – Interest in Subcommand CLI for GRASS

Hello Mentors,

I’m interested in working on the Subcommand CLI for GRASS project for GSoC 2026.

From what I understand, the goal is to make it easier to use GRASS from the command line by adding structured subcommands like grass run, grass import, and grass region. The idea of allowing users to run tools in a simpler and more direct way — without manually handling sessions and setup every time — seems very useful.

I understand that this project is not just about adding new commands, but also about designing a clean Python layer behind them so that everything works properly and stays consistent with the existing CLI.

Before I start drafting my proposal, I would like to ask:

  1. Should this project mainly build on the current experimental interface?

  2. Are there any previous design discussions or documents I should read first?

  3. Is the main focus improving user experience, or improving the internal structure of the CLI system?

Over the next few weeks, I plan to study the current CLI code, understand session and mapset handling better, and try to prototype a small subcommand locally to understand how things connect.

I would really appreciate any guidance on how best to prepare for this project.

Thank you.

Best regards,
Arth

Just study the current code and explore how subcommands are generally used even outside GRASS. I think we would need to see a PR related to the topic, so that’s probably what you need to focus on, there are some ideas on the wiki.