docs: add Specture specs for all 6 planned features #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "exe-dev-bot/loam:feat/feature-specs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Specture specs for all 6 planned Loam features, in priority order.
Targets
feat/initial-scaffolding(PR #1). Should be merged after that PR lands.Specs
All specs validated with
specture validate(6/6 valid, 146 total tasks).Cross-cutting constraints
justrecipes@ -0,0 +4,4 @@creation_date: 2025-07-17---# Customer TrackingName file and spec "Client Tracking"
@ -0,0 +10,4 @@Kwila Development needs lightweight customer tracking without a full CRM. Markdown files are portable, version-controllable, and human-readable. This feature provides a simple customer directory that other features (sales pipeline, invoicing) can reference.Each customer is a `.md` file in a dedicated directory. YAML frontmatter holds structured fields (name, email, company, phone, website, address). The body contains freeform notes, meeting history, or any other context. A searchable, sortable list view shows all customers with cards displaying name, company, and key contact info. Search works across all fields including the body text.Wrong. Each client has multiple
.mdfiles in different directories within their dedicated directory.Example:
Important feature that also needs included - quickly generating high-quality PDF for any given markdown file.
@ -0,0 +6,4 @@# Import Transactions from FoundImport banking transactions from Found (found.com) into the budget tracking system (spec 1). CSV export is the initial method, with API integration as a future option. Imported transactions are mapped to budget categories with auto-suggest and manual confirmation.Don't mention API integration. Only focus on CSV import.
@ -0,0 +10,4 @@Kwila Development needs to generate invoices for consulting and development work. Currently using ad-hoc methods. A built-in generator linked to customer data streamlines billing and keeps all business context connected.Invoice creation selects a customer (from spec 2), adds line items (description, quantity, unit rate, calculated amount), and sets invoice number, date, due date, payment terms, and notes. Line items support both hourly billing (hours × rate) and fixed amounts. Invoice numbers auto-increment with a configurable prefix (e.g., “KWI-001”).We also need good support for calculating sales tax. I'm often unclear which line items require sales tax and which do not.
@ -0,0 +22,4 @@### View Mode- Chosen: Kanban board (primary) + list view (secondary), togglableHow will you implement kanban board effectively on mobile?
@ -0,0 +8,4 @@Estimated taxes, deduction tracking, and projections for quarterly tax planning. Calculates estimated quarterly tax payments based on income and deductible expenses from the budget tracking system (spec 1).As a small business, Kwila Development must make quarterly estimated tax payments. Currently estimating manually. Automating projections based on actual income/expense data reduces errors and tax-time surprises. This is an estimation tool, not tax advice — a clear disclaimer is shown in the UI.At this point I file Kwila as a schedule C on my taxes. Kwila is small enough that I do not need to do quarterly payments.
@ -0,0 +10,4 @@Kwila Development needs to generate invoices for consulting and development work. Currently using ad-hoc methods. A built-in generator linked to client data streamlines billing and keeps all business context connected.Invoice creation selects a client (from spec 2), adds line items (description, quantity, unit rate, calculated amount), and sets invoice number, date, due date, payment terms, and notes. Line items support both hourly billing (hours × rate) and fixed amounts. Invoice numbers auto-increment with a configurable prefix (e.g., "KWI-001").You must use proper markdown links for ALL cross-spec references.
@ -0,0 +65,4 @@A key workflow is generating polished PDFs from markdown files — agreements, proposals, and invoices need to be shared with clients as PDF. The app provides a one-tap "Export to PDF" action on any markdown file, rendering it with clean typography and professional formatting entirely client-side.Files are stored in IndexedDB via sql.js, consistent with the budget tracking data layer. The full directory tree is represented as rows with path, content, and metadata columns. Mobile-first with touch-friendly navigation, large tap targets, and swipe to reveal actions. All data local, offline-capable, Chromium-only.The rows in the DB are for caching only, right? The source of truth must be the user's local directory. We don't want to have pain syncing the user's files with the DB. What happens if the user adds new directories or files outside the loam interface?