devlogs
Project based session logging for solo-developers with the option to mirror changes to another directory.
Installation
Add this line to your application's Gemfile:
gem 'devlogs'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install devlogs
Usage
Initialize
Inside your project initialize the .devlogs
repository:
$ devlogs init
Follow the prompts to setup the project configuration located in the default .devlogs/.devlogs.config
. (You can optionally set where you want to initialize the repository via --dirpath)
You can setup a mirror directory path in the configuration stage to sync changes to another directory on your machine, for example to Obsidian.md.
Example:
myproject
.devlogs
>> content
obsidianvault
project
mirror_logs
>> content mirrored here
Logs
Creating log entries
Once you are done for the day or session run the new
command:
devlogs new
Your editor will pop up and you can fill in cliff notes.
# <DATE HERE>
* Setup Postgresql Database
* Created the Post and User models
* Can't figure out how to connect devise + omniauth yet - need to figure that out
Save and if you set a mirror it will sync over!
Retrieve previous entry
You can use the last
command to retrieve the most recent entry
devlogs last
List all log entires
You can use the ls
command to retrieve the most recent entry
devlogs ls
Issues
Devlogs also allows you to manage issues locally as well. Devlogs creates a separate subdirectory in the .devlogs
folder which will contain all issues. These files are also synced if the repository is mirrored.
Creating an Issue
You can create a new issue via devlogs new_issue
. You will be prompted to provide some information and then your editor will open and you can fill in some details
devlogs new_issue
List all issues
You can use the ls_issues
command to retrieve the most recent entry
devlogs ls_issues
Custom Templates
Devlogs initializes the log repository with two custom templates that you can edit freely .log_template.erb.md
and .issue_template.erb.md
. These are Embedded Ruby Files meaning they can access certain variables.
Log Template
Variable Name | Value |
---|---|
Time | The current date, hour and minute time |
Issue Template
Variable Name | Value |
---|---|
Time | The current date, hour and minute time |
Issue Title | The provided issue title input from the issue creation prompt |
Description | The provided description input from the issue creation prompt |
Reproduction Steps | The provided input for reproduction steps from the issue creation prompt |
Development
After checking out the repo, run bin/setup
to install dependencies. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/aquaflamingo/devlogs.
License
The gem is available as open source under the terms of the MIT License.