Senatus is a specification-driven development framework designed to provide a complete workflow for requirements analysis, discussion, research, and implementation in software development. Through systematic commands and templates, the framework helps developers manage projects in an orderly manner from initial ideas to final implementation.
Supported AI Programming Assistants:
- Claude Code
- GitHub Copilot
Senatus follows the decision-making model of the ancient Roman Senate, with its core focus on discussion and documentation, solving key challenges in AI-assisted development through structured dialogue and documentation processes:
-
Insufficient Requirement Expression: Users often lack details when expressing requirements to AI, leading to AI having to guess user intent
- Guide users to clarify requirement details through structured discussion
- Provide precise technical context based on project research
- Progressively improve requirement understanding through multiple rounds of dialogue
-
Context Capacity Limitations: Complex requirements exceed AI context capacity, causing loss of important information
- Decompose complex requirements into independent discussion topics
- Systematically record each decision and implementation process
- Persistently save all key information through documentation system
- Specification-Driven: Ensure all operations comply with established standards through project constitution
- Progressive Clarification: From coarse-grained requirements to refined implementation plans
- Structured Documentation: Standardized document formats ensure information integrity
- Traceability: Completely preserve the entire process from idea to implementation
- Context Continuity: Break through single conversation capacity limits through documentation system
senatus/
βββ .claude/
β βββ commands/ # Custom command definitions
β βββ senatus.collect.md # Collect manual changes
β βββ senatus.constitution.md # Create project constitution
β βββ senatus.context.md # Understand project context
β βββ senatus.correct.md # Fix issues
β βββ senatus.discuss.md # Topic discussion
β βββ senatus.dry-run.md # Dry-run implementation
β βββ senatus.implement.md # Execute tasks (batch)
β βββ senatus.inspire.md # Inspire discussion
β βββ senatus.new-topic.md # Create new discussion topic
β βββ senatus.plan.md # Generate task plan
β βββ senatus.research.md # Project source code research
β βββ senatus.summary.md # Topic summary
βββ .github/
β βββ prompts/ # GitHub Copilot prompts
β βββ senatus.collect.prompt.md
β βββ senatus.constitution.prompt.md
β βββ senatus.context.prompt.md
β βββ senatus.correct.prompt.md
β βββ senatus.discuss.prompt.md
β βββ senatus.dry-run.prompt.md
β βββ senatus.implement.prompt.md
β βββ senatus.inspire.prompt.md
β βββ senatus.new-topic.prompt.md
β βββ senatus.plan.prompt.md
β βββ senatus.research.prompt.md
β βββ senatus.summary.prompt.md
βββ .specify/ # Document templates
β βββ discuss-template.md # Discussion document template
β βββ research-template.md # Research report template
β βββ plan-template.md # Task plan template
β βββ implementation-template.md # Implementation record template
β βββ constitution-template.md # Project constitution template
βββ specify/ # Working directory (generated during use)
βββ constitution.md # Project constitutional constraints
βββ [number]-[topic-name]/ # Topic working directory
βββ discuss.md # Discussion records
βββ research.md # Research report
βββ plan.md # Task plan
βββ implementation/ # Implementation record directory
βββ [task-number].md
- Install an AI programming assistant (Claude Code or GitHub Copilot)
- Ensure the project root directory contains
.claudeand/or.githubfolders
- Copy the Senatus framework files to your project root directory
- Open your project in a supported AI programming assistant
- The framework will automatically load all custom commands
/senatus.constitution- Analyze project structure and technology stack
- Generate project constitution file
specify/constitution.md - Define technical constraints, quality constraints, security constraints, business constraints
- All subsequent operations must follow these constraints
/senatus.new-topic Implement user authentication feature- Create a new topic directory (e.g.,
specify/001-implement-user-auth/) - Generate initial discussion document
discuss.md - Assign unique sequence number to the topic
/senatus.research- Analyze project source code related to the current topic
- Generate detailed research report
research.md, including:- Technology stack status
- Code style analysis
- Related directory structure
- Business logic analysis
- Technical implementation approaches
/senatus.discuss Should we use JWT or Session for authentication?
# or
/senatus.inspire
# or
/senatus.dry-run/senatus.discuss: Discuss specific issues/senatus.inspire: Automatically identify points of contention and inspire discussion/senatus.dry-run: Dry-run implementation plan, simulate code changes and impacts- All discussion records will be added to the
discuss.mdfile - Record format:
D01 - Date Time, including issue and conclusion
/senatus.plan
# or with additional considerations
/senatus.plan Note to maintain backward compatibility- Generate executable task list based on discussion results and research findings
- Optional: Provide additional considerations or constraints
- Create
plan.mdfile containing numbered task items (T01, T02, T03...) - Each task item has a clear status: β³Pending / πIn Progress / β Completed
# Batch execution (up to 5 tasks)
/senatus.implement- Automatically identify the next task to execute
/senatus.implement: Batch execute up to 5 pending tasks- Generate implementation records for each completed task
- Update status in the task plan
- Can be run repeatedly until all tasks are completed
/senatus.correct Fix session expiration time configuration in user authentication module- Immediately execute issue fixes based on user feedback
- Automatically record the fix process and results
- Add fix entry to discussion records
- Add completed fix task to the task plan
- Generate detailed fix implementation record
# First manually modify code and stage
git add .
# Collect changes and record
/senatus.collect- Read Git staged changes (
git diff --cached) - Automatically analyze the purpose and impact of staged code changes
- Verify whether changes comply with project constitutional constraints
- Automatically generate change description
- Add changes as completed tasks to the task plan
- Generate detailed implementation record
/senatus.summary- Generate complete summary report for the current topic
- Review key technical decisions and discussion results
- Summarize all completed tasks and implementation records
- Analyze project status and remaining issues
- Provide reference for subsequent work
Purpose: Collect user-modified code changes and record them in the framework
Output:
- Updated
plan.md(new completed task added) implementation/[task-number].md(implementation record)
Features:
- Read Git staged changes
- Automatically analyze the purpose and impact of staged changes
- Verify compliance with project constitutional constraints
- Automatically generate change description
Purpose: Create the project's global constraint file
Output: specify/constitution.md
Features:
- Automatically analyze project technology stack
- Generate categorized constraint clauses
- Support version management and history tracking
Purpose: Comprehensively understand project context to prepare for subsequent discussions
Output: None
Features:
- Comprehensively analyze project constitution, topics, research reports, and existing implementation records
- Understand project status based on complete context
- Strictly comply with project constitutional constraints
Purpose: Fix project issues based on user feedback
Parameter: Issue description (required)
Output:
- Updated
discuss.md(new discussion record added) - Updated
plan.md(new completed task added) implementation/[task-number].md(fix record)
Features:
- Precise fixes based on user feedback
- Automatically record fix process and results
- Immediately update discussion and task records
Purpose: Conduct structured discussion on specific issues
Parameter: Discussion content (required)
Output: Add discussion record to discuss.md
Features:
- Discuss based on project research findings
- Strictly comply with project constitutional constraints
- Automatic numbering and timestamp recording
Purpose: Dry-run implementation plan, simulate code changes
Output: Add discussion record to discuss.md
Features:
- Dry-run implementation plan based on research report and discussion results
- Simulate and analyze files and code structures that need to be modified
- Assess implementation complexity, risks, and technical dependencies
- Verify feasibility of technical approach
Purpose: Automatically execute pending tasks in batch
Output:
- Updated
plan.md(status update) implementation/[task-number].md(implementation record)
Features:
- Batch execution (up to 5 tasks)
- Automatically generate implementation documentation
- Intelligent progress tracking
Purpose: Automatically identify points of contention and inspire valuable discussion
Output: Add discussion record to discuss.md
Features:
- Intelligently identify technical decision points
- Discover issues based on project status
- Guide in-depth technical discussion
Purpose: Create a structured discussion topic
Parameter: Topic description (required)
Output: specify/[number]-[topic-name]/discuss.md
Features:
- Automatically generate kebab-case directory name
- Assign incremental three-digit sequence number
- Create standardized documentation based on template
Purpose: Transform discussion results into executable task list
Parameter: Considerations (optional) - Additional constraints or requirements to consider when generating the plan
Output: specify/[current-topic]/plan.md
Features:
- Generate task items based on all discussion records and research reports
- Support user input of additional considerations
- Arranged in execution order
- Support status tracking
- Strictly comply with project constitutional constraints
Purpose: In-depth analysis of project source code, generate research report
Output: specify/[current-topic]/research.md
Analysis Content:
- Technology stack identification
- Code style and architecture patterns
- Related files and directory structure
- Business logic and technical implementation
Purpose: Generate complete summary report for the current topic
Output: None (directly output summary content)
Features:
- Comprehensively analyze discussion records, research reports, task plans, and implementation records
- Summarize key decisions and technical approaches
- Compile completed work and achievements
- Identify remaining issues and improvement opportunities
- Topics: 001, 002, 003... (three-digit incremental)
- Discussions: D01, D02, D03... (D = Discussion)
- Tasks: T01, T02, T03... (T = Task)
- β³Pending: Task has not started yet
- πIn Progress: Task is partially completed, needs to continue
- β Completed: Task is completed
- Topic directory:
[number]-[kebab-case-topic-name]/ - Implementation record:
implementation/T[number].md
# 1. Create project constitution
/senatus.constitution
# 2. Start new topic
/senatus.new-topic Refactor user management module
# 3. Conduct project research
/senatus.research
# 4. Discuss technical approach
/senatus.discuss What architecture pattern should we use to refactor user management?
# 5. Inspire more discussion points
/senatus.inspire
# 6. Dry-run implementation plan
/senatus.dry-run
# 7. Generate task plan
/senatus.plan
# 8. Batch execute tasks (up to 5 tasks at a time)
/senatus.implement
# Can be executed repeatedly until all tasks are completed
/senatus.implement
# 9. Fix issues (if needed)
/senatus.correct Fix configuration issue in user authentication module
# 10. Collect manual changes (if needed)
# Manually modify code...
git add .
/senatus.collect
# 11. Generate topic summary
/senatus.summaryspecify/
βββ constitution.md
βββ knowledge/
β βββ [knowledge-document].md
βββ 001-refactor-user-management/
βββ discuss.md
βββ research.md
βββ plan.md
βββ implementation/
βββ T01.md
βββ T02.md
βββ T03.md
- Always Start with Constitution: Establish clear constraints for each project
- Focus on One Topic at a Time: Avoid handling multiple complex topics simultaneously
- Research Thoroughly Before Discussion: Ensure decisions are based on accurate project understanding
- Record All Points of Contention: Use
/senatus.inspireto discover hidden technical issues - Small Steps, Quick Iterations: Break down large tasks into manageable task items
- Maintain Traceability: Completely preserve all decision processes and implementation records
Senatus Framework is developed and maintained by PaodingSoftware.
Project Repository: https://github.com/PaodingSoftware/senatus
Through Senatus Framework, every technical decision is well-documented, and every implementation is traceable.
