mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-07 21:44:02 -05:00
- Rename `code_helper` command to `code2context` throughout codebase - Update README.md table of contents and references - Update installation instructions with new binary name - Update all usage examples in main.go help text - Update create_coding_feature pattern documentation - Rename cmd directory from code_helper to code2context
86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
# Create Coding Feature
|
|
|
|
Generate code changes to an existing coding project using AI.
|
|
|
|
## Installation
|
|
|
|
After installing the `code2context` binary:
|
|
|
|
```bash
|
|
go install github.com/danielmiessler/fabric/cmd/code2context@latest
|
|
```
|
|
|
|
## Usage
|
|
|
|
The create_coding_feature allows you to apply AI-suggested code changes directly to your project files. Use it like this:
|
|
|
|
```bash
|
|
code2context [project_directory] "[instructions for code changes]" | fabric --pattern create_coding_feature
|
|
```
|
|
|
|
For example:
|
|
|
|
```bash
|
|
code2context . "Create a simple Hello World C program in file main.c" | fabric --pattern create_coding_feature
|
|
```
|
|
|
|
## How It Works
|
|
|
|
1. `code2context` scans your project directory and creates a JSON representation
|
|
2. The AI model analyzes your project structure and instructions
|
|
3. AI generates file changes in a standard format
|
|
4. Fabric parses these changes and prompts you to confirm
|
|
5. If confirmed, changes are applied to your project files
|
|
|
|
## Example Workflow
|
|
|
|
```bash
|
|
# Request AI to create a Hello World program
|
|
code2context . "Create a simple Hello World C program in file main.c" | fabric --pattern create_coding_feature
|
|
|
|
# Review the changes made to your project
|
|
git diff
|
|
|
|
# Run/test the code
|
|
make check
|
|
|
|
# If satisfied, commit the changes
|
|
git add <changed files>
|
|
git commit -s -m "Add Hello World program"
|
|
```
|
|
|
|
### Security Enhancement Example
|
|
|
|
```bash
|
|
code2context . "Ensure that all user input is validated and sanitized before being used in the program." | fabric --pattern create_coding_feature
|
|
git diff
|
|
make check
|
|
git add <changed files>
|
|
git commit -s -m "Security fixes: Input validation"
|
|
```
|
|
|
|
## Important Notes
|
|
|
|
- **Always run from project root**: File changes are applied relative to your current directory
|
|
- **Use with version control**: It's highly recommended to use this feature in a clean git repository so you can review and revert
|
|
changes. You will *not* be asked to approve each change.
|
|
|
|
## Security Features
|
|
|
|
- Path validation to prevent directory traversal attempts
|
|
- File size limits to prevent excessive file generation
|
|
- Operation validation (only create/update operations allowed)
|
|
- User confirmation required before applying changes
|
|
|
|
## Suggestions for Future Improvements
|
|
|
|
- Add a dry-run mode to show changes without applying them
|
|
- Enhance reporting with detailed change summaries
|
|
- Support for file deletions with safety checks
|
|
- Add configuration options for project-specific rules
|
|
- Provide rollback capability for applied changes
|
|
- Add support for project-specific validation rules
|
|
- Enhance script generation with conditional logic
|
|
- Include detailed logging for API responses
|
|
- Consider adding a GUI for ease of use
|