mirror of
https://github.com/danielmiessler/Fabric.git
synced 2026-01-06 21:13:58 -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
2.6 KiB
2.6 KiB
Create Coding Feature
Generate code changes to an existing coding project using AI.
Installation
After installing the code2context binary:
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:
code2context [project_directory] "[instructions for code changes]" | fabric --pattern create_coding_feature
For example:
code2context . "Create a simple Hello World C program in file main.c" | fabric --pattern create_coding_feature
How It Works
code2contextscans your project directory and creates a JSON representation- The AI model analyzes your project structure and instructions
- AI generates file changes in a standard format
- Fabric parses these changes and prompts you to confirm
- If confirmed, changes are applied to your project files
Example Workflow
# 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
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