Projects and session notes

Applies to: Rubian 4.0.2 with the project kit and an authenticated workspace

Updated

The Rubian project kit gives work a name, a consistent directory structure and session notes. Source, explanations, runnable snippets and temporary files have distinct places, making a project easier to resume after the prompt or participant changes.

The kit requires a connected, authenticated workspace. Its project selection is independent of the host shell's current directory.

Inspect existing work first#

kit_status
proj_list

kit_status displays the current identity's home, project location, session record and current project, and returns a status hash. proj_list, also named projects, displays and returns the available project names.

To resume an existing project:

proj_cd('inventory-review')
proj_path

Replace the name with a listed project. proj_cd selects it and returns its path; it does not perform a host-directory change. An unavailable or empty project reports a diagnostic and returns nil.

Create a project#

Use proj('inventory-review') only when that name is new. Creation writes the starter README and src/main.rb; reusing a name can overwrite those files.

The resulting structure is:

Location Intended use
README.md The project's purpose and starting instructions.
src/ Ruby source for the work.
notes/ Findings, decisions and supporting explanation.
bin/ Runnable snippets or project tools.
tmp/ Temporary working material.

The command selects the created project and returns its path. proj with no name displays kit status instead of creating anything.

Write and execute project work#

proj_write('notes/plan.txt', "Check the supplied inventory and record missing entries.\n")
proj_write('src/main.rb', "puts 'Inventory review is ready'\n")
load_proj

proj_write(relative_path, content) replaces the selected project's file and returns its path. load_proj executes the Ruby files directly inside that project's src/ directory in the current session. It is an execution command, not a file viewer, and it does not recursively load every nested source directory in this edition.

For the sample above, the visible result includes Inventory review is ready. Review project code before executing it, and do not depend on an undocumented load order between multiple source files. A missing project selection raises an error; select a project before writing or loading.

Record what the next session needs#

session_log!('Reviewed the supplied inventory; two entries still need an owner.')

session_log!, also named slog, appends a timestamped note to the current identity's session record and returns its path. Project creation, selection, writes and loads also record activity. Use the note for decisions and next actions that command history cannot explain.

A project provides organization and a working record. Backup, version control and retention remain responsibilities of the supplied environment. For a project shared between participants, use Shared work and messaging.