Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
d229f0a
feat(chat): Begin migration of command registry to q_chat crate
jsamuel1 Apr 26, 2025
7e25ab4
feat(chat): Migrate context commands and internal_command tool
jsamuel1 Apr 26, 2025
fa1faeb
feat(chat): Migrate profile and tools commands to q_chat crate
jsamuel1 Apr 26, 2025
3406c4a
feat(chat): Complete internal_command tool migration
jsamuel1 Apr 26, 2025
95faea4
test(chat): Port AI command interpretation tests to q_chat crate
jsamuel1 Apr 26, 2025
34ed0a4
Continued porting of q_cli to q_chat for internal_command
jsamuel1 Apr 26, 2025
92fbcb0
refactor(commands): Migrate tools commands to new registry architecture
jsamuel1 Apr 27, 2025
660f4ce
refactor(commands): Fix Clippy warnings
jsamuel1 Apr 27, 2025
5ecc614
refactor: Remove old AI command interpretation tests from q_cli
jsamuel1 Apr 27, 2025
1ec044e
feat(commands): Implement usage command and fix internal_command tool…
jsamuel1 Apr 28, 2025
af06c83
docs: Update implementation plans with current status
jsamuel1 Apr 28, 2025
9f6c6a5
feat(commands): Implement editor command and add documentation
jsamuel1 Apr 28, 2025
f467b5d
docs: Update implementation plans with editor command status
jsamuel1 Apr 28, 2025
4ce1be1
feat(commands): Add profile and tools command handlers (WIP)
jsamuel1 Apr 28, 2025
6bca67d
docs: Update next steps in implementation plan
jsamuel1 Apr 28, 2025
81eab54
feat(commands): Fix profile and tools command handlers
jsamuel1 Apr 28, 2025
a7d41d8
chore: Update imports in registry and module exports
jsamuel1 Apr 28, 2025
a8358c8
refactor(commands): Refactor profile and tools commands to match Cont…
jsamuel1 Apr 28, 2025
af1fcba
docs: Update command migration status in documentation
jsamuel1 Apr 28, 2025
12491d9
feat(command): Implement bidirectional relationship between Commands …
jsamuel1 Apr 29, 2025
e7c42a6
fix: Improve error handling in internal_command tool
jsamuel1 Apr 29, 2025
46cef14
fix(q_chat): Fix duplicate display_name method in tools/mod.rs
jsamuel1 Apr 30, 2025
5407103
fix(q_chat): Fix command system warnings and improve code quality
jsamuel1 May 2, 2025
3d273b3
fix: Resolve merge conflicts between feature/internal_command and main
jsamuel1 May 2, 2025
6b4356c
resolve merge conflict issues
jsamuel1 May 2, 2025
d72b753
fix merge related test failures
jsamuel1 May 2, 2025
f93ff7a
feat: add command summaries to execute_bash tool for better UX (#1415)
akashanand98 May 4, 2025
bf46403
fix(commands): Fix clippy warnings in command system
jsamuel1 May 4, 2025
5b115fe
docs(commands): Update consolidated implementation plan
jsamuel1 May 4, 2025
c53c326
Merge branch 'main' into feature/internal_command
jsamuel1 May 4, 2025
694ca9a
fix merge difference
jsamuel1 May 4, 2025
6432259
cleanup working-rules files
jsamuel1 May 4, 2025
c80578c
rfc updated
jsamuel1 May 5, 2025
6b23d8e
refactor(commands): Separate parsing and output functionality
jsamuel1 May 5, 2025
c418871
fix(commands): Implement execute_command for tools subcommands
jsamuel1 May 5, 2025
57d91d5
refactor(commands): Update command handlers for bidirectional relatio…
jsamuel1 May 5, 2025
495e8ea
docs: Add command duplication report
jsamuel1 May 5, 2025
022ab55
docs(commands): Update command duplication report with implementation…
jsamuel1 May 6, 2025
fc9cae6
refactor(commands): Update tools trust/untrust handlers to use ChatError
jsamuel1 May 6, 2025
34314b6
refactor(commands): Update more tools command handlers to use ChatError
jsamuel1 May 6, 2025
25d7b47
refactor(commands): Standardize error handling with ChatError
jsamuel1 May 7, 2025
b606268
test(commands): Add tests for error message consistency
jsamuel1 May 7, 2025
34edecf
Merge branch 'main' into feature/internal_command
jsamuel1 May 7, 2025
715722e
Merge regression fixes
jsamuel1 May 7, 2025
2de9b31
fix: Remove unused code to fix build warnings
jsamuel1 May 7, 2025
c32238f
refactor(internal_command): Remove unused permissions.rs file
jsamuel1 May 8, 2025
ae99ee4
refactor(internal_command): Remove _simple suffix from function names
jsamuel1 May 8, 2025
e21c587
feat(chat): Add proper implementation for prompts command
jsamuel1 May 8, 2025
5947aa8
fix: Remove unused imports and static handler
jsamuel1 May 8, 2025
c5fbcc0
add import
jsamuel1 May 8, 2025
99c475a
fix(chat): Add dedicated handler for ! command execution
jsamuel1 May 8, 2025
cc305f3
formatting and fix ! command
jsamuel1 May 8, 2025
f5ff55f
minor tweaks
jsamuel1 May 8, 2025
e5e1ee5
Merge branch 'main' into feature/internal_command
jsamuel1 May 8, 2025
91b976c
fix requires_acceptance for subcommands
jsamuel1 May 8, 2025
50f3f47
fix /tools list
jsamuel1 May 8, 2025
ee09df8
remove some unused code, and fixed tools trustall and list
jsamuel1 May 8, 2025
dad1a2a
Merge branch 'main' into feature/internal_command
jsamuel1 May 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,6 @@ book/
.env*

run-build.sh
repomix-output.*
.multiq
.aiEditorAgent
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<p align="center">
<a href="https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html">
<picture>
Expand Down Expand Up @@ -154,23 +153,27 @@ pnpm install --ignore-scripts

### 3. Start Local Development
To compile and view changes made to `q chat`:

```shell
cargo run --bin chat_cli
```

> If you are working on other q commands, just append `-- <command name>`. For example, to run `q login`, you can run `cargo run --bin chat_cli -- login`

To run tests for the Q CLI crate:

```shell
cargo test -p chat_cli
```

To format Rust files:

```shell
cargo +nightly fmt
```

To run clippy:

```shell
cargo clippy --locked --workspace --color always -- -D warnings
```
Expand All @@ -195,11 +198,11 @@ Once inside `q chat`, you can supply project context by adding the [`codebase-su

This enables Q to answer onboarding questions like:

- What does this crate do?
- "What does this crate do?"

- Where is X implemented?
- "Where is X implemented?"

- How do these components interact?
- "How do these components interact?"

Great for speeding up your ramp-up and navigating the repo more effectively.

Expand All @@ -213,7 +216,7 @@ Several projects live here:
- [`autocomplete`](packages/autocomplete/) - The autocomplete react app
- [`dashboard`](packages/dashboard-app/) - The dashboard react app
- [`figterm`](crates/figterm/) - figterm, our headless terminal/pseudoterminal that
intercepts the users terminal edit buffer.
intercepts the user's terminal edit buffer.
- [`q_cli`](crates/q_cli/) - the `q` CLI, allows users to interface with Amazon Q Developer from
the command line
- [`fig_desktop`](crates/fig_desktop/) - the Rust desktop app, uses
Expand All @@ -236,6 +239,10 @@ Other folder to be aware of
[protocol buffer](https://developers.google.com/protocol-buffers/) message
specification for inter-process communication
- [`tests/`](tests/) - Contain integration tests for the projects
- [`docs/`](docs/) - Contains project documentation
- [`docs/development/`](docs/development/) - Contains developer documentation including:
- [Implementation Cycle](docs/development/implementation-cycle.md) - Standard workflow for making changes
- [Command Execution Flow](docs/development/command-execution-flow.md) - How commands are processed

Below is a high level architecture of how the different components of the app and
their IPC:
Expand All @@ -253,4 +260,4 @@ See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more inform

This repo is dual licensed under MIT and Apache 2.0 licenses.

Amazon Web Services and all related marks, including logos, graphic designs, and service names, are trademarks or trade dress of AWS in the U.S. and other countries. AWSs trademarks and trade dress may not be used in connection with any product or service that is not AWSs, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits AWS.
"Amazon Web Services" and all related marks, including logos, graphic designs, and service names, are trademarks or trade dress of AWS in the U.S. and other countries. AWS's trademarks and trade dress may not be used in connection with any product or service that is not AWS's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits AWS.
Loading
Loading