As a developer, I want to configure which files and directories qstudio can access so I can protect sensitive code and credentials from being sent to LLM providers.
Design
Command Interface
# Show current policy
qstudio policy
# Add allow rule
qstudio policy allow "src/**/*.java"# Add deny rule (takes precedence)
qstudio policy deny "**/*.env"
qstudio policy deny "**/secrets/**"# Remove rule
qstudio policy remove "src/**/*.java"# Reset to defaults
qstudio policy reset
# Validate a path against policy
qstudio policy check src/main/resources/application.yaml
Output Format
Path Policy Configuration
Deny (checked first):
**/*.env
**/*.pem
**/*.key
**/secrets/**
**/credentials/**
**/.env*
Allow:
src/**/*.java
src/**/*.xml
pom.xml
README.md
Default: deny (paths not matching any rule are denied)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
User Story
As a developer, I want to configure which files and directories qstudio can access so I can protect sensitive code and credentials from being sent to LLM providers.
Design
Command Interface
Output Format
Policy Configuration
Project-Level Override
Files to Create/Modify
qctl-qstudio/src/main/java/io/qrun/qctl/qstudio/PolicyCommand.javaqctl-qstudio/src/main/java/io/qrun/qctl/qstudio/policy/PathPolicy.javaqctl-qstudio/src/main/java/io/qrun/qctl/qstudio/policy/PolicyRule.javaqctl-qstudio/src/main/java/io/qrun/qctl/qstudio/policy/GlobMatcher.javaqctl-qstudio/src/main/java/io/qrun/qctl/qstudio/policy/PolicyLoader.javaqctl-qstudio/src/main/resources/default-policy.yamlImplementation Tasks
Acceptance Criteria
qstudio policyshows current configurationqstudio policy deny "<pattern>"adds deny ruleqstudio policy allow "<pattern>"adds allow ruleqstudio policy check <path>validates a path