README.md in ruby_jard-0.1.0 vs README.md in ruby_jard-0.2.0
- old
+ new
@@ -1,11 +1,74 @@
# RubyJard
- Just another ruby debugger. Jard provides an unified experience debugging Ruby source code in different platforms and editors. Jard is heavily under development. So, nothing to see here :smile:. When everything is ready, I'll update this file.
+Jard stands for Just Another Ruby Debugger. It implements a layer of UI wrapping around byebug, aims to provide a unified experience when debugging Ruby source code. Ruby Jard supports the following major features at the moment:
+- Default Terminal UI, in which the layout and display are responsive to support different screen sizes.
+- Highlighted source code screen.
+- Stacktrace visualization and navigation.
+- Auto explore and display variables in the current context.
+- Multi-thread exploration and debugging.
+
+In the roadmap:
+- Dynamic breakpoints.
+- Watch expressions.
+- Support different screen sizes.
+- Minimal layout configuration.
+- Fully layout configuration with Tmux.
+- Integrate with Vim.
+- Integrate with Visual Studio Code.
+- Encrypted remote debugging.
+- Some handful debug tools and data visualization.
+
+Ruby Jard's core is Byebug, an awesome de factor debugger for Ruby. Therefore, Ruby Jard supports most of Byebug's functionalities.
+
+If you still don't know what it is, let's watch this video. This is a record of debugging Code Ray - A syntax highlighter for Ruby.
+
+[![asciicast](https://asciinema.org/a/ejWK3Px55QNQmhM4nbd1lSigW.svg)](https://asciinema.org/a/ejWK3Px55QNQmhM4nbd1lSigW)
+
+## Getting Started
+
+**Warning**: Ruby Jard is still under heavy development. Bugs and weird behaviors are expected. If you see one, please don't hesitate to open an issue. I'll try my best to fix.
+
+Add `ruby_jard` to your Gemfile, recommend to put it in test or development environment.
+
+``` ruby
+gem 'ruby_jard'
+```
+
+Add magic method `jard` before the line you want to debug, just like `byebug`
+
+```ruby
+def test_method
+ a = 1
+ b = 2
+ jard # Debugger will stop here
+ c = a + b
+end
+```
+
+## Guides
+
+![Guide UI](./docs/guide-ui.png)
+
+The main page of the debugging UI includes 4 screens:
+- Source: Show the current file, surrounding the source code of the executing line.
+- Stacktrace: Show the current thread's stack trace. You can use `up`, `down`, `frame` to navigate through the stack trace.
+- Variables: Show all the variables in the current context, including local variables, instance variables, and constants.
+- Threads: Show all the threads of the process. This screen is valuable in case you are debugging a multi-threaded program.
+
+At this alpha state, Ruby Jard support some basic commands:
+- `next`: continue the execution to the next line.
+- `step`: continue the execution, do deep into the implementation of methods in the current line.
+- `continue`: continue the execution. The program gonna stops at the next breakpoint.
+- `finish`: Finish the execution of the current frame, and go back.
+- `up`: explore the stack trace, jump to the upper frame of the current program
+- `down`: explore the stack trace, jump to the lower frame of the current program
+- `frame`: explore the stack trace, jump to a precise frame in the stack trace.
+
## Contributing
-Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/ruby_jard. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/ruby_jard/blob/master/CODE_OF_CONDUCT.md).
+Bug reports and pull requests are welcome on GitHub at https://github.com/nguyenquangminh0711/ruby_jard. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/nguyenquangminh0711/ruby_jard/blob/master/CODE_OF_CONDUCT.md).
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).