<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Meesam Abbas</title>
    <description>The latest articles on DEV Community by Meesam Abbas (@meesam_abbas_4dacfd9a01d3).</description>
    <link>https://dev.to/meesam_abbas_4dacfd9a01d3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166901%2Fe9cccb93-9346-4a7b-a6cd-6202ba57df7a.png</url>
      <title>DEV Community: Meesam Abbas</title>
      <link>https://dev.to/meesam_abbas_4dacfd9a01d3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/meesam_abbas_4dacfd9a01d3"/>
    <language>en</language>
    <item>
      <title>Stop explaining your project again: a two-session Cricino walkthrough</title>
      <dc:creator>Meesam Abbas</dc:creator>
      <pubDate>Wed, 07 Oct 2026 09:04:22 +0000</pubDate>
      <link>https://dev.to/meesam_abbas_4dacfd9a01d3/stop-explaining-your-project-again-a-two-session-cricino-walkthrough-1jn4</link>
      <guid>https://dev.to/meesam_abbas_4dacfd9a01d3/stop-explaining-your-project-again-a-two-session-cricino-walkthrough-1jn4</guid>
      <description>&lt;p&gt;coming back to a project shouldn't mean reconstructing yesterday from memory.&lt;/p&gt;

&lt;p&gt;i built &lt;a href="https://github.com/ABBAS1947/cricino" rel="noopener noreferrer"&gt;Cricino&lt;/a&gt; because i kept doing exactly that. here's a small example of what it can look like in practice, including the parts that still need your judgment.&lt;/p&gt;

&lt;p&gt;The bookmark app below is a fictional example. These instructions were checked against the published package; this article does not report an executed installation or tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Start with a small project
&lt;/h2&gt;

&lt;p&gt;Imagine a bookmark app. Your next milestone is CSV export. PDF export can wait.&lt;/p&gt;

&lt;p&gt;Open an existing Git repository in your coding tool and give it this prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Install Cricino in this repository using &lt;a href="https://github.com/ABBAS1947/cricino/blob/main/INSTALL.md" rel="noopener noreferrer"&gt;https://github.com/ABBAS1947/cricino/blob/main/INSTALL.md&lt;/a&gt;. Read the contract and existing project instructions first. Ask me about missing goals, scope, approval rules and the project's gate. Preserve existing instructions and changes. This authorizes workflow setup only. Do not change application code, run application tests, execute gates, commit or publish anything.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The instructions ask your assistant to configure the workflow, rather than leave you with a pile of empty templates. They also permit ordinary file tools if Python isn't available. The optional installer requires Python 3.10+ and defaults to a read-only preview; you should inspect its source and proposed paths before using its apply option.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Answer the questions that matter
&lt;/h2&gt;

&lt;p&gt;For this example, the answers could be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Goal:&lt;/strong&gt; a personal bookmark app; finish CSV export next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope:&lt;/strong&gt; export work only. Leave authentication and storage unchanged.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge:&lt;/strong&gt; keep project records in repository Markdown. Link existing decisions instead of copying them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authority:&lt;/strong&gt; planning and workflow documentation are permitted. Ask before application edits, tests, gate execution, commits or publishing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality:&lt;/strong&gt; accessible controls, predictable output and no changes outside scope.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate:&lt;/strong&gt; retain the project's existing requirements. A new gate stays a draft until its requirements and adoption are approved.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are example answers, not universal defaults. A school application and a personal bookmark app need different requirements. Cricino supplies a gate structure, not a ready-made compliance verdict.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Check what was installed
&lt;/h2&gt;

&lt;p&gt;The published installer uses this layout:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;AGENTS.md                  existing instructions plus a bounded pointer
docs/cricino/
  README.md                operating contract
  context.md               goal, milestone and active-task link
  decisions.md             decisions index
  holds.md                 paused-work index
  research.md              research index
  activity.md              brief session entries
  tasks/CR-SETUP.md         setup checkpoint
  LICENSE
.cricino/
  installation.json        setup receipt
  .gitignore
  AGENTS.before            backup, when prior instructions existed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Don't publish the instruction backup automatically. Check preserved instructions, actual changed paths, working links and remaining unknowns. Ask the assistant to distinguish &lt;strong&gt;installed&lt;/strong&gt;, &lt;strong&gt;adapted&lt;/strong&gt; and &lt;strong&gt;enforced&lt;/strong&gt;. Having these files does not establish that your tool loads them or that CI enforces them.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Leave a useful first-session checkpoint
&lt;/h2&gt;

&lt;p&gt;Use the &lt;a href="https://github.com/ABBAS1947/cricino/blob/main/templates/task.md" rel="noopener noreferrer"&gt;task template&lt;/a&gt; for a stable task such as &lt;code&gt;CR-2026-001&lt;/code&gt;. In this example, the owner has approved planning only:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Objective: export saved bookmarks as CSV.
Scope: export only; authentication and storage excluded.
Authorization: planning only, from the owner's session instruction.
Acceptance: title and URL columns; predictable escaping;
an accessible export control; no unrelated changes.

Implementation: not started.
Verification: not run.
Gate: execution not approved.
Documentation: plan and decision recorded; context links to this task.
Release: not authorized.
Exact revision/diff covered: record the actual inspected revision here.
Next permitted action: request approval for scoped implementation.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is illustrative text. In a real task, record the actual approval and revision. A blank revision is missing evidence, not a passing check.&lt;/p&gt;

&lt;p&gt;Put PDF export in the holds record with its reason and resume condition. Keep the detailed CSV plan in the task; the current-state summary just links to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Restart without guessing
&lt;/h2&gt;

&lt;p&gt;Next session, even if you've switched tools, try:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Read the project's instruction entry point, Cricino context, active task and relevant decisions and holds. Inspect Git status and compare the current revision and relevant diff with the task's recorded checkpoint. Summarize the objective, authorized next action and any stale context. Do not resume held work or treat earlier planning as approval to implement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The intended result is a short answer: CSV is active, PDF is parked, implementation still needs approval. If code has changed, the assistant should reconcile the affected task before relying on its old checkpoint. The public scaffold does not automatically monitor Git or enforce freshness; this comparison is a requested workflow step.&lt;/p&gt;

&lt;p&gt;Suppose you now decide exports should use a fixed filename instead of a date. Record a dated decision that supersedes the earlier filename choice, and update the active task. Keep the old decision's history. No need to paste the entire discussion into every document.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Keep the paperwork small
&lt;/h2&gt;

&lt;p&gt;Each fact needs one home:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Information&lt;/th&gt;
&lt;th&gt;Owner record&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Task scope, work and actual checks&lt;/td&gt;
&lt;td&gt;Active task&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Durable choice and supersession&lt;/td&gt;
&lt;td&gt;Decision record&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Findings and source limitations&lt;/td&gt;
&lt;td&gt;Research record&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Paused idea and resume condition&lt;/td&gt;
&lt;td&gt;Holds record&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where work stands now&lt;/td&gt;
&lt;td&gt;Short context summary&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;End a session with a brief activity entry and documentation dispositions: updated, reviewed unchanged, not applicable with a reason, or pending with the missing action. Don't rewrite unchanged documents just to make them look fresh.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does and doesn't solve
&lt;/h2&gt;

&lt;p&gt;Cricino gives your assistant a place to retrieve goals, decisions and unfinished work. It can reduce what you need to carry in your head. It still depends on accurate records and a tool that actually reads them.&lt;/p&gt;

&lt;p&gt;It doesn't guarantee obedience, replace code review, prove accessibility or security, enforce permissions, or turn a checklist into certification. Tests and independent access controls remain separate. Don't hide failed checks behind a tidy handoff.&lt;/p&gt;

&lt;p&gt;Try it on one task first. At your next session, check whether the assistant retrieves the right scope and next action. If it doesn't, that failure is useful feedback too.&lt;/p&gt;

&lt;p&gt;I'd be interested in where it becomes useful for you, and where the documentation starts feeling like extra work.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>tutorial</category>
      <category>osdc</category>
    </item>
    <item>
      <title>I kept re-explaining my project to Codex, so I built Cricino</title>
      <dc:creator>Meesam Abbas</dc:creator>
      <pubDate>Tue, 06 Oct 2026 19:08:23 +0000</pubDate>
      <link>https://dev.to/meesam_abbas_4dacfd9a01d3/i-kept-re-explaining-my-project-to-codex-so-i-built-cricino-15gf</link>
      <guid>https://dev.to/meesam_abbas_4dacfd9a01d3/i-kept-re-explaining-my-project-to-codex-so-i-built-cricino-15gf</guid>
      <description>&lt;p&gt;I'm building my first application, and I have really bad memory. probably not the best combination lol.&lt;/p&gt;

&lt;p&gt;I use Codex for a lot of the work. We'd make a decision, fix something, leave another idea for later, and then the next session I'd be trying to remember how all of it connected.&lt;/p&gt;

&lt;p&gt;The code was there. The reasoning was scattered.&lt;/p&gt;

&lt;p&gt;I made Cricino because I wanted a better starting point than explaining the same things again.&lt;/p&gt;

&lt;h2&gt;
  
  
  A one-minute overview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/ABBAS1947/cricino/releases/download/v1.0.0/cricino-voice.mp4" rel="noopener noreferrer"&gt;Watch the narrated Cricino video&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The animation uses synthetic narration and original music. It's an illustrative overview, not a recorded installation or proof of performance. The rest of this post explains the idea in text.&lt;/p&gt;

&lt;h2&gt;
  
  
  The checklist wasn't enough
&lt;/h2&gt;

&lt;p&gt;A checklist helped me remember what to check. It didn't tell the next session which decision was current, what we had put on hold, or what had actually been verified.&lt;/p&gt;

&lt;p&gt;I was still the person connecting all the pieces.&lt;/p&gt;

&lt;p&gt;So the idea became simple: give the project a short entry point that leads to its goal, decisions, current work and parked ideas. Leave a useful handoff when the session ends.&lt;/p&gt;

&lt;p&gt;The assistant has something concrete to read. I have something concrete to review.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with your own rules
&lt;/h2&gt;

&lt;p&gt;Cricino includes a guide, templates and an optional installer. The setup is meant to ask about your project before adapting the records.&lt;/p&gt;

&lt;p&gt;Things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What are you trying to build?&lt;/li&gt;
&lt;li&gt;What is outside the scope?&lt;/li&gt;
&lt;li&gt;Which actions need your approval?&lt;/li&gt;
&lt;li&gt;Which checks matter for this project?&lt;/li&gt;
&lt;li&gt;Where should decisions and unfinished work live?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My application's checks are specific to my application. Copying them into somebody else's project would make little sense. Cricino provides a structure for defining those checks.&lt;/p&gt;

&lt;p&gt;You can start with the &lt;a href="https://github.com/ABBAS1947/cricino" rel="noopener noreferrer"&gt;public repository&lt;/a&gt; and its &lt;a href="https://github.com/ABBAS1947/cricino/blob/main/INSTALL.md" rel="noopener noreferrer"&gt;INSTALL.md&lt;/a&gt;. Give the setup document to your coding assistant, have it read the procedure, and review the proposed changes before applying them. Existing project instructions should be preserved.&lt;/p&gt;

&lt;h2&gt;
  
  
  A small example
&lt;/h2&gt;

&lt;p&gt;Imagine you're building a bookmarks app. You decide that the first export format will be CSV, and PDF export can wait.&lt;/p&gt;

&lt;p&gt;A useful record would say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Current decision: CSV export for the first version.&lt;/p&gt;

&lt;p&gt;Parked work: PDF export. Don't start it as part of this task.&lt;/p&gt;

&lt;p&gt;Next task: implement CSV export using the current decision.&lt;/p&gt;

&lt;p&gt;Verification: pending until the checks are actually run.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's an illustrative example, not output from an executed installation.&lt;/p&gt;

&lt;p&gt;At the end of the work, the handoff should say what changed, what was checked, what failed, and what the next step is. If checks haven't run, it should say that.&lt;/p&gt;

&lt;p&gt;Try starting another session and see whether the assistant can find the decision and parked work from the records. If you have to quietly explain both again, the setup needs improvement.&lt;/p&gt;

&lt;h2&gt;
  
  
  I also created too much documentation
&lt;/h2&gt;

&lt;p&gt;At first, the same update could end up in several places. That gave me more things to maintain and more chances for them to disagree.&lt;/p&gt;

&lt;p&gt;The improvement was to keep the details in one place and link to them from the other records.&lt;/p&gt;

&lt;p&gt;The entry point can stay short. The task can point to the decision. The handoff can point to the work and evidence. Every file doesn't need to retell the entire story.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this doesn't solve
&lt;/h2&gt;

&lt;p&gt;Cricino isn't a background memory service. The assistant still needs to read the records and maintain them.&lt;/p&gt;

&lt;p&gt;If a decision is stale, a link is broken, or a session forgets to update the handoff, the system can still mislead the next session. A written rule also doesn't enforce a permission by itself. Use actual checks and access controls where you need enforcement.&lt;/p&gt;

&lt;p&gt;It doesn't guarantee correct code, compliance, or a bug-free release. I haven't measured a universal speed improvement or token saving, either.&lt;/p&gt;

&lt;p&gt;What I'm trying to make easier is the handoff: what we're doing, why, what we're leaving alone, and what happens next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it somewhere small
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/ABBAS1947/cricino" rel="noopener noreferrer"&gt;guide and templates are MIT licensed&lt;/a&gt;. Start with a small project and see whether the next session can pick up the right context.&lt;/p&gt;

&lt;p&gt;I'd especially like feedback on the setup questions and the amount of documentation. Where does it help, and where does it become another chore? :)&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
